aws-sdk-ec2 1.219.0 → 1.224.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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",
@@ -436,7 +437,7 @@ module Aws::EC2
436
437
  # must be specified here or in a launch template.
437
438
  # @option options [String] :instance_type
438
439
  # The instance type. For more information, see [Instance types][1] in
439
- # the *Amazon Elastic Compute Cloud User Guide*.
440
+ # the *Amazon EC2 User Guide*.
440
441
  #
441
442
  # Default: `m1.small`
442
443
  #
@@ -466,8 +467,8 @@ module Aws::EC2
466
467
  # The ID of the kernel.
467
468
  #
468
469
  # We recommend that you use PV-GRUB instead of kernels and RAM disks.
469
- # For more information, see [ PV-GRUB][1] in the *Amazon Elastic Compute
470
- # Cloud User Guide*.
470
+ # For more information, see [ PV-GRUB][1] in the *Amazon EC2 User
471
+ # Guide*.
471
472
  #
472
473
  #
473
474
  #
@@ -522,8 +523,8 @@ module Aws::EC2
522
523
  # go to the AWS Resource Center and search for the kernel ID.
523
524
  #
524
525
  # We recommend that you use PV-GRUB instead of kernels and RAM disks.
525
- # For more information, see [ PV-GRUB][1] in the *Amazon Elastic Compute
526
- # Cloud User Guide*.
526
+ # For more information, see [ PV-GRUB][1] in the *Amazon EC2 User
527
+ # Guide*.
527
528
  #
528
529
  #
529
530
  #
@@ -628,8 +629,7 @@ module Aws::EC2
628
629
  # An elastic GPU to associate with the instance. An Elastic GPU is a GPU
629
630
  # resource that you can attach to your Windows instance to accelerate
630
631
  # the graphics performance of your applications. For more information,
631
- # see [ Amazon EC2 Elastic GPUs][1] in the *Amazon Elastic Compute Cloud
632
- # User Guide*.
632
+ # see [Amazon EC2 Elastic GPUs][1] in the *Amazon EC2 User Guide*.
633
633
  #
634
634
  #
635
635
  #
@@ -667,7 +667,7 @@ module Aws::EC2
667
667
  # Valid values are `standard` and `unlimited`. To change this attribute
668
668
  # after launch, use [ ModifyInstanceCreditSpecification][1]. For more
669
669
  # information, see [Burstable performance instances][2] in the *Amazon
670
- # Elastic Compute Cloud User Guide*.
670
+ # EC2 User Guide*.
671
671
  #
672
672
  # Default: `standard` (T2 instances) or `unlimited` (T3/T3a instances)
673
673
  #
@@ -677,8 +677,7 @@ module Aws::EC2
677
677
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html
678
678
  # @option options [Types::CpuOptionsRequest] :cpu_options
679
679
  # The CPU options for the instance. For more information, see
680
- # [Optimizing CPU options][1] in the *Amazon Elastic Compute Cloud User
681
- # Guide*.
680
+ # [Optimizing CPU options][1] in the *Amazon EC2 User Guide*.
682
681
  #
683
682
  #
684
683
  #
@@ -691,8 +690,8 @@ module Aws::EC2
691
690
  # platform, Availability Zone).
692
691
  # @option options [Types::HibernationOptionsRequest] :hibernation_options
693
692
  # Indicates whether an instance is enabled for hibernation. For more
694
- # information, see [Hibernate your instance][1] in the *Amazon Elastic
695
- # Compute Cloud User Guide*.
693
+ # information, see [Hibernate your instance][1] in the *Amazon EC2 User
694
+ # Guide*.
696
695
  #
697
696
  # You can't enable hibernation and AWS Nitro Enclaves on the same
698
697
  # instance.
@@ -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
  #
@@ -519,6 +548,17 @@ module Aws::EC2
519
548
  # network_border_group: "String",
520
549
  # customer_owned_ipv_4_pool: "String",
521
550
  # dry_run: false,
551
+ # tag_specifications: [
552
+ # {
553
+ # 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
554
+ # tags: [
555
+ # {
556
+ # key: "String",
557
+ # value: "String",
558
+ # },
559
+ # ],
560
+ # },
561
+ # ],
522
562
  # }
523
563
  #
524
564
  # @!attribute [rw] domain
@@ -576,6 +616,10 @@ module Aws::EC2
576
616
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
577
617
  # @return [Boolean]
578
618
  #
619
+ # @!attribute [rw] tag_specifications
620
+ # The tags to assign to the Elastic IP address.
621
+ # @return [Array<Types::TagSpecification>]
622
+ #
579
623
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressRequest AWS API Documentation
580
624
  #
581
625
  class AllocateAddressRequest < Struct.new(
@@ -584,7 +628,8 @@ module Aws::EC2
584
628
  :public_ipv_4_pool,
585
629
  :network_border_group,
586
630
  :customer_owned_ipv_4_pool,
587
- :dry_run)
631
+ :dry_run,
632
+ :tag_specifications)
588
633
  SENSITIVE = []
589
634
  include Aws::Structure
590
635
  end
@@ -669,8 +714,8 @@ module Aws::EC2
669
714
  # Indicates whether the host accepts any untargeted instance launches
670
715
  # that match its instance type configuration, or if it only accepts
671
716
  # Host tenancy instance launches that specify its unique host ID. For
672
- # more information, see [ Understanding Instance Placement and Host
673
- # Affinity][1] in the *Amazon EC2 User Guide for Linux Instances*.
717
+ # more information, see [ Understanding auto-placement and
718
+ # affinity][1] in the *Amazon EC2 User Guide*.
674
719
  #
675
720
  # Default: `on`
676
721
  #
@@ -685,7 +730,7 @@ module Aws::EC2
685
730
  #
686
731
  # @!attribute [rw] client_token
687
732
  # Unique, case-sensitive identifier that you provide to ensure the
688
- # idempotency of the request. For more information, see [How to Ensure
733
+ # idempotency of the request. For more information, see [Ensuring
689
734
  # Idempotency][1].
690
735
  #
691
736
  #
@@ -727,8 +772,7 @@ module Aws::EC2
727
772
  # @!attribute [rw] host_recovery
728
773
  # Indicates whether to enable or disable host recovery for the
729
774
  # Dedicated Host. Host recovery is disabled by default. For more
730
- # information, see [ Host Recovery][1] in the *Amazon Elastic Compute
731
- # Cloud User Guide*.
775
+ # information, see [ Host recovery][1] in the *Amazon EC2 User Guide*.
732
776
  #
733
777
  # Default: `off`
734
778
  #
@@ -2733,6 +2777,7 @@ module Aws::EC2
2733
2777
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
2734
2778
  # kms_key_id: "String",
2735
2779
  # throughput: 1,
2780
+ # outpost_arn: "String",
2736
2781
  # encrypted: false,
2737
2782
  # },
2738
2783
  # no_device: "String",
@@ -2766,8 +2811,8 @@ module Aws::EC2
2766
2811
  # @return [Types::EbsBlockDevice]
2767
2812
  #
2768
2813
  # @!attribute [rw] no_device
2769
- # Suppresses the specified device included in the block device mapping
2770
- # of the AMI.
2814
+ # To omit the device from the block device mapping, specify an empty
2815
+ # string.
2771
2816
  # @return [String]
2772
2817
  #
2773
2818
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlockDeviceMapping AWS API Documentation
@@ -3438,8 +3483,8 @@ module Aws::EC2
3438
3483
  # date and time specified in your request. The reserved capacity is
3439
3484
  # no longer available for your use.
3440
3485
  #
3441
- # * `cancelled` - The Capacity Reservation was manually cancelled. The
3442
- # reserved capacity is no longer available for your use.
3486
+ # * `cancelled` - The Capacity Reservation was cancelled. The reserved
3487
+ # capacity is no longer available for your use.
3443
3488
  #
3444
3489
  # * `pending` - The Capacity Reservation request was successful but
3445
3490
  # the capacity provisioning is still pending.
@@ -3450,6 +3495,10 @@ module Aws::EC2
3450
3495
  # retained for 60 minutes.
3451
3496
  # @return [String]
3452
3497
  #
3498
+ # @!attribute [rw] start_date
3499
+ # The date and time at which the Capacity Reservation was started.
3500
+ # @return [Time]
3501
+ #
3453
3502
  # @!attribute [rw] end_date
3454
3503
  # The date and time at which the Capacity Reservation expires. When a
3455
3504
  # Capacity Reservation expires, the reserved capacity is released and
@@ -3510,6 +3559,7 @@ module Aws::EC2
3510
3559
  :ebs_optimized,
3511
3560
  :ephemeral_storage,
3512
3561
  :state,
3562
+ :start_date,
3513
3563
  :end_date,
3514
3564
  :end_date_type,
3515
3565
  :instance_match_criteria,
@@ -3547,10 +3597,9 @@ module Aws::EC2
3547
3597
  # </note>
3548
3598
  #
3549
3599
  # For more information about Capacity Reservations, see [On-Demand
3550
- # Capacity Reservations][1] in the *Amazon Elastic Compute Cloud User
3551
- # Guide*. For examples of using Capacity Reservations in an EC2 Fleet,
3552
- # see [EC2 Fleet example configurations][2] in the *Amazon Elastic
3553
- # Compute Cloud User Guide*.
3600
+ # Capacity Reservations][1] in the *Amazon EC2 User Guide*. For examples
3601
+ # of using Capacity Reservations in an EC2 Fleet, see [EC2 Fleet example
3602
+ # configurations][2] in the *Amazon EC2 User Guide*.
3554
3603
  #
3555
3604
  #
3556
3605
  #
@@ -3591,10 +3640,9 @@ module Aws::EC2
3591
3640
  # </note>
3592
3641
  #
3593
3642
  # For more information about Capacity Reservations, see [On-Demand
3594
- # Capacity Reservations][1] in the *Amazon Elastic Compute Cloud User
3595
- # Guide*. For examples of using Capacity Reservations in an EC2 Fleet,
3596
- # see [EC2 Fleet example configurations][2] in the *Amazon Elastic
3597
- # Compute Cloud User Guide*.
3643
+ # Capacity Reservations][1] in the *Amazon EC2 User Guide*. For examples
3644
+ # of using Capacity Reservations in an EC2 Fleet, see [EC2 Fleet example
3645
+ # configurations][2] in the *Amazon EC2 User Guide*.
3598
3646
  #
3599
3647
  #
3600
3648
  #
@@ -4919,6 +4967,7 @@ module Aws::EC2
4919
4967
  # name: "String", # required
4920
4968
  # source_image_id: "String", # required
4921
4969
  # source_region: "String", # required
4970
+ # destination_outpost_arn: "String",
4922
4971
  # dry_run: false,
4923
4972
  # }
4924
4973
  #
@@ -4990,6 +5039,21 @@ module Aws::EC2
4990
5039
  # The name of the Region that contains the AMI to copy.
4991
5040
  # @return [String]
4992
5041
  #
5042
+ # @!attribute [rw] destination_outpost_arn
5043
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
5044
+ # AMI. Only specify this parameter when copying an AMI from an AWS
5045
+ # Region to an Outpost. The AMI must be in the Region of the
5046
+ # destination Outpost. You cannot copy an AMI from an Outpost to a
5047
+ # Region, from one Outpost to another, or within the same Outpost.
5048
+ #
5049
+ # For more information, see [ Copying AMIs from an AWS Region to an
5050
+ # Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
5051
+ #
5052
+ #
5053
+ #
5054
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-amis
5055
+ # @return [String]
5056
+ #
4993
5057
  # @!attribute [rw] dry_run
4994
5058
  # Checks whether you have the required permissions for the action,
4995
5059
  # without actually making the request, and provides an error response.
@@ -5007,6 +5071,7 @@ module Aws::EC2
5007
5071
  :name,
5008
5072
  :source_image_id,
5009
5073
  :source_region,
5074
+ :destination_outpost_arn,
5010
5075
  :dry_run)
5011
5076
  SENSITIVE = []
5012
5077
  include Aws::Structure
@@ -5031,6 +5096,7 @@ module Aws::EC2
5031
5096
  #
5032
5097
  # {
5033
5098
  # description: "String",
5099
+ # destination_outpost_arn: "String",
5034
5100
  # destination_region: "String",
5035
5101
  # encrypted: false,
5036
5102
  # kms_key_id: "KmsKeyId",
@@ -5055,6 +5121,22 @@ module Aws::EC2
5055
5121
  # A description for the EBS snapshot.
5056
5122
  # @return [String]
5057
5123
  #
5124
+ # @!attribute [rw] destination_outpost_arn
5125
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
5126
+ # snapshot. Only specify this parameter when copying a snapshot from
5127
+ # an AWS Region to an Outpost. The snapshot must be in the Region for
5128
+ # the destination Outpost. You cannot copy a snapshot from an Outpost
5129
+ # to a Region, from one Outpost to another, or within the same
5130
+ # Outpost.
5131
+ #
5132
+ # For more information, see [ Copying snapshots from an AWS Region to
5133
+ # an Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
5134
+ #
5135
+ #
5136
+ #
5137
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-snapshots
5138
+ # @return [String]
5139
+ #
5058
5140
  # @!attribute [rw] destination_region
5059
5141
  # The destination Region to use in the `PresignedUrl` parameter of a
5060
5142
  # snapshot copy operation. This parameter is only valid for specifying
@@ -5151,6 +5233,7 @@ module Aws::EC2
5151
5233
  #
5152
5234
  class CopySnapshotRequest < Struct.new(
5153
5235
  :description,
5236
+ :destination_outpost_arn,
5154
5237
  :destination_region,
5155
5238
  :encrypted,
5156
5239
  :kms_key_id,
@@ -5261,7 +5344,7 @@ module Aws::EC2
5261
5344
  #
5262
5345
  # @!attribute [rw] client_token
5263
5346
  # Unique, case-sensitive identifier that you provide to ensure the
5264
- # idempotency of the request. For more information, see [How to Ensure
5347
+ # idempotency of the request. For more information, see [Ensure
5265
5348
  # Idempotency][1].
5266
5349
  #
5267
5350
  #
@@ -5271,8 +5354,7 @@ module Aws::EC2
5271
5354
  #
5272
5355
  # @!attribute [rw] instance_type
5273
5356
  # The instance type for which to reserve capacity. For more
5274
- # information, see [Instance Types][1] in the *Amazon Elastic Compute
5275
- # Cloud User Guide*.
5357
+ # information, see [Instance types][1] in the *Amazon EC2 User Guide*.
5276
5358
  #
5277
5359
  #
5278
5360
  #
@@ -6313,7 +6395,7 @@ module Aws::EC2
6313
6395
  # @!attribute [rw] type
6314
6396
  # The type of request. The default value is `maintain`.
6315
6397
  #
6316
- # * `maintain` - The EC2 Fleet plaees an asynchronous request for your
6398
+ # * `maintain` - The EC2 Fleet places an asynchronous request for your
6317
6399
  # desired capacity, and continues to maintain your desired Spot
6318
6400
  # capacity by replenishing interrupted Spot Instances.
6319
6401
  #
@@ -6327,7 +6409,7 @@ module Aws::EC2
6327
6409
  # that could not be launched.
6328
6410
  #
6329
6411
  # For more information, see [EC2 Fleet request types][1] in the
6330
- # *Amazon Elastic Compute Cloud User Guide*.
6412
+ # *Amazon EC2 User Guide*.
6331
6413
  #
6332
6414
  #
6333
6415
  #
@@ -6348,7 +6430,13 @@ module Aws::EC2
6348
6430
  # @return [Time]
6349
6431
  #
6350
6432
  # @!attribute [rw] replace_unhealthy_instances
6351
- # Indicates whether EC2 Fleet should replace unhealthy instances.
6433
+ # Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
6434
+ # Supported only for fleets of type `maintain`. For more information,
6435
+ # see [EC2 Fleet health checks][1] in the *Amazon EC2 User Guide*.
6436
+ #
6437
+ #
6438
+ #
6439
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks
6352
6440
  # @return [Boolean]
6353
6441
  #
6354
6442
  # @!attribute [rw] tag_specifications
@@ -6714,6 +6802,7 @@ module Aws::EC2
6714
6802
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
6715
6803
  # kms_key_id: "String",
6716
6804
  # throughput: 1,
6805
+ # outpost_arn: "String",
6717
6806
  # encrypted: false,
6718
6807
  # },
6719
6808
  # no_device: "String",
@@ -8634,6 +8723,7 @@ module Aws::EC2
8634
8723
  #
8635
8724
  # {
8636
8725
  # description: "String",
8726
+ # outpost_arn: "String",
8637
8727
  # volume_id: "VolumeId", # required
8638
8728
  # tag_specifications: [
8639
8729
  # {
@@ -8653,6 +8743,30 @@ module Aws::EC2
8653
8743
  # A description for the snapshot.
8654
8744
  # @return [String]
8655
8745
  #
8746
+ # @!attribute [rw] outpost_arn
8747
+ # The Amazon Resource Name (ARN) of the AWS Outpost on which to create
8748
+ # a local snapshot.
8749
+ #
8750
+ # * To create a snapshot of a volume in a Region, omit this parameter.
8751
+ # The snapshot is created in the same Region as the volume.
8752
+ #
8753
+ # * To create a snapshot of a volume on an Outpost and store the
8754
+ # snapshot in the Region, omit this parameter. The snapshot is
8755
+ # created in the Region for the Outpost.
8756
+ #
8757
+ # * To create a snapshot of a volume on an Outpost and store the
8758
+ # snapshot on an Outpost, specify the ARN of the destination
8759
+ # Outpost. The snapshot must be created on the same Outpost as the
8760
+ # volume.
8761
+ #
8762
+ # For more information, see [ Creating local snapshots from volumes on
8763
+ # an Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
8764
+ #
8765
+ #
8766
+ #
8767
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-snapshot
8768
+ # @return [String]
8769
+ #
8656
8770
  # @!attribute [rw] volume_id
8657
8771
  # The ID of the EBS volume.
8658
8772
  # @return [String]
@@ -8672,6 +8786,7 @@ module Aws::EC2
8672
8786
  #
8673
8787
  class CreateSnapshotRequest < Struct.new(
8674
8788
  :description,
8789
+ :outpost_arn,
8675
8790
  :volume_id,
8676
8791
  :tag_specifications,
8677
8792
  :dry_run)
@@ -8688,6 +8803,7 @@ module Aws::EC2
8688
8803
  # instance_id: "InstanceId",
8689
8804
  # exclude_boot_volume: false,
8690
8805
  # },
8806
+ # outpost_arn: "String",
8691
8807
  # tag_specifications: [
8692
8808
  # {
8693
8809
  # 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
@@ -8713,6 +8829,32 @@ module Aws::EC2
8713
8829
  # snapshots.
8714
8830
  # @return [Types::InstanceSpecification]
8715
8831
  #
8832
+ # @!attribute [rw] outpost_arn
8833
+ # The Amazon Resource Name (ARN) of the AWS Outpost on which to create
8834
+ # the local snapshots.
8835
+ #
8836
+ # * To create snapshots from an instance in a Region, omit this
8837
+ # parameter. The snapshots are created in the same Region as the
8838
+ # instance.
8839
+ #
8840
+ # * To create snapshots from an instance on an Outpost and store the
8841
+ # snapshots in the Region, omit this parameter. The snapshots are
8842
+ # created in the Region for the Outpost.
8843
+ #
8844
+ # * To create snapshots from an instance on an Outpost and store the
8845
+ # snapshots on an Outpost, specify the ARN of the destination
8846
+ # Outpost. The snapshots must be created on the same Outpost as the
8847
+ # instance.
8848
+ #
8849
+ # For more information, see [ Creating multi-volume local snapshots
8850
+ # from instances on an Outpost][1] in the *Amazon Elastic Compute
8851
+ # Cloud User Guide*.
8852
+ #
8853
+ #
8854
+ #
8855
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-multivol-snapshot
8856
+ # @return [String]
8857
+ #
8716
8858
  # @!attribute [rw] tag_specifications
8717
8859
  # Tags to apply to every snapshot specified by the instance.
8718
8860
  # @return [Array<Types::TagSpecification>]
@@ -8733,6 +8875,7 @@ module Aws::EC2
8733
8875
  class CreateSnapshotsRequest < Struct.new(
8734
8876
  :description,
8735
8877
  :instance_specification,
8878
+ :outpost_arn,
8736
8879
  :tag_specifications,
8737
8880
  :dry_run,
8738
8881
  :copy_tags_from_source)
@@ -10568,7 +10711,9 @@ module Aws::EC2
10568
10711
  # attributes to `true`\: `enableDnsHostnames` and `enableDnsSupport`.
10569
10712
  # Use ModifyVpcAttribute to set the VPC attributes.
10570
10713
  #
10571
- # Default: `true`
10714
+ # Private DNS is not supported for Amazon S3 interface endpoints.
10715
+ #
10716
+ # Default: `true` for supported endpoints
10572
10717
  # @return [Boolean]
10573
10718
  #
10574
10719
  # @!attribute [rw] tag_specifications
@@ -13768,6 +13913,72 @@ module Aws::EC2
13768
13913
  include Aws::Structure
13769
13914
  end
13770
13915
 
13916
+ # @note When making an API call, you may pass DescribeAddressesAttributeRequest
13917
+ # data as a hash:
13918
+ #
13919
+ # {
13920
+ # allocation_ids: ["AllocationId"],
13921
+ # attribute: "domain-name", # accepts domain-name
13922
+ # next_token: "NextToken",
13923
+ # max_results: 1,
13924
+ # dry_run: false,
13925
+ # }
13926
+ #
13927
+ # @!attribute [rw] allocation_ids
13928
+ # \[EC2-VPC\] The allocation IDs.
13929
+ # @return [Array<String>]
13930
+ #
13931
+ # @!attribute [rw] attribute
13932
+ # The attribute of the IP address.
13933
+ # @return [String]
13934
+ #
13935
+ # @!attribute [rw] next_token
13936
+ # The token for the next page of results.
13937
+ # @return [String]
13938
+ #
13939
+ # @!attribute [rw] max_results
13940
+ # The maximum number of results to return with a single call. To
13941
+ # retrieve the remaining results, make another call with the returned
13942
+ # `nextToken` value.
13943
+ # @return [Integer]
13944
+ #
13945
+ # @!attribute [rw] dry_run
13946
+ # Checks whether you have the required permissions for the action,
13947
+ # without actually making the request, and provides an error response.
13948
+ # If you have the required permissions, the error response is
13949
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
13950
+ # @return [Boolean]
13951
+ #
13952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttributeRequest AWS API Documentation
13953
+ #
13954
+ class DescribeAddressesAttributeRequest < Struct.new(
13955
+ :allocation_ids,
13956
+ :attribute,
13957
+ :next_token,
13958
+ :max_results,
13959
+ :dry_run)
13960
+ SENSITIVE = []
13961
+ include Aws::Structure
13962
+ end
13963
+
13964
+ # @!attribute [rw] addresses
13965
+ # Information about the IP addresses.
13966
+ # @return [Array<Types::AddressAttribute>]
13967
+ #
13968
+ # @!attribute [rw] next_token
13969
+ # The token to use to retrieve the next page of results. This value is
13970
+ # `null` when there are no more results to return.
13971
+ # @return [String]
13972
+ #
13973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttributeResult AWS API Documentation
13974
+ #
13975
+ class DescribeAddressesAttributeResult < Struct.new(
13976
+ :addresses,
13977
+ :next_token)
13978
+ SENSITIVE = []
13979
+ include Aws::Structure
13980
+ end
13981
+
13771
13982
  # @note When making an API call, you may pass DescribeAddressesRequest
13772
13983
  # data as a hash:
13773
13984
  #
@@ -14211,8 +14422,8 @@ module Aws::EC2
14211
14422
  # the date and time specified in your request. The reserved
14212
14423
  # capacity is no longer available for your use.
14213
14424
  #
14214
- # * `cancelled` - The Capacity Reservation was manually cancelled.
14215
- # The reserved capacity is no longer available for your use.
14425
+ # * `cancelled` - The Capacity Reservation was cancelled. The
14426
+ # reserved capacity is no longer available for your use.
14216
14427
  #
14217
14428
  # * `pending` - The Capacity Reservation request was successful but
14218
14429
  # the capacity provisioning is still pending.
@@ -16733,13 +16944,14 @@ module Aws::EC2
16733
16944
  #
16734
16945
  # * `name` - The name of the AMI (provided during image creation).
16735
16946
  #
16736
- # * `owner-alias` - The owner alias, from an Amazon-maintained list
16737
- # (`amazon` \| `aws-marketplace`). This is not the user-configured
16738
- # AWS account alias set using the IAM console. We recommend that you
16739
- # use the related parameter instead of this filter.
16947
+ # * `owner-alias` - The owner alias (`amazon` \| `aws-marketplace`).
16948
+ # The valid aliases are defined in an Amazon-maintained list. This
16949
+ # is not the AWS account alias that can be set using the IAM
16950
+ # console. We recommend that you use the **Owner** request parameter
16951
+ # instead of this filter.
16740
16952
  #
16741
16953
  # * `owner-id` - The AWS account ID of the owner. We recommend that
16742
- # you use the related parameter instead of this filter.
16954
+ # you use the **Owner** request parameter instead of this filter.
16743
16955
  #
16744
16956
  # * `platform` - The platform. To only list Windows-based AMIs, use
16745
16957
  # `windows`.
@@ -17354,8 +17566,8 @@ module Aws::EC2
17354
17566
  # @return [Boolean]
17355
17567
  #
17356
17568
  # @!attribute [rw] instance_types
17357
- # The instance types. For more information, see [Instance Types][1] in
17358
- # the *Amazon Elastic Compute Cloud User Guide*.
17569
+ # The instance types. For more information, see [Instance types][1] in
17570
+ # the *Amazon EC2 User Guide*.
17359
17571
  #
17360
17572
  #
17361
17573
  #
@@ -17519,8 +17731,8 @@ module Aws::EC2
17519
17731
  end
17520
17732
 
17521
17733
  # @!attribute [rw] instance_types
17522
- # The instance type. For more information, see [Instance Types][1] in
17523
- # the *Amazon Elastic Compute Cloud User Guide*.
17734
+ # The instance type. For more information, see [Instance types][1] in
17735
+ # the *Amazon EC2 User Guide*.
17524
17736
  #
17525
17737
  #
17526
17738
  #
@@ -20339,8 +20551,8 @@ module Aws::EC2
20339
20551
  #
20340
20552
  # @!attribute [rw] instance_type
20341
20553
  # The instance type that the reservation will cover (for example,
20342
- # `m1.small`). For more information, see [Instance Types][1] in the
20343
- # *Amazon Elastic Compute Cloud User Guide*.
20554
+ # `m1.small`). For more information, see [Instance types][1] in the
20555
+ # *Amazon EC2 User Guide*.
20344
20556
  #
20345
20557
  #
20346
20558
  #
@@ -25990,13 +26202,14 @@ module Aws::EC2
25990
26202
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
25991
26203
  # kms_key_id: "String",
25992
26204
  # throughput: 1,
26205
+ # outpost_arn: "String",
25993
26206
  # encrypted: false,
25994
26207
  # }
25995
26208
  #
25996
26209
  # @!attribute [rw] delete_on_termination
25997
26210
  # Indicates whether the EBS volume is deleted on instance termination.
25998
26211
  # For more information, see [Preserving Amazon EBS volumes on instance
25999
- # termination][1] in the Amazon Elastic Compute Cloud User Guide.
26212
+ # termination][1] in the *Amazon EC2 User Guide*.
26000
26213
  #
26001
26214
  #
26002
26215
  #
@@ -26047,18 +26260,15 @@ module Aws::EC2
26047
26260
  #
26048
26261
  # * `io1` and `io2`\: 4-16,384
26049
26262
  #
26050
- # * `st1`\: 500-16,384
26051
- #
26052
- # * `sc1`\: 500-16,384
26263
+ # * `st1` and `sc1`\: 125-16,384
26053
26264
  #
26054
26265
  # * `standard`\: 1-1,024
26055
26266
  # @return [Integer]
26056
26267
  #
26057
26268
  # @!attribute [rw] volume_type
26058
26269
  # The volume type. For more information, see [Amazon EBS volume
26059
- # types][1] in the *Amazon Elastic Compute Cloud User Guide*. If the
26060
- # volume type is `io1` or `io2`, you must specify the IOPS that the
26061
- # volume supports.
26270
+ # types][1] in the *Amazon EC2 User Guide*. If the volume type is
26271
+ # `io1` or `io2`, you must specify the IOPS that the volume supports.
26062
26272
  #
26063
26273
  #
26064
26274
  #
@@ -26088,13 +26298,17 @@ module Aws::EC2
26088
26298
  # Valid Range: Minimum value of 125. Maximum value of 1000.
26089
26299
  # @return [Integer]
26090
26300
  #
26301
+ # @!attribute [rw] outpost_arn
26302
+ # The ARN of the Outpost on which the snapshot is stored.
26303
+ # @return [String]
26304
+ #
26091
26305
  # @!attribute [rw] encrypted
26092
26306
  # Indicates whether the encryption state of an EBS volume is changed
26093
26307
  # while being restored from a backing snapshot. The effect of setting
26094
26308
  # the encryption state to `true` depends on the volume origin (new or
26095
26309
  # from a snapshot), starting encryption state, ownership, and whether
26096
26310
  # encryption by default is enabled. For more information, see [Amazon
26097
- # EBS Encryption][1] in the *Amazon Elastic Compute Cloud User Guide*.
26311
+ # EBS encryption][1] in the *Amazon EC2 User Guide*.
26098
26312
  #
26099
26313
  # In no case can you remove encryption from an encrypted volume.
26100
26314
  #
@@ -26120,6 +26334,7 @@ module Aws::EC2
26120
26334
  :volume_type,
26121
26335
  :kms_key_id,
26122
26336
  :throughput,
26337
+ :outpost_arn,
26123
26338
  :encrypted)
26124
26339
  SENSITIVE = []
26125
26340
  include Aws::Structure
@@ -26129,8 +26344,8 @@ module Aws::EC2
26129
26344
  #
26130
26345
  # @!attribute [rw] ebs_optimized_support
26131
26346
  # Indicates whether the instance type is Amazon EBS-optimized. For
26132
- # more information, see [Amazon EBS-Optimized Instances][1] in *Amazon
26133
- # EC2 User Guide for Linux Instances*.
26347
+ # more information, see [Amazon EBS-optimized instances][1] in *Amazon
26348
+ # EC2 User Guide*.
26134
26349
  #
26135
26350
  #
26136
26351
  #
@@ -28020,7 +28235,13 @@ module Aws::EC2
28020
28235
  # @return [Time]
28021
28236
  #
28022
28237
  # @!attribute [rw] replace_unhealthy_instances
28023
- # Indicates whether EC2 Fleet should replace unhealthy instances.
28238
+ # Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
28239
+ # Supported only for fleets of type `maintain`. For more information,
28240
+ # see [EC2 Fleet health checks][1] in the *Amazon EC2 User Guide*.
28241
+ #
28242
+ #
28243
+ #
28244
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks
28024
28245
  # @return [Boolean]
28025
28246
  #
28026
28247
  # @!attribute [rw] spot_options
@@ -28324,8 +28545,7 @@ module Aws::EC2
28324
28545
  # Describes the Amazon EC2 launch template and the launch template
28325
28546
  # version that can be used by an EC2 Fleet to configure Amazon EC2
28326
28547
  # instances. For information about launch templates, see [Launching an
28327
- # instance from a launch template][1] in the *Amazon Elastic Compute
28328
- # Cloud User Guide*.
28548
+ # instance from a launch template][1] in the *Amazon EC2 User Guide*.
28329
28549
  #
28330
28550
  #
28331
28551
  #
@@ -28399,7 +28619,7 @@ module Aws::EC2
28399
28619
  # The Spot Instance replacement strategy to use when Amazon EC2 emits a
28400
28620
  # signal that your Spot Instance is at an elevated risk of being
28401
28621
  # interrupted. For more information, see [Capacity rebalancing][1] in
28402
- # the *Amazon Elastic Compute Cloud User Guide*.
28622
+ # the *Amazon EC2 User Guide*.
28403
28623
  #
28404
28624
  #
28405
28625
  #
@@ -28973,8 +29193,8 @@ module Aws::EC2
28973
29193
  # date and time specified in your request. The reserved capacity is
28974
29194
  # no longer available for your use.
28975
29195
  #
28976
- # * `cancelled` - The Capacity Reservation was manually cancelled. The
28977
- # reserved capacity is no longer available for your use.
29196
+ # * `cancelled` - The Capacity Reservation was cancelled. The reserved
29197
+ # capacity is no longer available for your use.
28978
29198
  #
28979
29199
  # * `pending` - The Capacity Reservation request was successful but
28980
29200
  # the capacity provisioning is still pending.
@@ -30251,7 +30471,7 @@ module Aws::EC2
30251
30471
  # Indicates whether your instance is configured for hibernation. This
30252
30472
  # parameter is valid only if the instance meets the [hibernation
30253
30473
  # prerequisites][1]. For more information, see [Hibernate your
30254
- # instance][2] in the *Amazon Elastic Compute Cloud User Guide*.
30474
+ # instance][2] in the *Amazon EC2 User Guide*.
30255
30475
  #
30256
30476
  #
30257
30477
  #
@@ -30274,7 +30494,7 @@ module Aws::EC2
30274
30494
  # Indicates whether your instance is configured for hibernation. This
30275
30495
  # parameter is valid only if the instance meets the [hibernation
30276
30496
  # prerequisites][1]. For more information, see [Hibernate your
30277
- # instance][2] in the *Amazon Elastic Compute Cloud User Guide*.
30497
+ # instance][2] in the *Amazon EC2 User Guide*.
30278
30498
  #
30279
30499
  #
30280
30500
  #
@@ -30378,7 +30598,7 @@ module Aws::EC2
30378
30598
  #
30379
30599
  # @!attribute [rw] client_token
30380
30600
  # Unique, case-sensitive identifier that you provide to ensure the
30381
- # idempotency of the request. For more information, see [How to Ensure
30601
+ # idempotency of the request. For more information, see [Ensuring
30382
30602
  # Idempotency][1].
30383
30603
  #
30384
30604
  #
@@ -30428,10 +30648,10 @@ module Aws::EC2
30428
30648
  #
30429
30649
  # @!attribute [rw] allows_multiple_instance_types
30430
30650
  # Indicates whether the Dedicated Host supports multiple instance
30431
- # types of the same instance family, or a specific instance type only.
30432
- # `one` indicates that the Dedicated Host supports multiple instance
30433
- # types in the instance family. `off` indicates that the Dedicated
30434
- # Host supports a single instance type only.
30651
+ # types of the same instance family. If the value is `on`, the
30652
+ # Dedicated Host supports multiple instance types in the instance
30653
+ # family. If the value is `off`, the Dedicated Host supports a single
30654
+ # instance type only.
30435
30655
  # @return [String]
30436
30656
  #
30437
30657
  # @!attribute [rw] owner_id
@@ -32419,7 +32639,7 @@ module Aws::EC2
32419
32639
  # the instance. A value of `true` means that checking is enabled, and
32420
32640
  # `false` means that checking is disabled. The value must be `false`
32421
32641
  # for the instance to perform NAT. For more information, see [NAT
32422
- # Instances][1] in the *Amazon Virtual Private Cloud User Guide*.
32642
+ # instances][1] in the *Amazon VPC User Guide*.
32423
32643
  #
32424
32644
  #
32425
32645
  #
@@ -33701,8 +33921,8 @@ module Aws::EC2
33701
33921
  # Describes the instance type.
33702
33922
  #
33703
33923
  # @!attribute [rw] instance_type
33704
- # The instance type. For more information, see [Instance Types][1] in
33705
- # the *Amazon Elastic Compute Cloud User Guide*.
33924
+ # The instance type. For more information, see [Instance types][1] in
33925
+ # the *Amazon EC2 User Guide*.
33706
33926
  #
33707
33927
  #
33708
33928
  #
@@ -33833,8 +34053,8 @@ module Aws::EC2
33833
34053
  # The instance types offered.
33834
34054
  #
33835
34055
  # @!attribute [rw] instance_type
33836
- # The instance type. For more information, see [Instance Types][1] in
33837
- # the *Amazon Elastic Compute Cloud User Guide*.
34056
+ # The instance type. For more information, see [Instance types][1] in
34057
+ # the *Amazon EC2 User Guide*.
33838
34058
  #
33839
34059
  #
33840
34060
  #
@@ -34262,6 +34482,9 @@ module Aws::EC2
34262
34482
  #
34263
34483
  # @!attribute [rw] user_id
34264
34484
  # The AWS account ID.
34485
+ #
34486
+ # Constraints: Up to 10 000 account IDs can be specified in a single
34487
+ # request.
34265
34488
  # @return [String]
34266
34489
  #
34267
34490
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermission AWS API Documentation
@@ -36534,6 +36757,52 @@ module Aws::EC2
36534
36757
  include Aws::Structure
36535
36758
  end
36536
36759
 
36760
+ # @note When making an API call, you may pass ModifyAddressAttributeRequest
36761
+ # data as a hash:
36762
+ #
36763
+ # {
36764
+ # allocation_id: "AllocationId", # required
36765
+ # domain_name: "String",
36766
+ # dry_run: false,
36767
+ # }
36768
+ #
36769
+ # @!attribute [rw] allocation_id
36770
+ # \[EC2-VPC\] The allocation ID.
36771
+ # @return [String]
36772
+ #
36773
+ # @!attribute [rw] domain_name
36774
+ # The domain name to modify for the IP address.
36775
+ # @return [String]
36776
+ #
36777
+ # @!attribute [rw] dry_run
36778
+ # Checks whether you have the required permissions for the action,
36779
+ # without actually making the request, and provides an error response.
36780
+ # If you have the required permissions, the error response is
36781
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
36782
+ # @return [Boolean]
36783
+ #
36784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttributeRequest AWS API Documentation
36785
+ #
36786
+ class ModifyAddressAttributeRequest < Struct.new(
36787
+ :allocation_id,
36788
+ :domain_name,
36789
+ :dry_run)
36790
+ SENSITIVE = []
36791
+ include Aws::Structure
36792
+ end
36793
+
36794
+ # @!attribute [rw] address
36795
+ # Information about the Elastic IP address.
36796
+ # @return [Types::AddressAttribute]
36797
+ #
36798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttributeResult AWS API Documentation
36799
+ #
36800
+ class ModifyAddressAttributeResult < Struct.new(
36801
+ :address)
36802
+ SENSITIVE = []
36803
+ include Aws::Structure
36804
+ end
36805
+
36537
36806
  # @note When making an API call, you may pass ModifyAvailabilityZoneGroupRequest
36538
36807
  # data as a hash:
36539
36808
  #
@@ -36596,6 +36865,7 @@ module Aws::EC2
36596
36865
  # instance_count: 1,
36597
36866
  # end_date: Time.now,
36598
36867
  # end_date_type: "unlimited", # accepts unlimited, limited
36868
+ # accept: false,
36599
36869
  # dry_run: false,
36600
36870
  # }
36601
36871
  #
@@ -36636,6 +36906,11 @@ module Aws::EC2
36636
36906
  # `EndDateType` is `limited`.
36637
36907
  # @return [String]
36638
36908
  #
36909
+ # @!attribute [rw] accept
36910
+ # Reserved. Capacity Reservations you have created are accepted by
36911
+ # default.
36912
+ # @return [Boolean]
36913
+ #
36639
36914
  # @!attribute [rw] dry_run
36640
36915
  # Checks whether you have the required permissions for the action,
36641
36916
  # without actually making the request, and provides an error response.
@@ -36650,6 +36925,7 @@ module Aws::EC2
36650
36925
  :instance_count,
36651
36926
  :end_date,
36652
36927
  :end_date_type,
36928
+ :accept,
36653
36929
  :dry_run)
36654
36930
  SENSITIVE = []
36655
36931
  include Aws::Structure
@@ -37138,8 +37414,8 @@ module Aws::EC2
37138
37414
  #
37139
37415
  # @!attribute [rw] host_recovery
37140
37416
  # Indicates whether to enable or disable host recovery for the
37141
- # Dedicated Host. For more information, see [ Host Recovery][1] in the
37142
- # *Amazon Elastic Compute Cloud User Guide*.
37417
+ # Dedicated Host. For more information, see [ Host recovery][1] in the
37418
+ # *Amazon EC2 User Guide*.
37143
37419
  #
37144
37420
  #
37145
37421
  #
@@ -37442,7 +37718,7 @@ module Aws::EC2
37442
37718
  # To add instance store volumes to an Amazon EBS-backed instance, you
37443
37719
  # must add them when you launch the instance. For more information,
37444
37720
  # see [Updating the block device mapping when launching an
37445
- # instance][1] in the *Amazon Elastic Compute Cloud User Guide*.
37721
+ # instance][1] in the *Amazon EC2 User Guide*.
37446
37722
  #
37447
37723
  #
37448
37724
  #
@@ -37498,8 +37774,9 @@ module Aws::EC2
37498
37774
  #
37499
37775
  # @!attribute [rw] instance_type
37500
37776
  # Changes the instance type to the specified value. For more
37501
- # information, see [Instance types][1]. If the instance type is not
37502
- # valid, the error returned is `InvalidInstanceAttributeValue`.
37777
+ # information, see [Instance types][1] in the *Amazon EC2 User Guide*.
37778
+ # If the instance type is not valid, the error returned is
37779
+ # `InvalidInstanceAttributeValue`.
37503
37780
  #
37504
37781
  #
37505
37782
  #
@@ -39295,6 +39572,8 @@ module Aws::EC2
39295
39572
  # @!attribute [rw] private_dns_enabled
39296
39573
  # (Interface endpoint) Indicates whether a private hosted zone is
39297
39574
  # associated with the VPC.
39575
+ #
39576
+ # Private DNS is not supported for Amazon S3 interface endpoints.
39298
39577
  # @return [Boolean]
39299
39578
  #
39300
39579
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointRequest AWS API Documentation
@@ -42355,6 +42634,31 @@ module Aws::EC2
42355
42634
  include Aws::Structure
42356
42635
  end
42357
42636
 
42637
+ # The status of an updated pointer (PTR) record for an Elastic IP
42638
+ # address.
42639
+ #
42640
+ # @!attribute [rw] value
42641
+ # The value for the PTR record update.
42642
+ # @return [String]
42643
+ #
42644
+ # @!attribute [rw] status
42645
+ # The status of the PTR record update.
42646
+ # @return [String]
42647
+ #
42648
+ # @!attribute [rw] reason
42649
+ # The reason for the PTR record update.
42650
+ # @return [String]
42651
+ #
42652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PtrUpdateStatus AWS API Documentation
42653
+ #
42654
+ class PtrUpdateStatus < Struct.new(
42655
+ :value,
42656
+ :status,
42657
+ :reason)
42658
+ SENSITIVE = []
42659
+ include Aws::Structure
42660
+ end
42661
+
42358
42662
  # Describes an IPv4 address pool.
42359
42663
  #
42360
42664
  # @!attribute [rw] pool_id
@@ -42505,7 +42809,7 @@ module Aws::EC2
42505
42809
  #
42506
42810
  # @!attribute [rw] client_token
42507
42811
  # Unique, case-sensitive identifier that you provide to ensure the
42508
- # idempotency of the request. For more information, see [How to Ensure
42812
+ # idempotency of the request. For more information, see [Ensuring
42509
42813
  # Idempotency][1].
42510
42814
  #
42511
42815
  #
@@ -42557,7 +42861,7 @@ module Aws::EC2
42557
42861
 
42558
42862
  # @!attribute [rw] client_token
42559
42863
  # Unique, case-sensitive identifier that you provide to ensure the
42560
- # idempotency of the request. For more information, see [How to Ensure
42864
+ # idempotency of the request. For more information, see [Ensuring
42561
42865
  # Idempotency][1].
42562
42866
  #
42563
42867
  #
@@ -42846,6 +43150,7 @@ module Aws::EC2
42846
43150
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
42847
43151
  # kms_key_id: "String",
42848
43152
  # throughput: 1,
43153
+ # outpost_arn: "String",
42849
43154
  # encrypted: false,
42850
43155
  # },
42851
43156
  # no_device: "String",
@@ -42884,6 +43189,17 @@ module Aws::EC2
42884
43189
  #
42885
43190
  # @!attribute [rw] block_device_mappings
42886
43191
  # The block device mapping entries.
43192
+ #
43193
+ # If you create an AMI on an Outpost, then all backing snapshots must
43194
+ # be on the same Outpost or in the Region of that Outpost. AMIs on an
43195
+ # Outpost that include local snapshots can be used to launch instances
43196
+ # on the same Outpost only. For more information, [ Amazon EBS local
43197
+ # snapshots on Outposts][1] in the *Amazon Elastic Compute Cloud User
43198
+ # Guide*.
43199
+ #
43200
+ #
43201
+ #
43202
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami
42887
43203
  # @return [Array<Types::BlockDeviceMapping>]
42888
43204
  #
42889
43205
  # @!attribute [rw] description
@@ -44429,6 +44745,7 @@ module Aws::EC2
44429
44745
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
44430
44746
  # kms_key_id: "String",
44431
44747
  # throughput: 1,
44748
+ # outpost_arn: "String",
44432
44749
  # encrypted: false,
44433
44750
  # },
44434
44751
  # no_device: "String",
@@ -44620,6 +44937,7 @@ module Aws::EC2
44620
44937
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
44621
44938
  # kms_key_id: "String",
44622
44939
  # throughput: 1,
44940
+ # outpost_arn: "String",
44623
44941
  # encrypted: false,
44624
44942
  # },
44625
44943
  # no_device: "String",
@@ -44880,6 +45198,7 @@ module Aws::EC2
44880
45198
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
44881
45199
  # kms_key_id: "String",
44882
45200
  # throughput: 1,
45201
+ # outpost_arn: "String",
44883
45202
  # encrypted: false,
44884
45203
  # },
44885
45204
  # no_device: "String",
@@ -45564,6 +45883,52 @@ module Aws::EC2
45564
45883
  include Aws::Structure
45565
45884
  end
45566
45885
 
45886
+ # @note When making an API call, you may pass ResetAddressAttributeRequest
45887
+ # data as a hash:
45888
+ #
45889
+ # {
45890
+ # allocation_id: "AllocationId", # required
45891
+ # attribute: "domain-name", # required, accepts domain-name
45892
+ # dry_run: false,
45893
+ # }
45894
+ #
45895
+ # @!attribute [rw] allocation_id
45896
+ # \[EC2-VPC\] The allocation ID.
45897
+ # @return [String]
45898
+ #
45899
+ # @!attribute [rw] attribute
45900
+ # The attribute of the IP address.
45901
+ # @return [String]
45902
+ #
45903
+ # @!attribute [rw] dry_run
45904
+ # Checks whether you have the required permissions for the action,
45905
+ # without actually making the request, and provides an error response.
45906
+ # If you have the required permissions, the error response is
45907
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
45908
+ # @return [Boolean]
45909
+ #
45910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttributeRequest AWS API Documentation
45911
+ #
45912
+ class ResetAddressAttributeRequest < Struct.new(
45913
+ :allocation_id,
45914
+ :attribute,
45915
+ :dry_run)
45916
+ SENSITIVE = []
45917
+ include Aws::Structure
45918
+ end
45919
+
45920
+ # @!attribute [rw] address
45921
+ # Information about the IP address.
45922
+ # @return [Types::AddressAttribute]
45923
+ #
45924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttributeResult AWS API Documentation
45925
+ #
45926
+ class ResetAddressAttributeResult < Struct.new(
45927
+ :address)
45928
+ SENSITIVE = []
45929
+ include Aws::Structure
45930
+ end
45931
+
45567
45932
  # @note When making an API call, you may pass ResetEbsDefaultKmsKeyIdRequest
45568
45933
  # data as a hash:
45569
45934
  #
@@ -46658,6 +47023,7 @@ module Aws::EC2
46658
47023
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
46659
47024
  # kms_key_id: "String",
46660
47025
  # throughput: 1,
47026
+ # outpost_arn: "String",
46661
47027
  # encrypted: false,
46662
47028
  # },
46663
47029
  # no_device: "String",
@@ -46812,7 +47178,7 @@ module Aws::EC2
46812
47178
  #
46813
47179
  # @!attribute [rw] instance_type
46814
47180
  # The instance type. For more information, see [Instance types][1] in
46815
- # the *Amazon Elastic Compute Cloud User Guide*.
47181
+ # the *Amazon EC2 User Guide*.
46816
47182
  #
46817
47183
  # Default: `m1.small`
46818
47184
  #
@@ -46848,8 +47214,8 @@ module Aws::EC2
46848
47214
  # The ID of the kernel.
46849
47215
  #
46850
47216
  # We recommend that you use PV-GRUB instead of kernels and RAM disks.
46851
- # For more information, see [ PV-GRUB][1] in the *Amazon Elastic
46852
- # Compute Cloud User Guide*.
47217
+ # For more information, see [ PV-GRUB][1] in the *Amazon EC2 User
47218
+ # Guide*.
46853
47219
  #
46854
47220
  #
46855
47221
  #
@@ -46917,8 +47283,8 @@ module Aws::EC2
46917
47283
  # kernel ID.
46918
47284
  #
46919
47285
  # We recommend that you use PV-GRUB instead of kernels and RAM disks.
46920
- # For more information, see [ PV-GRUB][1] in the *Amazon Elastic
46921
- # Compute Cloud User Guide*.
47286
+ # For more information, see [ PV-GRUB][1] in the *Amazon EC2 User
47287
+ # Guide*.
46922
47288
  #
46923
47289
  #
46924
47290
  #
@@ -47060,8 +47426,8 @@ module Aws::EC2
47060
47426
  # An elastic GPU to associate with the instance. An Elastic GPU is a
47061
47427
  # GPU resource that you can attach to your Windows instance to
47062
47428
  # accelerate the graphics performance of your applications. For more
47063
- # information, see [ Amazon EC2 Elastic GPUs][1] in the *Amazon
47064
- # Elastic Compute Cloud User Guide*.
47429
+ # information, see [Amazon EC2 Elastic GPUs][1] in the *Amazon EC2
47430
+ # User Guide*.
47065
47431
  #
47066
47432
  #
47067
47433
  #
@@ -47109,8 +47475,7 @@ module Aws::EC2
47109
47475
  # instance. Valid values are `standard` and `unlimited`. To change
47110
47476
  # this attribute after launch, use [
47111
47477
  # ModifyInstanceCreditSpecification][1]. For more information, see
47112
- # [Burstable performance instances][2] in the *Amazon Elastic Compute
47113
- # Cloud User Guide*.
47478
+ # [Burstable performance instances][2] in the *Amazon EC2 User Guide*.
47114
47479
  #
47115
47480
  # Default: `standard` (T2 instances) or `unlimited` (T3/T3a instances)
47116
47481
  #
@@ -47122,8 +47487,7 @@ module Aws::EC2
47122
47487
  #
47123
47488
  # @!attribute [rw] cpu_options
47124
47489
  # The CPU options for the instance. For more information, see
47125
- # [Optimizing CPU options][1] in the *Amazon Elastic Compute Cloud
47126
- # User Guide*.
47490
+ # [Optimizing CPU options][1] in the *Amazon EC2 User Guide*.
47127
47491
  #
47128
47492
  #
47129
47493
  #
@@ -47140,8 +47504,8 @@ module Aws::EC2
47140
47504
  #
47141
47505
  # @!attribute [rw] hibernation_options
47142
47506
  # Indicates whether an instance is enabled for hibernation. For more
47143
- # information, see [Hibernate your instance][1] in the *Amazon Elastic
47144
- # Compute Cloud User Guide*.
47507
+ # information, see [Hibernate your instance][1] in the *Amazon EC2
47508
+ # User Guide*.
47145
47509
  #
47146
47510
  # You can't enable hibernation and AWS Nitro Enclaves on the same
47147
47511
  # instance.
@@ -47693,8 +48057,8 @@ module Aws::EC2
47693
48057
  # @return [Types::ScheduledInstancesEbs]
47694
48058
  #
47695
48059
  # @!attribute [rw] no_device
47696
- # Suppresses the specified device included in the block device mapping
47697
- # of the AMI.
48060
+ # To omit the device from the block device mapping, specify an empty
48061
+ # string.
47698
48062
  # @return [String]
47699
48063
  #
47700
48064
  # @!attribute [rw] virtual_name
@@ -47750,9 +48114,9 @@ module Aws::EC2
47750
48114
  # `io1` or `io2` volume, with a maximum ratio of 50 IOPS/GiB for
47751
48115
  # `io1`, and 500 IOPS/GiB for `io2`. Range is 100 to 64,000 IOPS for
47752
48116
  # volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only
47753
- # on [Nitro-based instances][1]. Other instance families guarantee
47754
- # performance up to 32,000 IOPS. For more information, see [Amazon EBS
47755
- # Volume Types][2] in the *Amazon Elastic Compute Cloud User Guide*.
48117
+ # on [instances built on the Nitro System][1]. Other instance families
48118
+ # guarantee performance up to 32,000 IOPS. For more information, see
48119
+ # [Amazon EBS volume types][2] in the *Amazon EC2 User Guide*.
47756
48120
  #
47757
48121
  # This parameter is valid only for Provisioned IOPS SSD (`io1` and
47758
48122
  # `io2`) volumes.
@@ -48871,6 +49235,16 @@ module Aws::EC2
48871
49235
  # console.
48872
49236
  # @return [String]
48873
49237
  #
49238
+ # @!attribute [rw] outpost_arn
49239
+ # The ARN of the AWS Outpost on which the snapshot is stored. For more
49240
+ # information, see [EBS Local Snapshot on Outposts][1] in the *Amazon
49241
+ # Elastic Compute Cloud User Guide*.
49242
+ #
49243
+ #
49244
+ #
49245
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html
49246
+ # @return [String]
49247
+ #
48874
49248
  # @!attribute [rw] tags
48875
49249
  # Any tags assigned to the snapshot.
48876
49250
  # @return [Array<Types::Tag>]
@@ -48891,6 +49265,7 @@ module Aws::EC2
48891
49265
  :volume_id,
48892
49266
  :volume_size,
48893
49267
  :owner_alias,
49268
+ :outpost_arn,
48894
49269
  :tags)
48895
49270
  SENSITIVE = []
48896
49271
  include Aws::Structure
@@ -49044,6 +49419,16 @@ module Aws::EC2
49044
49419
  # Snapshot id that can be used to describe this snapshot.
49045
49420
  # @return [String]
49046
49421
  #
49422
+ # @!attribute [rw] outpost_arn
49423
+ # The ARN of the AWS Outpost on which the snapshot is stored. For more
49424
+ # information, see [EBS Local Snapshot on Outposts][1] in the *Amazon
49425
+ # Elastic Compute Cloud User Guide*.
49426
+ #
49427
+ #
49428
+ #
49429
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html
49430
+ # @return [String]
49431
+ #
49047
49432
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotInfo AWS API Documentation
49048
49433
  #
49049
49434
  class SnapshotInfo < Struct.new(
@@ -49056,7 +49441,8 @@ module Aws::EC2
49056
49441
  :start_time,
49057
49442
  :progress,
49058
49443
  :owner_id,
49059
- :snapshot_id)
49444
+ :snapshot_id,
49445
+ :outpost_arn)
49060
49446
  SENSITIVE = []
49061
49447
  include Aws::Structure
49062
49448
  end
@@ -49234,6 +49620,7 @@ module Aws::EC2
49234
49620
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
49235
49621
  # kms_key_id: "String",
49236
49622
  # throughput: 1,
49623
+ # outpost_arn: "String",
49237
49624
  # encrypted: false,
49238
49625
  # },
49239
49626
  # no_device: "String",
@@ -49546,6 +49933,7 @@ module Aws::EC2
49546
49933
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
49547
49934
  # kms_key_id: "String",
49548
49935
  # throughput: 1,
49936
+ # outpost_arn: "String",
49549
49937
  # encrypted: false,
49550
49938
  # },
49551
49939
  # no_device: "String",
@@ -50177,9 +50565,8 @@ module Aws::EC2
50177
50565
  #
50178
50566
  # @!attribute [rw] spot_instance_type
50179
50567
  # The Spot Instance request type. For [RunInstances][1], persistent
50180
- # Spot Instance requests are only supported when
50181
- # **InstanceInterruptionBehavior** is set to either `hibernate` or
50182
- # `stop`.
50568
+ # Spot Instance requests are only supported when the instance
50569
+ # interruption behavior is either `hibernate` or `stop`.
50183
50570
  #
50184
50571
  #
50185
50572
  #
@@ -50806,7 +51193,7 @@ module Aws::EC2
50806
51193
  # Hibernates the instance if the instance was enabled for hibernation
50807
51194
  # at launch. If the instance cannot hibernate successfully, a normal
50808
51195
  # shutdown occurs. For more information, see [Hibernate your
50809
- # instance][1] in the *Amazon Elastic Compute Cloud User Guide*.
51196
+ # instance][1] in the *Amazon EC2 User Guide*.
50810
51197
  #
50811
51198
  # Default: `false`
50812
51199
  #
@@ -51183,22 +51570,24 @@ module Aws::EC2
51183
51570
  # The type of resource to tag. Currently, the resource types that
51184
51571
  # support tagging on creation are: `capacity-reservation` \|
51185
51572
  # `carrier-gateway` \| `client-vpn-endpoint` \| `customer-gateway` \|
51186
- # `dedicated-host` \| `dhcp-options` \| `export-image-task` \|
51573
+ # `dedicated-host` \| `dhcp-options` \| `egress-only-internet-gateway`
51574
+ # \| `elastic-ip` \| `elastic-gpu` \| `export-image-task` \|
51187
51575
  # `export-instance-task` \| `fleet` \| `fpga-image` \|
51188
- # `host-reservation` \| `import-image-task` \| `import-snapshot-task`
51189
- # \| `instance` \| `internet-gateway` \| `ipv4pool-ec2` \|
51190
- # `ipv6pool-ec2` \| `key-pair` \| `launch-template` \|
51191
- # `placement-group` \| `prefix-list` \| `natgateway` \| `network-acl`
51192
- # \| `route-table` \| `security-group` \| `spot-fleet-request` \|
51576
+ # `host-reservation` \| `image`\| `import-image-task` \|
51577
+ # `import-snapshot-task` \| `instance` \| `internet-gateway` \|
51578
+ # `ipv4pool-ec2` \| `ipv6pool-ec2` \| `key-pair` \| `launch-template`
51579
+ # \| `local-gateway-route-table-vpc-association` \| `placement-group`
51580
+ # \| `prefix-list` \| `natgateway` \| `network-acl` \|
51581
+ # `network-interface` \| `reserved-instances` \|`route-table` \|
51582
+ # `security-group`\| `snapshot` \| `spot-fleet-request` \|
51193
51583
  # `spot-instances-request` \| `snapshot` \| `subnet` \|
51194
51584
  # `traffic-mirror-filter` \| `traffic-mirror-session` \|
51195
51585
  # `traffic-mirror-target` \| `transit-gateway` \|
51196
- # `transit-gateway-attachment` \| `transit-gateway-connect-peer` \|
51197
- # `transit-gateway-multicast-domain` \| `transit-gateway-route-table`
51198
- # \| `volume` \|`vpc` \| ` vpc-peering-connection` \| `vpc-endpoint`
51199
- # (for interface and gateway endpoints) \| `vpc-endpoint-service` (for
51200
- # AWS PrivateLink) \| `vpc-flow-log` \| `vpn-connection` \|
51201
- # `vpn-gateway`.
51586
+ # `transit-gateway-attachment` \| `transit-gateway-multicast-domain`
51587
+ # \| `transit-gateway-route-table` \| `volume` \|`vpc` \| `
51588
+ # vpc-peering-connection` \| `vpc-endpoint` (for interface and gateway
51589
+ # endpoints) \| `vpc-endpoint-service` (for AWS PrivateLink) \|
51590
+ # `vpc-flow-log` \| `vpn-connection` \| `vpn-gateway`.
51202
51591
  #
51203
51592
  # To tag a resource after it has been created, see [CreateTags][1].
51204
51593
  #
@@ -51234,7 +51623,7 @@ module Aws::EC2
51234
51623
  # willing to pay. When the maximum amount you're willing to pay is
51235
51624
  # reached, the fleet stops launching instances even if it hasn’t met the
51236
51625
  # target capacity. The `MaxTotalPrice` parameters are located in
51237
- # [OnDemandOptions][1] and [SpotOptions][2]
51626
+ # [OnDemandOptions][1] and [SpotOptions][2].
51238
51627
  #
51239
51628
  #
51240
51629
  #