aws-sdk-ec2 1.522.0 → 1.560.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +190 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +6 -0
  5. data/lib/aws-sdk-ec2/client.rb +2360 -573
  6. data/lib/aws-sdk-ec2/client_api.rb +698 -11
  7. data/lib/aws-sdk-ec2/customizations.rb +0 -1
  8. data/lib/aws-sdk-ec2/image.rb +28 -25
  9. data/lib/aws-sdk-ec2/instance.rb +91 -8
  10. data/lib/aws-sdk-ec2/network_interface.rb +37 -1
  11. data/lib/aws-sdk-ec2/placement_group.rb +13 -9
  12. data/lib/aws-sdk-ec2/resource.rb +91 -68
  13. data/lib/aws-sdk-ec2/route.rb +19 -0
  14. data/lib/aws-sdk-ec2/route_table.rb +7 -0
  15. data/lib/aws-sdk-ec2/route_table_association.rb +7 -0
  16. data/lib/aws-sdk-ec2/security_group.rb +2 -2
  17. data/lib/aws-sdk-ec2/snapshot.rb +25 -12
  18. data/lib/aws-sdk-ec2/subnet.rb +59 -38
  19. data/lib/aws-sdk-ec2/types.rb +2943 -253
  20. data/lib/aws-sdk-ec2/volume.rb +7 -1
  21. data/lib/aws-sdk-ec2/vpc.rb +19 -15
  22. data/lib/aws-sdk-ec2/vpc_address.rb +6 -0
  23. data/lib/aws-sdk-ec2/waiters.rb +191 -38
  24. data/lib/aws-sdk-ec2.rb +1 -1
  25. data/sig/classic_address.rbs +3 -0
  26. data/sig/client.rbs +502 -135
  27. data/sig/image.rbs +4 -0
  28. data/sig/instance.rbs +15 -3
  29. data/sig/network_interface.rbs +10 -0
  30. data/sig/resource.rbs +28 -21
  31. data/sig/route.rbs +9 -2
  32. data/sig/route_table.rbs +2 -0
  33. data/sig/route_table_association.rbs +3 -0
  34. data/sig/security_group.rbs +2 -2
  35. data/sig/snapshot.rbs +2 -1
  36. data/sig/subnet.rbs +11 -5
  37. data/sig/tag.rbs +1 -1
  38. data/sig/types.rbs +523 -50
  39. data/sig/volume.rbs +4 -1
  40. data/sig/vpc.rbs +5 -5
  41. data/sig/vpc_address.rbs +3 -0
  42. data/sig/waiters.rbs +56 -0
  43. metadata +4 -4
@@ -535,6 +535,63 @@ module Aws::EC2
535
535
  include Aws::Structure
536
536
  end
537
537
 
538
+ # Contains information about the current security configuration of an
539
+ # active VPN tunnel.
540
+ #
541
+ # @!attribute [rw] phase_1_encryption_algorithm
542
+ # The encryption algorithm negotiated in Phase 1 IKE negotiations.
543
+ # @return [String]
544
+ #
545
+ # @!attribute [rw] phase_2_encryption_algorithm
546
+ # The encryption algorithm negotiated in Phase 2 IKE negotiations.
547
+ # @return [String]
548
+ #
549
+ # @!attribute [rw] phase_1_integrity_algorithm
550
+ # The integrity algorithm negotiated in Phase 1 IKE negotiations.
551
+ # @return [String]
552
+ #
553
+ # @!attribute [rw] phase_2_integrity_algorithm
554
+ # The integrity algorithm negotiated in Phase 2 IKE negotiations.
555
+ # @return [String]
556
+ #
557
+ # @!attribute [rw] phase_1_dh_group
558
+ # The Diffie-Hellman group number being used in Phase 1 IKE
559
+ # negotiations.
560
+ # @return [Integer]
561
+ #
562
+ # @!attribute [rw] phase_2_dh_group
563
+ # The Diffie-Hellman group number being used in Phase 2 IKE
564
+ # negotiations.
565
+ # @return [Integer]
566
+ #
567
+ # @!attribute [rw] ike_version
568
+ # The version of the Internet Key Exchange (IKE) protocol being used.
569
+ # @return [String]
570
+ #
571
+ # @!attribute [rw] provisioning_status
572
+ # The current provisioning status of the VPN tunnel.
573
+ # @return [String]
574
+ #
575
+ # @!attribute [rw] provisioning_status_reason
576
+ # The reason for the current provisioning status.
577
+ # @return [String]
578
+ #
579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ActiveVpnTunnelStatus AWS API Documentation
580
+ #
581
+ class ActiveVpnTunnelStatus < Struct.new(
582
+ :phase_1_encryption_algorithm,
583
+ :phase_2_encryption_algorithm,
584
+ :phase_1_integrity_algorithm,
585
+ :phase_2_integrity_algorithm,
586
+ :phase_1_dh_group,
587
+ :phase_2_dh_group,
588
+ :ike_version,
589
+ :provisioning_status,
590
+ :provisioning_status_reason)
591
+ SENSITIVE = []
592
+ include Aws::Structure
593
+ end
594
+
538
595
  # Add an operating Region to an IPAM. Operating Regions are Amazon Web
539
596
  # Services Regions where the IPAM is allowed to manage IP address CIDRs.
540
597
  # IPAM only discovers and monitors resources in the Amazon Web Services
@@ -771,6 +828,10 @@ module Aws::EC2
771
828
  # (for example an EC2 instance).
772
829
  # @return [String]
773
830
  #
831
+ # @!attribute [rw] subnet_id
832
+ # The ID of the subnet where the IP address is allocated.
833
+ # @return [String]
834
+ #
774
835
  # @!attribute [rw] service_managed
775
836
  # The service that manages the elastic IP address.
776
837
  #
@@ -802,6 +863,7 @@ module Aws::EC2
802
863
  :customer_owned_ip,
803
864
  :customer_owned_ipv_4_pool,
804
865
  :carrier_ip,
866
+ :subnet_id,
805
867
  :service_managed,
806
868
  :instance_id,
807
869
  :public_ip)
@@ -1129,6 +1191,10 @@ module Aws::EC2
1129
1191
  # specified.
1130
1192
  # @return [Array<String>]
1131
1193
  #
1194
+ # @!attribute [rw] availability_zone_id
1195
+ # The ID of the Availability Zone.
1196
+ # @return [String]
1197
+ #
1132
1198
  # @!attribute [rw] auto_placement
1133
1199
  # Indicates whether the host accepts any untargeted instance launches
1134
1200
  # that match its instance type configuration, or if it only accepts
@@ -1187,6 +1253,7 @@ module Aws::EC2
1187
1253
  :outpost_arn,
1188
1254
  :host_maintenance,
1189
1255
  :asset_ids,
1256
+ :availability_zone_id,
1190
1257
  :auto_placement,
1191
1258
  :client_token,
1192
1259
  :instance_type,
@@ -1458,6 +1525,10 @@ module Aws::EC2
1458
1525
  # The Availability Zone.
1459
1526
  # @return [String]
1460
1527
  #
1528
+ # @!attribute [rw] availability_zone_id
1529
+ # The ID of the Availability Zone.
1530
+ # @return [String]
1531
+ #
1461
1532
  # @!attribute [rw] instance
1462
1533
  # Information about the instance.
1463
1534
  # @return [Types::AnalysisComponent]
@@ -1471,6 +1542,7 @@ module Aws::EC2
1471
1542
  class AnalysisLoadBalancerTarget < Struct.new(
1472
1543
  :address,
1473
1544
  :availability_zone,
1545
+ :availability_zone_id,
1474
1546
  :instance,
1475
1547
  :port)
1476
1548
  SENSITIVE = []
@@ -2438,6 +2510,11 @@ module Aws::EC2
2438
2510
  # The ID of the internet gateway or virtual private gateway.
2439
2511
  # @return [String]
2440
2512
  #
2513
+ # @!attribute [rw] public_ipv_4_pool
2514
+ # The ID of a public IPv4 pool. A public IPv4 pool is a pool of IPv4
2515
+ # addresses that you've brought to Amazon Web Services with BYOIP.
2516
+ # @return [String]
2517
+ #
2441
2518
  # @!attribute [rw] dry_run
2442
2519
  # Checks whether you have the required permissions for the action,
2443
2520
  # without actually making the request, and provides an error response.
@@ -2457,6 +2534,7 @@ module Aws::EC2
2457
2534
  #
2458
2535
  class AssociateRouteTableRequest < Struct.new(
2459
2536
  :gateway_id,
2537
+ :public_ipv_4_pool,
2460
2538
  :dry_run,
2461
2539
  :subnet_id,
2462
2540
  :route_table_id)
@@ -3951,7 +4029,12 @@ module Aws::EC2
3951
4029
  # @return [String]
3952
4030
  #
3953
4031
  # @!attribute [rw] device_name
3954
- # The device name (for example, `/dev/sdh` or `xvdh`).
4032
+ # The device name. For available device names, see [Device names for
4033
+ # volumes][1].
4034
+ #
4035
+ #
4036
+ #
4037
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html
3955
4038
  # @return [String]
3956
4039
  #
3957
4040
  # @!attribute [rw] virtual_name
@@ -4774,6 +4857,81 @@ module Aws::EC2
4774
4857
  include Aws::Structure
4775
4858
  end
4776
4859
 
4860
+ # Reserve powerful GPU instances on a future date to support your short
4861
+ # duration machine learning (ML) workloads. Instances that run inside a
4862
+ # Capacity Block are automatically placed close together inside [Amazon
4863
+ # EC2 UltraClusters][1], for low-latency, petabit-scale, non-blocking
4864
+ # networking.
4865
+ #
4866
+ # You can also reserve Amazon EC2 UltraServers. UltraServers connect
4867
+ # multiple EC2 instances using a low-latency, high-bandwidth accelerator
4868
+ # interconnect (NeuronLink). They are built to tackle very large-scale
4869
+ # AI/ML workloads that require significant processing power. For more
4870
+ # information, see Amazon EC2 UltraServers.
4871
+ #
4872
+ #
4873
+ #
4874
+ # [1]: http://aws.amazon.com/ec2/ultraclusters/
4875
+ #
4876
+ # @!attribute [rw] capacity_block_id
4877
+ # The ID of the Capacity Block.
4878
+ # @return [String]
4879
+ #
4880
+ # @!attribute [rw] ultraserver_type
4881
+ # The EC2 UltraServer type of the Capacity Block.
4882
+ # @return [String]
4883
+ #
4884
+ # @!attribute [rw] availability_zone
4885
+ # The Availability Zone of the Capacity Block.
4886
+ # @return [String]
4887
+ #
4888
+ # @!attribute [rw] availability_zone_id
4889
+ # The Availability Zone ID of the Capacity Block.
4890
+ # @return [String]
4891
+ #
4892
+ # @!attribute [rw] capacity_reservation_ids
4893
+ # The ID of the Capacity Reservation.
4894
+ # @return [Array<String>]
4895
+ #
4896
+ # @!attribute [rw] start_date
4897
+ # The date and time at which the Capacity Block was started.
4898
+ # @return [Time]
4899
+ #
4900
+ # @!attribute [rw] end_date
4901
+ # The date and time at which the Capacity Block expires. When a
4902
+ # Capacity Block expires, all instances in the Capacity Block are
4903
+ # terminated.
4904
+ # @return [Time]
4905
+ #
4906
+ # @!attribute [rw] create_date
4907
+ # The date and time at which the Capacity Block was created.
4908
+ # @return [Time]
4909
+ #
4910
+ # @!attribute [rw] state
4911
+ # The state of the Capacity Block.
4912
+ # @return [String]
4913
+ #
4914
+ # @!attribute [rw] tags
4915
+ # The tags assigned to the Capacity Block.
4916
+ # @return [Array<Types::Tag>]
4917
+ #
4918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityBlock AWS API Documentation
4919
+ #
4920
+ class CapacityBlock < Struct.new(
4921
+ :capacity_block_id,
4922
+ :ultraserver_type,
4923
+ :availability_zone,
4924
+ :availability_zone_id,
4925
+ :capacity_reservation_ids,
4926
+ :start_date,
4927
+ :end_date,
4928
+ :create_date,
4929
+ :state,
4930
+ :tags)
4931
+ SENSITIVE = []
4932
+ include Aws::Structure
4933
+ end
4934
+
4777
4935
  # Describes a Capacity Block extension. With an extension, you can
4778
4936
  # extend the duration of time for an existing Capacity Block.
4779
4937
  #
@@ -4994,6 +5152,14 @@ module Aws::EC2
4994
5152
  # The tenancy of the Capacity Block.
4995
5153
  # @return [String]
4996
5154
  #
5155
+ # @!attribute [rw] ultraserver_type
5156
+ # The EC2 UltraServer type of the Capacity Block offering.
5157
+ # @return [String]
5158
+ #
5159
+ # @!attribute [rw] ultraserver_count
5160
+ # The number of EC2 UltraServers in the offering.
5161
+ # @return [Integer]
5162
+ #
4997
5163
  # @!attribute [rw] capacity_block_duration_minutes
4998
5164
  # The number of minutes (in addition to `capacityBlockDurationHours`)
4999
5165
  # for the duration of the Capacity Block reservation. For example, if
@@ -5014,11 +5180,63 @@ module Aws::EC2
5014
5180
  :upfront_fee,
5015
5181
  :currency_code,
5016
5182
  :tenancy,
5183
+ :ultraserver_type,
5184
+ :ultraserver_count,
5017
5185
  :capacity_block_duration_minutes)
5018
5186
  SENSITIVE = []
5019
5187
  include Aws::Structure
5020
5188
  end
5021
5189
 
5190
+ # Describes the availability of capacity for a Capacity Block.
5191
+ #
5192
+ # @!attribute [rw] capacity_block_id
5193
+ # The ID of the Capacity Block.
5194
+ # @return [String]
5195
+ #
5196
+ # @!attribute [rw] interconnect_status
5197
+ # The status of the high-bandwidth accelerator interconnect. Possible
5198
+ # states include:
5199
+ #
5200
+ # * `ok` the accelerator interconnect is healthy.
5201
+ #
5202
+ # * `impaired` - accelerator interconnect communication is impaired.
5203
+ #
5204
+ # * `insufficient-data` - insufficient data to determine accelerator
5205
+ # interconnect status.
5206
+ # @return [String]
5207
+ #
5208
+ # @!attribute [rw] total_capacity
5209
+ # The combined amount of `Available` and `Unavailable` capacity in the
5210
+ # Capacity Block.
5211
+ # @return [Integer]
5212
+ #
5213
+ # @!attribute [rw] total_available_capacity
5214
+ # The remaining capacity. Indicates the number of resources that can
5215
+ # be launched into the Capacity Block.
5216
+ # @return [Integer]
5217
+ #
5218
+ # @!attribute [rw] total_unavailable_capacity
5219
+ # The unavailable capacity. Indicates the instance capacity that is
5220
+ # unavailable for use due to a system status check failure.
5221
+ # @return [Integer]
5222
+ #
5223
+ # @!attribute [rw] capacity_reservation_statuses
5224
+ # The availability of capacity for the Capacity Block reservations.
5225
+ # @return [Array<Types::CapacityReservationStatus>]
5226
+ #
5227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityBlockStatus AWS API Documentation
5228
+ #
5229
+ class CapacityBlockStatus < Struct.new(
5230
+ :capacity_block_id,
5231
+ :interconnect_status,
5232
+ :total_capacity,
5233
+ :total_available_capacity,
5234
+ :total_unavailable_capacity,
5235
+ :capacity_reservation_statuses)
5236
+ SENSITIVE = []
5237
+ include Aws::Structure
5238
+ end
5239
+
5022
5240
  # Describes a Capacity Reservation.
5023
5241
  #
5024
5242
  # @!attribute [rw] capacity_reservation_id
@@ -5229,6 +5447,10 @@ module Aws::EC2
5229
5447
  # have in your account at the requested date and time.
5230
5448
  # @return [String]
5231
5449
  #
5450
+ # @!attribute [rw] capacity_block_id
5451
+ # The ID of the Capacity Block.
5452
+ # @return [String]
5453
+ #
5232
5454
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservation AWS API Documentation
5233
5455
  #
5234
5456
  class CapacityReservation < Struct.new(
@@ -5258,7 +5480,8 @@ module Aws::EC2
5258
5480
  :reservation_type,
5259
5481
  :unused_reservation_billing_owner_id,
5260
5482
  :commitment_info,
5261
- :delivery_preference)
5483
+ :delivery_preference,
5484
+ :capacity_block_id)
5262
5485
  SENSITIVE = []
5263
5486
  include Aws::Structure
5264
5487
  end
@@ -5540,12 +5763,17 @@ module Aws::EC2
5540
5763
  # The tenancy of the Capacity Reservation.
5541
5764
  # @return [String]
5542
5765
  #
5766
+ # @!attribute [rw] availability_zone_id
5767
+ # The ID of the Availability Zone.
5768
+ # @return [String]
5769
+ #
5543
5770
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationInfo AWS API Documentation
5544
5771
  #
5545
5772
  class CapacityReservationInfo < Struct.new(
5546
5773
  :instance_type,
5547
5774
  :availability_zone,
5548
- :tenancy)
5775
+ :tenancy,
5776
+ :availability_zone_id)
5549
5777
  SENSITIVE = []
5550
5778
  include Aws::Structure
5551
5779
  end
@@ -5715,6 +5943,38 @@ module Aws::EC2
5715
5943
  include Aws::Structure
5716
5944
  end
5717
5945
 
5946
+ # Describes the availability of capacity for a Capacity Reservation.
5947
+ #
5948
+ # @!attribute [rw] capacity_reservation_id
5949
+ # The ID of the Capacity Reservation.
5950
+ # @return [String]
5951
+ #
5952
+ # @!attribute [rw] total_capacity
5953
+ # The combined amount of `Available` and `Unavailable` capacity in the
5954
+ # Capacity Reservation.
5955
+ # @return [Integer]
5956
+ #
5957
+ # @!attribute [rw] total_available_capacity
5958
+ # The remaining capacity. Indicates the amount of resources that can
5959
+ # be launched into the Capacity Reservation.
5960
+ # @return [Integer]
5961
+ #
5962
+ # @!attribute [rw] total_unavailable_capacity
5963
+ # The used capacity. Indicates that the capacity is in use by
5964
+ # resources that are running in the Capacity Reservation.
5965
+ # @return [Integer]
5966
+ #
5967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationStatus AWS API Documentation
5968
+ #
5969
+ class CapacityReservationStatus < Struct.new(
5970
+ :capacity_reservation_id,
5971
+ :total_capacity,
5972
+ :total_available_capacity,
5973
+ :total_unavailable_capacity)
5974
+ SENSITIVE = []
5975
+ include Aws::Structure
5976
+ end
5977
+
5718
5978
  # Describes a target Capacity Reservation or Capacity Reservation group.
5719
5979
  #
5720
5980
  # @!attribute [rw] capacity_reservation_id
@@ -6284,6 +6544,13 @@ module Aws::EC2
6284
6544
  # The IP address of the client.
6285
6545
  # @return [String]
6286
6546
  #
6547
+ # @!attribute [rw] client_ipv_6_address
6548
+ # The IPv6 address assigned to the client connection when using a
6549
+ # dual-stack Client VPN endpoint. This field is only populated when
6550
+ # the endpoint is configured for dual-stack addressing, and the client
6551
+ # is using IPv6 for connectivity.
6552
+ # @return [String]
6553
+ #
6287
6554
  # @!attribute [rw] common_name
6288
6555
  # The common name associated with the client. This is either the name
6289
6556
  # of the client certificate, or the Active Directory user name.
@@ -6315,6 +6582,7 @@ module Aws::EC2
6315
6582
  :ingress_packets,
6316
6583
  :egress_packets,
6317
6584
  :client_ip,
6585
+ :client_ipv_6_address,
6318
6586
  :common_name,
6319
6587
  :status,
6320
6588
  :connection_end_time,
@@ -6478,6 +6746,18 @@ module Aws::EC2
6478
6746
  # reconnect automatically. The default value is `true`.
6479
6747
  # @return [Boolean]
6480
6748
  #
6749
+ # @!attribute [rw] endpoint_ip_address_type
6750
+ # The IP address type of the Client VPN endpoint. Possible values are
6751
+ # `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing only, or
6752
+ # `dual-stack `for both IPv4 and IPv6 addressing.
6753
+ # @return [String]
6754
+ #
6755
+ # @!attribute [rw] traffic_ip_address_type
6756
+ # The IP address type of the Client VPN endpoint. Possible values are
6757
+ # either `ipv4` for IPv4 addressing only, `ipv6` for IPv6 addressing
6758
+ # only, or `dual-stack` for both IPv4 and IPv6 addressing.
6759
+ # @return [String]
6760
+ #
6481
6761
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientVpnEndpoint AWS API Documentation
6482
6762
  #
6483
6763
  class ClientVpnEndpoint < Struct.new(
@@ -6505,7 +6785,9 @@ module Aws::EC2
6505
6785
  :session_timeout_hours,
6506
6786
  :client_login_banner_options,
6507
6787
  :client_route_enforcement_options,
6508
- :disconnect_on_session_timeout)
6788
+ :disconnect_on_session_timeout,
6789
+ :endpoint_ip_address_type,
6790
+ :traffic_ip_address_type)
6509
6791
  SENSITIVE = []
6510
6792
  include Aws::Structure
6511
6793
  end
@@ -7185,8 +7467,8 @@ module Aws::EC2
7185
7467
  #
7186
7468
  # @!attribute [rw] client_token
7187
7469
  # Unique, case-sensitive identifier you provide to ensure idempotency
7188
- # of the request. For more information, see [Ensuring idempotency][1]
7189
- # in the *Amazon EC2 API Reference*.
7470
+ # of the request. For more information, see [Ensuring idempotency in
7471
+ # Amazon EC2 API requests][1] in the *Amazon EC2 API Reference*.
7190
7472
  #
7191
7473
  # **A suitable default value is auto-generated.** You should normally
7192
7474
  # not need to pass this option.
@@ -7197,17 +7479,18 @@ module Aws::EC2
7197
7479
  # @return [String]
7198
7480
  #
7199
7481
  # @!attribute [rw] description
7200
- # A description for the new AMI in the destination Region.
7482
+ # A description for the new AMI.
7201
7483
  # @return [String]
7202
7484
  #
7203
7485
  # @!attribute [rw] encrypted
7204
- # Specifies whether the destination snapshots of the copied image
7205
- # should be encrypted. You can encrypt a copy of an unencrypted
7206
- # snapshot, but you cannot create an unencrypted copy of an encrypted
7207
- # snapshot. The default KMS key for Amazon EBS is used unless you
7208
- # specify a non-default Key Management Service (KMS) KMS key using
7209
- # `KmsKeyId`. For more information, see [Use encryption with
7210
- # EBS-backed AMIs][1] in the *Amazon EC2 User Guide*.
7486
+ # Specifies whether to encrypt the snapshots of the copied image.
7487
+ #
7488
+ # You can encrypt a copy of an unencrypted snapshot, but you cannot
7489
+ # create an unencrypted copy of an encrypted snapshot. The default KMS
7490
+ # key for Amazon EBS is used unless you specify a non-default Key
7491
+ # Management Service (KMS) KMS key using `KmsKeyId`. For more
7492
+ # information, see [Use encryption with EBS-backed AMIs][1] in the
7493
+ # *Amazon EC2 User Guide*.
7211
7494
  #
7212
7495
  #
7213
7496
  #
@@ -7243,7 +7526,7 @@ module Aws::EC2
7243
7526
  # @return [String]
7244
7527
  #
7245
7528
  # @!attribute [rw] name
7246
- # The name of the new AMI in the destination Region.
7529
+ # The name of the new AMI.
7247
7530
  # @return [String]
7248
7531
  #
7249
7532
  # @!attribute [rw] source_image_id
@@ -7255,25 +7538,29 @@ module Aws::EC2
7255
7538
  # @return [String]
7256
7539
  #
7257
7540
  # @!attribute [rw] destination_outpost_arn
7258
- # The Amazon Resource Name (ARN) of the Outpost to which to copy the
7259
- # AMI. Only specify this parameter when copying an AMI from an Amazon
7260
- # Web Services Region to an Outpost. The AMI must be in the Region of
7261
- # the destination Outpost. You cannot copy an AMI from an Outpost to a
7541
+ # The Amazon Resource Name (ARN) of the Outpost for the new AMI.
7542
+ #
7543
+ # Only specify this parameter when copying an AMI from an Amazon Web
7544
+ # Services Region to an Outpost. The AMI must be in the Region of the
7545
+ # destination Outpost. You can't copy an AMI from an Outpost to a
7262
7546
  # Region, from one Outpost to another, or within the same Outpost.
7263
7547
  #
7264
7548
  # For more information, see [Copy AMIs from an Amazon Web Services
7265
7549
  # Region to an Outpost][1] in the *Amazon EBS User Guide*.
7266
7550
  #
7551
+ # Only one of `DestinationAvailabilityZone`,
7552
+ # `DestinationAvailabilityZoneId`, or `DestinationOutpostArn` can be
7553
+ # specified.
7554
+ #
7267
7555
  #
7268
7556
  #
7269
7557
  # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#copy-amis
7270
7558
  # @return [String]
7271
7559
  #
7272
7560
  # @!attribute [rw] copy_image_tags
7273
- # Indicates whether to include your user-defined AMI tags when copying
7274
- # the AMI.
7561
+ # Specifies whether to copy your user-defined AMI tags to the new AMI.
7275
7562
  #
7276
- # The following tags will not be copied:
7563
+ # The following tags are not be copied:
7277
7564
  #
7278
7565
  # * System tags (prefixed with `aws:`)
7279
7566
  #
@@ -7307,18 +7594,42 @@ module Aws::EC2
7307
7594
  # a time-based AMI copy. The specified completion duration applies to
7308
7595
  # each of the snapshots associated with the AMI. Each snapshot
7309
7596
  # associated with the AMI will be completed within the specified
7310
- # completion duration, regardless of their size.
7597
+ # completion duration, with copy throughput automatically adjusted for
7598
+ # each snapshot based on its size to meet the timing target.
7311
7599
  #
7312
7600
  # If you do not specify a value, the AMI copy operation is completed
7313
7601
  # on a best-effort basis.
7314
7602
  #
7315
- # For more information, see [ Time-based copies][1].
7603
+ # <note markdown="1"> This parameter is not supported when copying an AMI to or from a
7604
+ # Local Zone, or to an Outpost.
7605
+ #
7606
+ # </note>
7607
+ #
7608
+ # For more information, see [Time-based copies for Amazon EBS
7609
+ # snapshots and EBS-backed AMIs][1].
7316
7610
  #
7317
7611
  #
7318
7612
  #
7319
7613
  # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html
7320
7614
  # @return [Integer]
7321
7615
  #
7616
+ # @!attribute [rw] destination_availability_zone
7617
+ # The Local Zone for the new AMI (for example, `cn-north-1-pkx-1a`).
7618
+ #
7619
+ # Only one of `DestinationAvailabilityZone`,
7620
+ # `DestinationAvailabilityZoneId`, or `DestinationOutpostArn` can be
7621
+ # specified.
7622
+ # @return [String]
7623
+ #
7624
+ # @!attribute [rw] destination_availability_zone_id
7625
+ # The ID of the Local Zone for the new AMI (for example,
7626
+ # `cnn1-pkx1-az1`).
7627
+ #
7628
+ # Only one of `DestinationAvailabilityZone`,
7629
+ # `DestinationAvailabilityZoneId`, or `DestinationOutpostArn` can be
7630
+ # specified.
7631
+ # @return [String]
7632
+ #
7322
7633
  # @!attribute [rw] dry_run
7323
7634
  # Checks whether you have the required permissions for the action,
7324
7635
  # without actually making the request, and provides an error response.
@@ -7340,6 +7651,8 @@ module Aws::EC2
7340
7651
  :copy_image_tags,
7341
7652
  :tag_specifications,
7342
7653
  :snapshot_copy_completion_duration_minutes,
7654
+ :destination_availability_zone,
7655
+ :destination_availability_zone_id,
7343
7656
  :dry_run)
7344
7657
  SENSITIVE = []
7345
7658
  include Aws::Structure
@@ -7365,11 +7678,11 @@ module Aws::EC2
7365
7678
  #
7366
7679
  # @!attribute [rw] destination_outpost_arn
7367
7680
  # The Amazon Resource Name (ARN) of the Outpost to which to copy the
7368
- # snapshot. Only specify this parameter when copying a snapshot from
7369
- # an Amazon Web Services Region to an Outpost. The snapshot must be in
7370
- # the Region for the destination Outpost. You cannot copy a snapshot
7371
- # from an Outpost to a Region, from one Outpost to another, or within
7372
- # the same Outpost.
7681
+ # snapshot.
7682
+ #
7683
+ # <note markdown="1"> Only supported when copying a snapshot to an Outpost.
7684
+ #
7685
+ # </note>
7373
7686
  #
7374
7687
  # For more information, see [ Copy snapshots from an Amazon Web
7375
7688
  # Services Region to an Outpost][1] in the *Amazon EBS User Guide*.
@@ -7394,9 +7707,9 @@ module Aws::EC2
7394
7707
  # @!attribute [rw] encrypted
7395
7708
  # To encrypt a copy of an unencrypted snapshot if encryption by
7396
7709
  # default is not enabled, enable encryption using this parameter.
7397
- # Otherwise, omit this parameter. Encrypted snapshots are encrypted,
7398
- # even if you omit this parameter and encryption by default is not
7399
- # enabled. You cannot set this parameter to false. For more
7710
+ # Otherwise, omit this parameter. Copies of encrypted snapshots are
7711
+ # encrypted, even if you omit this parameter and encryption by default
7712
+ # is not enabled. You cannot set this parameter to false. For more
7400
7713
  # information, see [Amazon EBS encryption][1] in the *Amazon EBS User
7401
7714
  # Guide*.
7402
7715
  #
@@ -7465,6 +7778,11 @@ module Aws::EC2
7465
7778
  # @return [Array<Types::TagSpecification>]
7466
7779
  #
7467
7780
  # @!attribute [rw] completion_duration_minutes
7781
+ # <note markdown="1"> Not supported when copying snapshots to or from Local Zones or
7782
+ # Outposts.
7783
+ #
7784
+ # </note>
7785
+ #
7468
7786
  # Specify a completion duration, in 15 minute increments, to initiate
7469
7787
  # a time-based snapshot copy. Time-based snapshot copy operations
7470
7788
  # complete within the specified duration. For more information, see [
@@ -7478,6 +7796,15 @@ module Aws::EC2
7478
7796
  # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/time-based-copies.html
7479
7797
  # @return [Integer]
7480
7798
  #
7799
+ # @!attribute [rw] destination_availability_zone
7800
+ # The Local Zone, for example, `cn-north-1-pkx-1a` to which to copy
7801
+ # the snapshot.
7802
+ #
7803
+ # <note markdown="1"> Only supported when copying a snapshot to a Local Zone.
7804
+ #
7805
+ # </note>
7806
+ # @return [String]
7807
+ #
7481
7808
  # @!attribute [rw] dry_run
7482
7809
  # Checks whether you have the required permissions for the action,
7483
7810
  # without actually making the request, and provides an error response.
@@ -7498,6 +7825,7 @@ module Aws::EC2
7498
7825
  :source_snapshot_id,
7499
7826
  :tag_specifications,
7500
7827
  :completion_duration_minutes,
7828
+ :destination_availability_zone,
7501
7829
  :dry_run)
7502
7830
  SENSITIVE = [:presigned_url]
7503
7831
  include Aws::Structure
@@ -7889,7 +8217,7 @@ module Aws::EC2
7889
8217
  # The instance type for which to reserve capacity.
7890
8218
  #
7891
8219
  # <note markdown="1"> You can request future-dated Capacity Reservations for instance
7892
- # types in the C, M, R, I, and T instance families only.
8220
+ # types in the C, M, R, I, T, and G instance families only.
7893
8221
  #
7894
8222
  # </note>
7895
8223
  #
@@ -7930,9 +8258,9 @@ module Aws::EC2
7930
8258
  # The number of instances for which to reserve capacity.
7931
8259
  #
7932
8260
  # <note markdown="1"> You can request future-dated Capacity Reservations for an instance
7933
- # count with a minimum of 100 vCPUs. For example, if you request a
8261
+ # count with a minimum of 64 vCPUs. For example, if you request a
7934
8262
  # future-dated Capacity Reservation for `m5.xlarge` instances, you
7935
- # must request at least 25 instances (*25 * m5.xlarge = 100 vCPUs*).
8263
+ # must request at least 25 instances (*16 * m5.xlarge = 64 vCPUs*).
7936
8264
  #
7937
8265
  # </note>
7938
8266
  #
@@ -8343,6 +8671,22 @@ module Aws::EC2
8343
8671
  # `true`.
8344
8672
  # @return [Boolean]
8345
8673
  #
8674
+ # @!attribute [rw] endpoint_ip_address_type
8675
+ # The IP address type for the Client VPN endpoint. Valid values are
8676
+ # `ipv4` (default) for IPv4 addressing only, `ipv6` for IPv6
8677
+ # addressing only, or `dual-stack` for both IPv4 and IPv6 addressing.
8678
+ # When set to `dual-stack,` clients can connect to the endpoint using
8679
+ # either IPv4 or IPv6 addresses..
8680
+ # @return [String]
8681
+ #
8682
+ # @!attribute [rw] traffic_ip_address_type
8683
+ # The IP address type for traffic within the Client VPN tunnel. Valid
8684
+ # values are `ipv4` (default) for IPv4 traffic only, `ipv6` for IPv6
8685
+ # addressing only, or `dual-stack` for both IPv4 and IPv6 traffic.
8686
+ # When set to `dual-stack`, clients can access both IPv4 and IPv6
8687
+ # resources through the VPN .
8688
+ # @return [String]
8689
+ #
8346
8690
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpointRequest AWS API Documentation
8347
8691
  #
8348
8692
  class CreateClientVpnEndpointRequest < Struct.new(
@@ -8365,7 +8709,9 @@ module Aws::EC2
8365
8709
  :session_timeout_hours,
8366
8710
  :client_login_banner_options,
8367
8711
  :client_route_enforcement_options,
8368
- :disconnect_on_session_timeout)
8712
+ :disconnect_on_session_timeout,
8713
+ :endpoint_ip_address_type,
8714
+ :traffic_ip_address_type)
8369
8715
  SENSITIVE = []
8370
8716
  include Aws::Structure
8371
8717
  end
@@ -8583,11 +8929,11 @@ module Aws::EC2
8583
8929
  # @return [String]
8584
8930
  #
8585
8931
  # @!attribute [rw] ip_address
8586
- # IPv4 address for the customer gateway device's outside interface.
8932
+ # The IP address for the customer gateway device's outside interface.
8587
8933
  # The address must be static. If `OutsideIpAddressType` in your VPN
8588
8934
  # connection options is set to `PrivateIpv4`, you can use an RFC6598
8589
8935
  # or RFC1918 private IPv4 address. If `OutsideIpAddressType` is set to
8590
- # `PublicIpv4`, you can use a public IPv4 address.
8936
+ # `Ipv6`, you can use an IPv6 address.
8591
8937
  # @return [String]
8592
8938
  #
8593
8939
  # @!attribute [rw] bgp_asn_extended
@@ -8638,6 +8984,9 @@ module Aws::EC2
8638
8984
 
8639
8985
  # @!attribute [rw] availability_zone
8640
8986
  # The Availability Zone in which to create the default subnet.
8987
+ #
8988
+ # Either `AvailabilityZone` or `AvailabilityZoneId` must be specified,
8989
+ # but not both.
8641
8990
  # @return [String]
8642
8991
  #
8643
8992
  # @!attribute [rw] dry_run
@@ -8653,12 +9002,20 @@ module Aws::EC2
8653
9002
  # before you can create an IPv6 only subnet.
8654
9003
  # @return [Boolean]
8655
9004
  #
9005
+ # @!attribute [rw] availability_zone_id
9006
+ # The ID of the Availability Zone.
9007
+ #
9008
+ # Either `AvailabilityZone` or `AvailabilityZoneId` must be specified,
9009
+ # but not both.
9010
+ # @return [String]
9011
+ #
8656
9012
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnetRequest AWS API Documentation
8657
9013
  #
8658
9014
  class CreateDefaultSubnetRequest < Struct.new(
8659
9015
  :availability_zone,
8660
9016
  :dry_run,
8661
- :ipv_6_native)
9017
+ :ipv_6_native,
9018
+ :availability_zone_id)
8662
9019
  SENSITIVE = []
8663
9020
  include Aws::Structure
8664
9021
  end
@@ -8702,6 +9059,85 @@ module Aws::EC2
8702
9059
  include Aws::Structure
8703
9060
  end
8704
9061
 
9062
+ # @!attribute [rw] client_token
9063
+ # Unique, case-sensitive identifier that you provide to ensure the
9064
+ # idempotency of the request. For more information, see [Ensuring
9065
+ # Idempotency][1].
9066
+ #
9067
+ # **A suitable default value is auto-generated.** You should normally
9068
+ # not need to pass this option.
9069
+ #
9070
+ #
9071
+ #
9072
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
9073
+ # @return [String]
9074
+ #
9075
+ # @!attribute [rw] dry_run
9076
+ # Checks whether you have the required permissions for the action,
9077
+ # without actually making the request, and provides an error response.
9078
+ # If you have the required permissions, the error response is
9079
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
9080
+ # @return [Boolean]
9081
+ #
9082
+ # @!attribute [rw] instance_id
9083
+ # The ID of the Amazon EC2 Mac instance.
9084
+ # @return [String]
9085
+ #
9086
+ # @!attribute [rw] mac_credentials
9087
+ # Specifies the following credentials:
9088
+ #
9089
+ # * **Internal disk administrative user**
9090
+ #
9091
+ # * **Username** - Only the default administrative user
9092
+ # (`aws-managed-user`) is supported and it is used by default. You
9093
+ # can't specify a different administrative user.
9094
+ #
9095
+ # * **Password** - If you did not change the default password for
9096
+ # `aws-managed-user`, specify the default password, which is
9097
+ # *blank*. Otherwise, specify your password.
9098
+ # * **Amazon EBS root volume administrative user**
9099
+ #
9100
+ # * **Username** - If you did not change the default administrative
9101
+ # user, specify `ec2-user`. Otherwise, specify the username for
9102
+ # your administrative user.
9103
+ #
9104
+ # * **Password** - Specify the password for the administrative user.
9105
+ #
9106
+ # The credentials must be specified in the following JSON format:
9107
+ #
9108
+ # `{ "internalDiskPassword":"internal-disk-admin_password",
9109
+ # "rootVolumeUsername":"root-volume-admin_username",
9110
+ # "rootVolumepassword":"root-volume-admin_password" }`
9111
+ # @return [String]
9112
+ #
9113
+ # @!attribute [rw] tag_specifications
9114
+ # The tags to assign to the volume ownership delegation task.
9115
+ # @return [Array<Types::TagSpecification>]
9116
+ #
9117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDelegateMacVolumeOwnershipTaskRequest AWS API Documentation
9118
+ #
9119
+ class CreateDelegateMacVolumeOwnershipTaskRequest < Struct.new(
9120
+ :client_token,
9121
+ :dry_run,
9122
+ :instance_id,
9123
+ :mac_credentials,
9124
+ :tag_specifications)
9125
+ SENSITIVE = [:mac_credentials]
9126
+ include Aws::Structure
9127
+ end
9128
+
9129
+ # @!attribute [rw] mac_modification_task
9130
+ # Information about the volume ownership delegation task.
9131
+ # @return [Types::MacModificationTask]
9132
+ #
9133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDelegateMacVolumeOwnershipTaskResult AWS API Documentation
9134
+ #
9135
+ class CreateDelegateMacVolumeOwnershipTaskResult < Struct.new(
9136
+ :mac_modification_task)
9137
+ SENSITIVE = []
9138
+ include Aws::Structure
9139
+ end
9140
+
8705
9141
  # @!attribute [rw] dhcp_configurations
8706
9142
  # A DHCP configuration option.
8707
9143
  # @return [Array<Types::NewDhcpConfiguration>]
@@ -9309,6 +9745,23 @@ module Aws::EC2
9309
9745
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
9310
9746
  # @return [Array<Types::TagSpecification>]
9311
9747
  #
9748
+ # @!attribute [rw] snapshot_location
9749
+ # <note markdown="1"> Only supported for instances in Local Zones. If the source instance
9750
+ # is not in a Local Zone, omit this parameter.
9751
+ #
9752
+ # </note>
9753
+ #
9754
+ # The Amazon S3 location where the snapshots will be stored.
9755
+ #
9756
+ # * To create local snapshots in the same Local Zone as the source
9757
+ # instance, specify `local`.
9758
+ #
9759
+ # * To create regional snapshots in the parent Region of the Local
9760
+ # Zone, specify `regional` or omit this parameter.
9761
+ #
9762
+ # Default: `regional`
9763
+ # @return [String]
9764
+ #
9312
9765
  # @!attribute [rw] dry_run
9313
9766
  # Checks whether you have the required permissions for the action,
9314
9767
  # without actually making the request, and provides an error response.
@@ -9363,7 +9816,7 @@ module Aws::EC2
9363
9816
  # snapshots. To create an AMI with volumes or snapshots that have a
9364
9817
  # different encryption status (for example, where the source volume
9365
9818
  # and snapshots are unencrypted, and you want to create an AMI with
9366
- # encrypted volumes or snapshots), use the CopyImage action.
9819
+ # encrypted volumes or snapshots), copy the image instead.
9367
9820
  #
9368
9821
  # * The only option that can be changed for existing mappings or
9369
9822
  # snapshots is `DeleteOnTermination`.
@@ -9373,6 +9826,7 @@ module Aws::EC2
9373
9826
  #
9374
9827
  class CreateImageRequest < Struct.new(
9375
9828
  :tag_specifications,
9829
+ :snapshot_location,
9376
9830
  :dry_run,
9377
9831
  :instance_id,
9378
9832
  :name,
@@ -9395,6 +9849,71 @@ module Aws::EC2
9395
9849
  include Aws::Structure
9396
9850
  end
9397
9851
 
9852
+ # @!attribute [rw] image_id
9853
+ # The ID of the image to report on.
9854
+ # @return [String]
9855
+ #
9856
+ # @!attribute [rw] dry_run
9857
+ # Checks whether you have the required permissions for the action,
9858
+ # without actually making the request, and provides an error response.
9859
+ # If you have the required permissions, the error response is
9860
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
9861
+ # @return [Boolean]
9862
+ #
9863
+ # @!attribute [rw] resource_types
9864
+ # The resource types to include in the report.
9865
+ # @return [Array<Types::ImageUsageResourceTypeRequest>]
9866
+ #
9867
+ # @!attribute [rw] account_ids
9868
+ # The Amazon Web Services account IDs to include in the report. To
9869
+ # include all accounts, omit this parameter.
9870
+ # @return [Array<String>]
9871
+ #
9872
+ # @!attribute [rw] client_token
9873
+ # A unique, case-sensitive identifier that you provide to ensure
9874
+ # idempotency of the request.
9875
+ #
9876
+ # **A suitable default value is auto-generated.** You should normally
9877
+ # not need to pass this option.
9878
+ # @return [String]
9879
+ #
9880
+ # @!attribute [rw] tag_specifications
9881
+ # The tags to apply to the report on creation. The `ResourceType` must
9882
+ # be set to `image-usage-report`; any other value will cause the
9883
+ # report creation to fail.
9884
+ #
9885
+ # To tag a report after it has been created, see [CreateTags][1].
9886
+ #
9887
+ #
9888
+ #
9889
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
9890
+ # @return [Array<Types::TagSpecification>]
9891
+ #
9892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageUsageReportRequest AWS API Documentation
9893
+ #
9894
+ class CreateImageUsageReportRequest < Struct.new(
9895
+ :image_id,
9896
+ :dry_run,
9897
+ :resource_types,
9898
+ :account_ids,
9899
+ :client_token,
9900
+ :tag_specifications)
9901
+ SENSITIVE = []
9902
+ include Aws::Structure
9903
+ end
9904
+
9905
+ # @!attribute [rw] report_id
9906
+ # The ID of the report.
9907
+ # @return [String]
9908
+ #
9909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageUsageReportResult AWS API Documentation
9910
+ #
9911
+ class CreateImageUsageReportResult < Struct.new(
9912
+ :report_id)
9913
+ SENSITIVE = []
9914
+ include Aws::Structure
9915
+ end
9916
+
9398
9917
  # @!attribute [rw] dry_run
9399
9918
  # Checks whether you have the required permissions for the action,
9400
9919
  # without actually making the request, and provides an error response.
@@ -9421,6 +9940,12 @@ module Aws::EC2
9421
9940
  #
9422
9941
  # * `false` - Use the network interface IP address as the source.
9423
9942
  #
9943
+ # <note markdown="1"> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect
9944
+ # Endpoints. To use `PreserveClientIp`, the value for `IpAddressType`
9945
+ # must be `ipv4`.
9946
+ #
9947
+ # </note>
9948
+ #
9424
9949
  # Default: `false`
9425
9950
  # @return [Boolean]
9426
9951
  #
@@ -9437,6 +9962,25 @@ module Aws::EC2
9437
9962
  # creation.
9438
9963
  # @return [Array<Types::TagSpecification>]
9439
9964
  #
9965
+ # @!attribute [rw] ip_address_type
9966
+ # The IP address type of the endpoint.
9967
+ #
9968
+ # If no value is specified, the default value is determined by the IP
9969
+ # address type of the subnet:
9970
+ #
9971
+ # * `dualstack` - If the subnet has both IPv4 and IPv6 CIDRs
9972
+ #
9973
+ # * `ipv4` - If the subnet has only IPv4 CIDRs
9974
+ #
9975
+ # * `ipv6` - If the subnet has only IPv6 CIDRs
9976
+ #
9977
+ # <note markdown="1"> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect
9978
+ # Endpoints. To use `PreserveClientIp`, the value for `IpAddressType`
9979
+ # must be `ipv4`.
9980
+ #
9981
+ # </note>
9982
+ # @return [String]
9983
+ #
9440
9984
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceConnectEndpointRequest AWS API Documentation
9441
9985
  #
9442
9986
  class CreateInstanceConnectEndpointRequest < Struct.new(
@@ -9445,7 +9989,8 @@ module Aws::EC2
9445
9989
  :security_group_ids,
9446
9990
  :preserve_client_ip,
9447
9991
  :client_token,
9448
- :tag_specifications)
9992
+ :tag_specifications,
9993
+ :ip_address_type)
9449
9994
  SENSITIVE = []
9450
9995
  include Aws::Structure
9451
9996
  end
@@ -10616,6 +11161,101 @@ module Aws::EC2
10616
11161
  include Aws::Structure
10617
11162
  end
10618
11163
 
11164
+ # @!attribute [rw] client_token
11165
+ # Unique, case-sensitive identifier that you provide to ensure the
11166
+ # idempotency of the request. For more information, see [Ensuring
11167
+ # Idempotency][1].
11168
+ #
11169
+ # **A suitable default value is auto-generated.** You should normally
11170
+ # not need to pass this option.
11171
+ #
11172
+ #
11173
+ #
11174
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
11175
+ # @return [String]
11176
+ #
11177
+ # @!attribute [rw] dry_run
11178
+ # Checks whether you have the required permissions for the action,
11179
+ # without actually making the request, and provides an error response.
11180
+ # If you have the required permissions, the error response is
11181
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11182
+ # @return [Boolean]
11183
+ #
11184
+ # @!attribute [rw] instance_id
11185
+ # The ID of the Amazon EC2 Mac instance.
11186
+ # @return [String]
11187
+ #
11188
+ # @!attribute [rw] mac_credentials
11189
+ # **\[Apple silicon Mac instances only\]** Specifies the following
11190
+ # credentials:
11191
+ #
11192
+ # * **Internal disk administrative user**
11193
+ #
11194
+ # * **Username** - Only the default administrative user
11195
+ # (`aws-managed-user`) is supported and it is used by default. You
11196
+ # can't specify a different administrative user.
11197
+ #
11198
+ # * **Password** - If you did not change the default password for
11199
+ # `aws-managed-user`, specify the default password, which is
11200
+ # *blank*. Otherwise, specify your password.
11201
+ # * **Amazon EBS root volume administrative user**
11202
+ #
11203
+ # * **Username** - If you did not change the default administrative
11204
+ # user, specify `ec2-user`. Otherwise, specify the username for
11205
+ # your administrative user.
11206
+ #
11207
+ # * **Password** - Specify the password for the administrative user.
11208
+ #
11209
+ # The credentials must be specified in the following JSON format:
11210
+ #
11211
+ # `{ "internalDiskPassword":"internal-disk-admin_password",
11212
+ # "rootVolumeUsername":"root-volume-admin_username",
11213
+ # "rootVolumepassword":"root-volume-admin_password" }`
11214
+ # @return [String]
11215
+ #
11216
+ # @!attribute [rw] mac_system_integrity_protection_configuration
11217
+ # Specifies the overrides to selectively enable or disable individual
11218
+ # SIP settings. The individual settings you specify here override the
11219
+ # overall SIP status you specify for
11220
+ # **MacSystemIntegrityProtectionStatus**.
11221
+ # @return [Types::MacSystemIntegrityProtectionConfigurationRequest]
11222
+ #
11223
+ # @!attribute [rw] mac_system_integrity_protection_status
11224
+ # Specifies the overall SIP status for the instance. To enable all SIP
11225
+ # settings, specify `enabled`. To disable all SIP settings, specify
11226
+ # `disabled`.
11227
+ # @return [String]
11228
+ #
11229
+ # @!attribute [rw] tag_specifications
11230
+ # Specifies tags to apply to the SIP modification task.
11231
+ # @return [Array<Types::TagSpecification>]
11232
+ #
11233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateMacSystemIntegrityProtectionModificationTaskRequest AWS API Documentation
11234
+ #
11235
+ class CreateMacSystemIntegrityProtectionModificationTaskRequest < Struct.new(
11236
+ :client_token,
11237
+ :dry_run,
11238
+ :instance_id,
11239
+ :mac_credentials,
11240
+ :mac_system_integrity_protection_configuration,
11241
+ :mac_system_integrity_protection_status,
11242
+ :tag_specifications)
11243
+ SENSITIVE = [:mac_credentials]
11244
+ include Aws::Structure
11245
+ end
11246
+
11247
+ # @!attribute [rw] mac_modification_task
11248
+ # Information about the SIP modification task.
11249
+ # @return [Types::MacModificationTask]
11250
+ #
11251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateMacSystemIntegrityProtectionModificationTaskResult AWS API Documentation
11252
+ #
11253
+ class CreateMacSystemIntegrityProtectionModificationTaskResult < Struct.new(
11254
+ :mac_modification_task)
11255
+ SENSITIVE = []
11256
+ include Aws::Structure
11257
+ end
11258
+
10619
11259
  # @!attribute [rw] dry_run
10620
11260
  # Checks whether you have the required permissions for the action,
10621
11261
  # without actually making the request, and provides an error response.
@@ -11712,6 +12352,10 @@ module Aws::EC2
11712
12352
  # The Amazon Resource Name (ARN) of the core network.
11713
12353
  # @return [String]
11714
12354
  #
12355
+ # @!attribute [rw] odb_network_arn
12356
+ # The Amazon Resource Name (ARN) of the ODB network.
12357
+ # @return [String]
12358
+ #
11715
12359
  # @!attribute [rw] dry_run
11716
12360
  # Checks whether you have the required permissions for the action,
11717
12361
  # without actually making the request, and provides an error response.
@@ -11771,6 +12415,7 @@ module Aws::EC2
11771
12415
  :local_gateway_id,
11772
12416
  :carrier_gateway_id,
11773
12417
  :core_network_arn,
12418
+ :odb_network_arn,
11774
12419
  :dry_run,
11775
12420
  :route_table_id,
11776
12421
  :destination_cidr_block,
@@ -12225,7 +12870,7 @@ module Aws::EC2
12225
12870
  # * To create local snapshots in the same Local Zone as the source
12226
12871
  # instance, specify `local`.
12227
12872
  #
12228
- # * To create a regional snapshots in the parent Region of the Local
12873
+ # * To create regional snapshots in the parent Region of the Local
12229
12874
  # Zone, specify `regional` or omit this parameter.
12230
12875
  #
12231
12876
  # Default value: `regional`
@@ -14211,6 +14856,17 @@ module Aws::EC2
14211
14856
  # @!attribute [rw] availability_zone
14212
14857
  # The ID of the Availability Zone in which to create the volume. For
14213
14858
  # example, `us-east-1a`.
14859
+ #
14860
+ # Either `AvailabilityZone` or `AvailabilityZoneId` must be specified,
14861
+ # but not both.
14862
+ # @return [String]
14863
+ #
14864
+ # @!attribute [rw] availability_zone_id
14865
+ # The ID of the Availability Zone in which to create the volume. For
14866
+ # example, `use1-az1`.
14867
+ #
14868
+ # Either `AvailabilityZone` or `AvailabilityZoneId` must be specified,
14869
+ # but not both.
14214
14870
  # @return [String]
14215
14871
  #
14216
14872
  # @!attribute [rw] encrypted
@@ -14239,7 +14895,7 @@ module Aws::EC2
14239
14895
  #
14240
14896
  # The following are the supported values for each volume type:
14241
14897
  #
14242
- # * `gp3`: 3,000 - 16,000 IOPS
14898
+ # * `gp3`: 3,000 - 80,000 IOPS
14243
14899
  #
14244
14900
  # * `io1`: 100 - 64,000 IOPS
14245
14901
  #
@@ -14300,7 +14956,9 @@ module Aws::EC2
14300
14956
  #
14301
14957
  # The following are the supported volumes sizes for each volume type:
14302
14958
  #
14303
- # * `gp2` and `gp3`: 1 - 16,384 GiB
14959
+ # * `gp2`: 1 - 16,384 GiB
14960
+ #
14961
+ # * `gp3`: 1 - 65,536 GiB
14304
14962
  #
14305
14963
  # * `io1`: 4 - 16,384 GiB
14306
14964
  #
@@ -14361,12 +15019,12 @@ module Aws::EC2
14361
15019
  # @return [Boolean]
14362
15020
  #
14363
15021
  # @!attribute [rw] throughput
14364
- # The throughput to provision for a volume, with a maximum of 1,000
15022
+ # The throughput to provision for a volume, with a maximum of 2,000
14365
15023
  # MiB/s.
14366
15024
  #
14367
15025
  # This parameter is valid only for `gp3` volumes.
14368
15026
  #
14369
- # Valid Range: Minimum value of 125. Maximum value of 1000.
15027
+ # Valid Range: Minimum value of 125. Maximum value of 2,000.
14370
15028
  # @return [Integer]
14371
15029
  #
14372
15030
  # @!attribute [rw] client_token
@@ -14432,6 +15090,7 @@ module Aws::EC2
14432
15090
  #
14433
15091
  class CreateVolumeRequest < Struct.new(
14434
15092
  :availability_zone,
15093
+ :availability_zone_id,
14435
15094
  :encrypted,
14436
15095
  :iops,
14437
15096
  :kms_key_id,
@@ -15017,6 +15676,12 @@ module Aws::EC2
15017
15676
  # The tags to apply to the VPN connection.
15018
15677
  # @return [Array<Types::TagSpecification>]
15019
15678
  #
15679
+ # @!attribute [rw] pre_shared_key_storage
15680
+ # Specifies the storage mode for the pre-shared key (PSK). Valid
15681
+ # values are `Standard`" (stored in the Site-to-Site VPN service) or
15682
+ # `SecretsManager` (stored in Amazon Web Services Secrets Manager).
15683
+ # @return [String]
15684
+ #
15020
15685
  # @!attribute [rw] dry_run
15021
15686
  # Checks whether you have the required permissions for the action,
15022
15687
  # without actually making the request, and provides an error response.
@@ -15036,6 +15701,7 @@ module Aws::EC2
15036
15701
  :vpn_gateway_id,
15037
15702
  :transit_gateway_id,
15038
15703
  :tag_specifications,
15704
+ :pre_shared_key_storage,
15039
15705
  :dry_run,
15040
15706
  :options)
15041
15707
  SENSITIVE = []
@@ -15132,6 +15798,38 @@ module Aws::EC2
15132
15798
  include Aws::Structure
15133
15799
  end
15134
15800
 
15801
+ # The maximum age for allowed images.
15802
+ #
15803
+ # @!attribute [rw] maximum_days_since_created
15804
+ # The maximum number of days that have elapsed since the image was
15805
+ # created. For example, a value of `300` allows images that were
15806
+ # created within the last 300 days.
15807
+ # @return [Integer]
15808
+ #
15809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreationDateCondition AWS API Documentation
15810
+ #
15811
+ class CreationDateCondition < Struct.new(
15812
+ :maximum_days_since_created)
15813
+ SENSITIVE = []
15814
+ include Aws::Structure
15815
+ end
15816
+
15817
+ # The maximum age for allowed images.
15818
+ #
15819
+ # @!attribute [rw] maximum_days_since_created
15820
+ # The maximum number of days that have elapsed since the image was
15821
+ # created. For example, a value of `300` allows images that were
15822
+ # created within the last 300 days.
15823
+ # @return [Integer]
15824
+ #
15825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreationDateConditionRequest AWS API Documentation
15826
+ #
15827
+ class CreationDateConditionRequest < Struct.new(
15828
+ :maximum_days_since_created)
15829
+ SENSITIVE = []
15830
+ include Aws::Structure
15831
+ end
15832
+
15135
15833
  # Describes the credit option for CPU usage of a T instance.
15136
15834
  #
15137
15835
  # @!attribute [rw] cpu_credits
@@ -15200,11 +15898,13 @@ module Aws::EC2
15200
15898
  # @return [String]
15201
15899
  #
15202
15900
  # @!attribute [rw] ip_address
15203
- # IPv4 address for the customer gateway device's outside interface.
15901
+ # The IP address for the customer gateway device's outside interface.
15204
15902
  # The address must be static. If `OutsideIpAddressType` in your VPN
15205
15903
  # connection options is set to `PrivateIpv4`, you can use an RFC6598
15206
15904
  # or RFC1918 private IPv4 address. If `OutsideIpAddressType` is set to
15207
- # `PublicIpv4`, you can use a public IPv4 address.
15905
+ # `PublicIpv4`, you can use a public IPv4 address. If
15906
+ # `OutsideIpAddressType` is set to `Ipv6`, you can use a public IPv6
15907
+ # address.
15208
15908
  # @return [String]
15209
15909
  #
15210
15910
  # @!attribute [rw] bgp_asn
@@ -15814,6 +16514,39 @@ module Aws::EC2
15814
16514
  include Aws::Structure
15815
16515
  end
15816
16516
 
16517
+ # @!attribute [rw] report_id
16518
+ # The ID of the report to delete.
16519
+ # @return [String]
16520
+ #
16521
+ # @!attribute [rw] dry_run
16522
+ # Checks whether you have the required permissions for the action,
16523
+ # without actually making the request, and provides an error response.
16524
+ # If you have the required permissions, the error response is
16525
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16526
+ # @return [Boolean]
16527
+ #
16528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteImageUsageReportRequest AWS API Documentation
16529
+ #
16530
+ class DeleteImageUsageReportRequest < Struct.new(
16531
+ :report_id,
16532
+ :dry_run)
16533
+ SENSITIVE = []
16534
+ include Aws::Structure
16535
+ end
16536
+
16537
+ # @!attribute [rw] return
16538
+ # Returns `true` if the request succeeds; otherwise, it returns an
16539
+ # error.
16540
+ # @return [Boolean]
16541
+ #
16542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteImageUsageReportResult AWS API Documentation
16543
+ #
16544
+ class DeleteImageUsageReportResult < Struct.new(
16545
+ :return)
16546
+ SENSITIVE = []
16547
+ include Aws::Structure
16548
+ end
16549
+
15817
16550
  # @!attribute [rw] dry_run
15818
16551
  # Checks whether you have the required permissions for the action,
15819
16552
  # without actually making the request, and provides an error response.
@@ -17149,6 +17882,49 @@ module Aws::EC2
17149
17882
  include Aws::Structure
17150
17883
  end
17151
17884
 
17885
+ # The snapshot ID and its deletion result code.
17886
+ #
17887
+ # @!attribute [rw] snapshot_id
17888
+ # The ID of the snapshot.
17889
+ # @return [String]
17890
+ #
17891
+ # @!attribute [rw] return_code
17892
+ # The result code from the snapshot deletion attempt. Possible values:
17893
+ #
17894
+ # * `success` - The snapshot was successfully deleted.
17895
+ #
17896
+ # * `skipped` - The snapshot was not deleted because it's associated
17897
+ # with other AMIs.
17898
+ #
17899
+ # * `missing-permissions` - The snapshot was not deleted because the
17900
+ # role lacks `DeleteSnapshot` permissions. For more information, see
17901
+ # [How Amazon EBS works with IAM][1].
17902
+ #
17903
+ # * `internal-error` - The snapshot was not deleted due to a server
17904
+ # error.
17905
+ #
17906
+ # * `client-error` - The snapshot was not deleted due to a client
17907
+ # configuration error.
17908
+ #
17909
+ # For details about an error, check the `DeleteSnapshot` event in the
17910
+ # CloudTrail event history. For more information, see [View event
17911
+ # history][2] in the *Amazon Web Services CloudTrail User Guide*.
17912
+ #
17913
+ #
17914
+ #
17915
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/security_iam_service-with-iam.html
17916
+ # [2]: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/tutorial-event-history.html
17917
+ # @return [String]
17918
+ #
17919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotReturnCode AWS API Documentation
17920
+ #
17921
+ class DeleteSnapshotReturnCode < Struct.new(
17922
+ :snapshot_id,
17923
+ :return_code)
17924
+ SENSITIVE = []
17925
+ include Aws::Structure
17926
+ end
17927
+
17152
17928
  # Contains the parameters for DeleteSpotDatafeedSubscription.
17153
17929
  #
17154
17930
  # @!attribute [rw] dry_run
@@ -18199,6 +18975,36 @@ module Aws::EC2
18199
18975
  include Aws::Structure
18200
18976
  end
18201
18977
 
18978
+ # The maximum period since deprecation for allowed images.
18979
+ #
18980
+ # @!attribute [rw] maximum_days_since_deprecated
18981
+ # The maximum number of days that have elapsed since the image was
18982
+ # deprecated. When set to `0`, no deprecated images are allowed.
18983
+ # @return [Integer]
18984
+ #
18985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprecationTimeCondition AWS API Documentation
18986
+ #
18987
+ class DeprecationTimeCondition < Struct.new(
18988
+ :maximum_days_since_deprecated)
18989
+ SENSITIVE = []
18990
+ include Aws::Structure
18991
+ end
18992
+
18993
+ # The maximum period since deprecation for allowed images.
18994
+ #
18995
+ # @!attribute [rw] maximum_days_since_deprecated
18996
+ # The maximum number of days that have elapsed since the image was
18997
+ # deprecated. Set to `0` to exclude all deprecated images.
18998
+ # @return [Integer]
18999
+ #
19000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprecationTimeConditionRequest AWS API Documentation
19001
+ #
19002
+ class DeprecationTimeConditionRequest < Struct.new(
19003
+ :maximum_days_since_deprecated)
19004
+ SENSITIVE = []
19005
+ include Aws::Structure
19006
+ end
19007
+
18202
19008
  # @!attribute [rw] cidr
18203
19009
  # The address range, in CIDR notation. The prefix must be the same
18204
19010
  # prefix that you specified when you provisioned the address range.
@@ -18318,11 +19124,7 @@ module Aws::EC2
18318
19124
  # @return [String]
18319
19125
  #
18320
19126
  # @!attribute [rw] cidr
18321
- # The CIDR you want to deprovision from the pool. Enter the CIDR you
18322
- # want to deprovision with a netmask of `/32`. You must rerun this
18323
- # command for each IP address in the CIDR range. If your CIDR is a
18324
- # `/24`, you will have to run this command to deprovision each of the
18325
- # 256 IP addresses in the `/24` CIDR.
19127
+ # The CIDR you want to deprovision from the pool.
18326
19128
  # @return [String]
18327
19129
  #
18328
19130
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionPublicIpv4PoolCidrRequest AWS API Documentation
@@ -18358,6 +19160,18 @@ module Aws::EC2
18358
19160
  # The ID of the AMI.
18359
19161
  # @return [String]
18360
19162
  #
19163
+ # @!attribute [rw] delete_associated_snapshots
19164
+ # Specifies whether to delete the snapshots associated with the AMI
19165
+ # during deregistration.
19166
+ #
19167
+ # <note markdown="1"> If a snapshot is associated with multiple AMIs, it is not deleted,
19168
+ # regardless of this setting.
19169
+ #
19170
+ # </note>
19171
+ #
19172
+ # Default: The snapshots are not deleted.
19173
+ # @return [Boolean]
19174
+ #
18361
19175
  # @!attribute [rw] dry_run
18362
19176
  # Checks whether you have the required permissions for the action,
18363
19177
  # without actually making the request, and provides an error response.
@@ -18369,14 +19183,30 @@ module Aws::EC2
18369
19183
  #
18370
19184
  class DeregisterImageRequest < Struct.new(
18371
19185
  :image_id,
19186
+ :delete_associated_snapshots,
18372
19187
  :dry_run)
18373
19188
  SENSITIVE = []
18374
19189
  include Aws::Structure
18375
19190
  end
18376
19191
 
19192
+ # @!attribute [rw] return
19193
+ # Returns `true` if the request succeeds; otherwise, it returns an
19194
+ # error.
19195
+ # @return [Boolean]
19196
+ #
19197
+ # @!attribute [rw] delete_snapshot_results
19198
+ # The deletion result for each snapshot associated with the AMI,
19199
+ # including the snapshot ID and its success or error code.
19200
+ # @return [Array<Types::DeleteSnapshotReturnCode>]
19201
+ #
18377
19202
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageResult AWS API Documentation
18378
19203
  #
18379
- class DeregisterImageResult < Aws::EmptyStructure; end
19204
+ class DeregisterImageResult < Struct.new(
19205
+ :return,
19206
+ :delete_snapshot_results)
19207
+ SENSITIVE = []
19208
+ include Aws::Structure
19209
+ end
18380
19210
 
18381
19211
  # @!attribute [rw] dry_run
18382
19212
  # Checks whether you have the required permissions for the action,
@@ -19201,6 +20031,14 @@ module Aws::EC2
19201
20031
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
19202
20032
  # @return [Integer]
19203
20033
  #
20034
+ # @!attribute [rw] ultraserver_type
20035
+ # The EC2 UltraServer type of the Capacity Block offerings.
20036
+ # @return [String]
20037
+ #
20038
+ # @!attribute [rw] ultraserver_count
20039
+ # The number of EC2 UltraServers in the offerings.
20040
+ # @return [Integer]
20041
+ #
19204
20042
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockOfferingsRequest AWS API Documentation
19205
20043
  #
19206
20044
  class DescribeCapacityBlockOfferingsRequest < Struct.new(
@@ -19211,7 +20049,9 @@ module Aws::EC2
19211
20049
  :end_date_range,
19212
20050
  :capacity_duration_hours,
19213
20051
  :next_token,
19214
- :max_results)
20052
+ :max_results,
20053
+ :ultraserver_type,
20054
+ :ultraserver_count)
19215
20055
  SENSITIVE = []
19216
20056
  include Aws::Structure
19217
20057
  end
@@ -19234,6 +20074,152 @@ module Aws::EC2
19234
20074
  include Aws::Structure
19235
20075
  end
19236
20076
 
20077
+ # @!attribute [rw] capacity_block_ids
20078
+ # The ID of the Capacity Block.
20079
+ # @return [Array<String>]
20080
+ #
20081
+ # @!attribute [rw] next_token
20082
+ # The token to use to retrieve the next page of results.
20083
+ # @return [String]
20084
+ #
20085
+ # @!attribute [rw] max_results
20086
+ # The maximum number of items to return for this request. To get the
20087
+ # next page of items, make another request with the token returned in
20088
+ # the output. For more information, see [Pagination][1].
20089
+ #
20090
+ #
20091
+ #
20092
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
20093
+ # @return [Integer]
20094
+ #
20095
+ # @!attribute [rw] filters
20096
+ # One or more filters.
20097
+ #
20098
+ # * `interconnect-status` - The status of the interconnect for the
20099
+ # Capacity Block (`ok` \| `impaired` \| `insufficient-data`).
20100
+ #
20101
+ # ^
20102
+ # @return [Array<Types::Filter>]
20103
+ #
20104
+ # @!attribute [rw] dry_run
20105
+ # Checks whether you have the required permissions for the action,
20106
+ # without actually making the request, and provides an error response.
20107
+ # If you have the required permissions, the error response is
20108
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
20109
+ # @return [Boolean]
20110
+ #
20111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockStatusRequest AWS API Documentation
20112
+ #
20113
+ class DescribeCapacityBlockStatusRequest < Struct.new(
20114
+ :capacity_block_ids,
20115
+ :next_token,
20116
+ :max_results,
20117
+ :filters,
20118
+ :dry_run)
20119
+ SENSITIVE = []
20120
+ include Aws::Structure
20121
+ end
20122
+
20123
+ # @!attribute [rw] capacity_block_statuses
20124
+ # The availability of capacity for a Capacity Block.
20125
+ # @return [Array<Types::CapacityBlockStatus>]
20126
+ #
20127
+ # @!attribute [rw] next_token
20128
+ # The token to use to retrieve the next page of results. This value is
20129
+ # `null` when there are no more results to return.
20130
+ # @return [String]
20131
+ #
20132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockStatusResult AWS API Documentation
20133
+ #
20134
+ class DescribeCapacityBlockStatusResult < Struct.new(
20135
+ :capacity_block_statuses,
20136
+ :next_token)
20137
+ SENSITIVE = []
20138
+ include Aws::Structure
20139
+ end
20140
+
20141
+ # @!attribute [rw] capacity_block_ids
20142
+ # The IDs of the Capacity Blocks.
20143
+ # @return [Array<String>]
20144
+ #
20145
+ # @!attribute [rw] next_token
20146
+ # The token to use to retrieve the next page of results.
20147
+ # @return [String]
20148
+ #
20149
+ # @!attribute [rw] max_results
20150
+ # The maximum number of items to return for this request. To get the
20151
+ # next page of items, make another request with the token returned in
20152
+ # the output. For more information, see [Pagination][1].
20153
+ #
20154
+ #
20155
+ #
20156
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
20157
+ # @return [Integer]
20158
+ #
20159
+ # @!attribute [rw] filters
20160
+ # One or more filters.
20161
+ #
20162
+ # * `capacity-block-id` - The ID of the Capacity Block.
20163
+ #
20164
+ # * `ultraserver-type` - The Capacity Block type. The type can be
20165
+ # `instances` or `ultraservers`.
20166
+ #
20167
+ # * `availability-zone` - The Availability Zone of the Capacity Block.
20168
+ #
20169
+ # * `start-date` - The date and time at which the Capacity Block was
20170
+ # started.
20171
+ #
20172
+ # * `end-date` - The date and time at which the Capacity Block
20173
+ # expires. When a Capacity Block expires, all instances in the
20174
+ # Capacity Block are terminated.
20175
+ #
20176
+ # * `create-date` - The date and time at which the Capacity Block was
20177
+ # created.
20178
+ #
20179
+ # * `state` - The state of the Capacity Block (`active` \| `expired`
20180
+ # \| `unavailable` \| `cancelled` \| `failed` \| `scheduled` \|
20181
+ # `payment-pending` \| `payment-failed`).
20182
+ #
20183
+ # * `tags` - The tags assigned to the Capacity Block.
20184
+ # @return [Array<Types::Filter>]
20185
+ #
20186
+ # @!attribute [rw] dry_run
20187
+ # Checks whether you have the required permissions for the action,
20188
+ # without actually making the request, and provides an error response.
20189
+ # If you have the required permissions, the error response is
20190
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
20191
+ # @return [Boolean]
20192
+ #
20193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlocksRequest AWS API Documentation
20194
+ #
20195
+ class DescribeCapacityBlocksRequest < Struct.new(
20196
+ :capacity_block_ids,
20197
+ :next_token,
20198
+ :max_results,
20199
+ :filters,
20200
+ :dry_run)
20201
+ SENSITIVE = []
20202
+ include Aws::Structure
20203
+ end
20204
+
20205
+ # @!attribute [rw] capacity_blocks
20206
+ # The Capacity Blocks.
20207
+ # @return [Array<Types::CapacityBlock>]
20208
+ #
20209
+ # @!attribute [rw] next_token
20210
+ # The token to use to retrieve the next page of results. This value is
20211
+ # `null` when there are no more results to return.
20212
+ # @return [String]
20213
+ #
20214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlocksResult AWS API Documentation
20215
+ #
20216
+ class DescribeCapacityBlocksResult < Struct.new(
20217
+ :capacity_blocks,
20218
+ :next_token)
20219
+ SENSITIVE = []
20220
+ include Aws::Structure
20221
+ end
20222
+
19237
20223
  # @!attribute [rw] capacity_reservation_ids
19238
20224
  # The ID of the Capacity Reservation.
19239
20225
  # @return [Array<String>]
@@ -21699,8 +22685,8 @@ module Aws::EC2
21699
22685
  #
21700
22686
  # **Note**: The `blockDeviceMapping` attribute is deprecated. Using
21701
22687
  # this attribute returns the `Client.AuthFailure` error. To get
21702
- # information about the block device mappings for an AMI, use the
21703
- # DescribeImages action.
22688
+ # information about the block device mappings for an AMI, describe the
22689
+ # image instead.
21704
22690
  # @return [String]
21705
22691
  #
21706
22692
  # @!attribute [rw] image_id
@@ -21724,6 +22710,244 @@ module Aws::EC2
21724
22710
  include Aws::Structure
21725
22711
  end
21726
22712
 
22713
+ # @!attribute [rw] image_ids
22714
+ # The IDs of the images to check for resource references.
22715
+ # @return [Array<String>]
22716
+ #
22717
+ # @!attribute [rw] include_all_resource_types
22718
+ # Specifies whether to check all supported Amazon Web Services
22719
+ # resource types for image references. When specified, default values
22720
+ # are applied for `ResourceTypeOptions`. For the default values, see
22721
+ # [How AMI reference checks work][1] in the *Amazon EC2 User Guide*.
22722
+ # If you also specify `ResourceTypes` with `ResourceTypeOptions`, your
22723
+ # specified values override the default values.
22724
+ #
22725
+ # Supported resource types: `ec2:Instance` \| `ec2:LaunchTemplate` \|
22726
+ # `ssm:Parameter` \| `imagebuilder:ImageRecipe` \|
22727
+ # `imagebuilder:ContainerRecipe`
22728
+ #
22729
+ # Either `IncludeAllResourceTypes` or `ResourceTypes` must be
22730
+ # specified.
22731
+ #
22732
+ #
22733
+ #
22734
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-ami-references.html#how-ami-references-works
22735
+ # @return [Boolean]
22736
+ #
22737
+ # @!attribute [rw] resource_types
22738
+ # The Amazon Web Services resource types to check for image
22739
+ # references.
22740
+ #
22741
+ # Either `IncludeAllResourceTypes` or `ResourceTypes` must be
22742
+ # specified.
22743
+ # @return [Array<Types::ResourceTypeRequest>]
22744
+ #
22745
+ # @!attribute [rw] next_token
22746
+ # The token returned from a previous paginated request. Pagination
22747
+ # continues from the end of the items returned by the previous
22748
+ # request.
22749
+ # @return [String]
22750
+ #
22751
+ # @!attribute [rw] dry_run
22752
+ # Checks whether you have the required permissions for the action,
22753
+ # without actually making the request, and provides an error response.
22754
+ # If you have the required permissions, the error response is
22755
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
22756
+ # @return [Boolean]
22757
+ #
22758
+ # @!attribute [rw] max_results
22759
+ # The maximum number of items to return for this request. To get the
22760
+ # next page of items, make another request with the token returned in
22761
+ # the output. For more information, see [Pagination][1].
22762
+ #
22763
+ #
22764
+ #
22765
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
22766
+ # @return [Integer]
22767
+ #
22768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageReferencesRequest AWS API Documentation
22769
+ #
22770
+ class DescribeImageReferencesRequest < Struct.new(
22771
+ :image_ids,
22772
+ :include_all_resource_types,
22773
+ :resource_types,
22774
+ :next_token,
22775
+ :dry_run,
22776
+ :max_results)
22777
+ SENSITIVE = []
22778
+ include Aws::Structure
22779
+ end
22780
+
22781
+ # @!attribute [rw] next_token
22782
+ # The token to include in another request to get the next page of
22783
+ # items. This value is `null` when there are no more items to return.
22784
+ # @return [String]
22785
+ #
22786
+ # @!attribute [rw] image_references
22787
+ # The resources that are referencing the specified images.
22788
+ # @return [Array<Types::ImageReference>]
22789
+ #
22790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageReferencesResult AWS API Documentation
22791
+ #
22792
+ class DescribeImageReferencesResult < Struct.new(
22793
+ :next_token,
22794
+ :image_references)
22795
+ SENSITIVE = []
22796
+ include Aws::Structure
22797
+ end
22798
+
22799
+ # @!attribute [rw] image_ids
22800
+ # The IDs of the images for filtering the report entries. If
22801
+ # specified, only report entries containing these images are returned.
22802
+ # @return [Array<String>]
22803
+ #
22804
+ # @!attribute [rw] report_ids
22805
+ # The IDs of the usage reports.
22806
+ # @return [Array<String>]
22807
+ #
22808
+ # @!attribute [rw] next_token
22809
+ # The token returned from a previous paginated request. Pagination
22810
+ # continues from the end of the items returned by the previous
22811
+ # request.
22812
+ # @return [String]
22813
+ #
22814
+ # @!attribute [rw] filters
22815
+ # The filters.
22816
+ #
22817
+ # * `account-id` - A 12-digit Amazon Web Services account ID.
22818
+ #
22819
+ # * `creation-time` - The time when the report was created, in the ISO
22820
+ # 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for
22821
+ # example, `2025-11-29T11:04:43.305Z`. You can use a wildcard (`*`),
22822
+ # for example, `2025-11-29T*`, which matches an entire day.
22823
+ #
22824
+ # * `resource-type` - The resource type (`ec2:Instance` \|
22825
+ # `ec2:LaunchTemplate`).
22826
+ # @return [Array<Types::Filter>]
22827
+ #
22828
+ # @!attribute [rw] dry_run
22829
+ # Checks whether you have the required permissions for the action,
22830
+ # without actually making the request, and provides an error response.
22831
+ # If you have the required permissions, the error response is
22832
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
22833
+ # @return [Boolean]
22834
+ #
22835
+ # @!attribute [rw] max_results
22836
+ # The maximum number of items to return for this request. To get the
22837
+ # next page of items, make another request with the token returned in
22838
+ # the output. For more information, see [Pagination][1].
22839
+ #
22840
+ #
22841
+ #
22842
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
22843
+ # @return [Integer]
22844
+ #
22845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageUsageReportEntriesRequest AWS API Documentation
22846
+ #
22847
+ class DescribeImageUsageReportEntriesRequest < Struct.new(
22848
+ :image_ids,
22849
+ :report_ids,
22850
+ :next_token,
22851
+ :filters,
22852
+ :dry_run,
22853
+ :max_results)
22854
+ SENSITIVE = []
22855
+ include Aws::Structure
22856
+ end
22857
+
22858
+ # @!attribute [rw] next_token
22859
+ # The token to include in another request to get the next page of
22860
+ # items. This value is `null` when there are no more items to return.
22861
+ # @return [String]
22862
+ #
22863
+ # @!attribute [rw] image_usage_report_entries
22864
+ # The content of the usage reports.
22865
+ # @return [Array<Types::ImageUsageReportEntry>]
22866
+ #
22867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageUsageReportEntriesResult AWS API Documentation
22868
+ #
22869
+ class DescribeImageUsageReportEntriesResult < Struct.new(
22870
+ :next_token,
22871
+ :image_usage_report_entries)
22872
+ SENSITIVE = []
22873
+ include Aws::Structure
22874
+ end
22875
+
22876
+ # @!attribute [rw] image_ids
22877
+ # The IDs of the images for filtering the reports. If specified, only
22878
+ # reports containing these images are returned.
22879
+ # @return [Array<String>]
22880
+ #
22881
+ # @!attribute [rw] report_ids
22882
+ # The IDs of the image usage reports.
22883
+ # @return [Array<String>]
22884
+ #
22885
+ # @!attribute [rw] next_token
22886
+ # The token returned from a previous paginated request. Pagination
22887
+ # continues from the end of the items returned by the previous
22888
+ # request.
22889
+ # @return [String]
22890
+ #
22891
+ # @!attribute [rw] filters
22892
+ # The filters.
22893
+ #
22894
+ # * `creation-time` - The time when the report was created, in the ISO
22895
+ # 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for
22896
+ # example, `2025-11-29T11:04:43.305Z`. You can use a wildcard (`*`),
22897
+ # for example, `2025-11-29T*`, which matches an entire day.
22898
+ #
22899
+ # * `state` - The state of the report (`available` \| `pending` \|
22900
+ # `error`).
22901
+ # @return [Array<Types::Filter>]
22902
+ #
22903
+ # @!attribute [rw] dry_run
22904
+ # Checks whether you have the required permissions for the action,
22905
+ # without actually making the request, and provides an error response.
22906
+ # If you have the required permissions, the error response is
22907
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
22908
+ # @return [Boolean]
22909
+ #
22910
+ # @!attribute [rw] max_results
22911
+ # The maximum number of items to return for this request. To get the
22912
+ # next page of items, make another request with the token returned in
22913
+ # the output. For more information, see [Pagination][1].
22914
+ #
22915
+ #
22916
+ #
22917
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
22918
+ # @return [Integer]
22919
+ #
22920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageUsageReportsRequest AWS API Documentation
22921
+ #
22922
+ class DescribeImageUsageReportsRequest < Struct.new(
22923
+ :image_ids,
22924
+ :report_ids,
22925
+ :next_token,
22926
+ :filters,
22927
+ :dry_run,
22928
+ :max_results)
22929
+ SENSITIVE = []
22930
+ include Aws::Structure
22931
+ end
22932
+
22933
+ # @!attribute [rw] next_token
22934
+ # The token to include in another request to get the next page of
22935
+ # items. This value is `null` when there are no more items to return.
22936
+ # @return [String]
22937
+ #
22938
+ # @!attribute [rw] image_usage_reports
22939
+ # The image usage reports.
22940
+ # @return [Array<Types::ImageUsageReport>]
22941
+ #
22942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageUsageReportsResult AWS API Documentation
22943
+ #
22944
+ class DescribeImageUsageReportsResult < Struct.new(
22945
+ :next_token,
22946
+ :image_usage_reports)
22947
+ SENSITIVE = []
22948
+ include Aws::Structure
22949
+ end
22950
+
21727
22951
  # @!attribute [rw] executable_users
21728
22952
  # Scopes the images by users with explicit launch permissions. Specify
21729
22953
  # an Amazon Web Services account ID, `self` (the sender of the
@@ -21834,6 +23058,10 @@ module Aws::EC2
21834
23058
  # * `ena-support` - A Boolean that indicates whether enhanced
21835
23059
  # networking with ENA is enabled.
21836
23060
  #
23061
+ # * `free-tier-eligible` - A Boolean that indicates whether this image
23062
+ # can be used under the Amazon Web Services Free Tier (`true` \|
23063
+ # `false`).
23064
+ #
21837
23065
  # * `hypervisor` - The hypervisor type (`ovm` \| `xen`).
21838
23066
  #
21839
23067
  # * `image-allowed` - A Boolean that indicates whether the image meets
@@ -22516,6 +23744,9 @@ module Aws::EC2
22516
23744
  #
22517
23745
  # * `availability-zone` - The Availability Zone of the instance.
22518
23746
  #
23747
+ # * `availability-zone-id` - The ID of the Availability Zone of the
23748
+ # instance.
23749
+ #
22519
23750
  # * `event.code` - The code for the scheduled event (`instance-reboot`
22520
23751
  # \| `system-reboot` \| `system-maintenance` \|
22521
23752
  # `instance-retirement` \| `instance-stop`).
@@ -22816,6 +24047,12 @@ module Aws::EC2
22816
24047
  # * `dedicated-hosts-supported` - Indicates whether the instance type
22817
24048
  # supports Dedicated Hosts. (`true` \| `false`)
22818
24049
  #
24050
+ # * `ebs-info.attachment-limit-type` - The type of Amazon EBS volume
24051
+ # attachment limit (`shared` \| `dedicated`).
24052
+ #
24053
+ # * `ebs-info.maximum-ebs-attachments` - The maximum number of Amazon
24054
+ # EBS volumes that can be attached to the instance type.
24055
+ #
22819
24056
  # * `ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps` - The
22820
24057
  # baseline bandwidth performance for an EBS-optimized instance type,
22821
24058
  # in Mbps.
@@ -22850,8 +24087,9 @@ module Aws::EC2
22850
24087
  # express (NVMe) is supported for EBS volumes (`required` \|
22851
24088
  # `supported` \| `unsupported`).
22852
24089
  #
22853
- # * `free-tier-eligible` - Indicates whether the instance type is
22854
- # eligible to use in the free tier (`true` \| `false`).
24090
+ # * `free-tier-eligible` - A Boolean that indicates whether this
24091
+ # instance type can be used under the Amazon Web Services Free Tier
24092
+ # (`true` \| `false`).
22855
24093
  #
22856
24094
  # * `hibernation-supported` - Indicates whether On-Demand hibernation
22857
24095
  # is supported (`true` \| `false`).
@@ -22943,6 +24181,9 @@ module Aws::EC2
22943
24181
  # * `processor-info.supported-features` - The supported CPU features
22944
24182
  # (`amd-sev-snp`).
22945
24183
  #
24184
+ # * `reboot-migration-support` - Indicates whether enabling reboot
24185
+ # migration is supported (`supported` \| `unsupported`).
24186
+ #
22946
24187
  # * `supported-boot-mode` - The boot mode (`legacy-bios` \| `uefi`).
22947
24188
  #
22948
24189
  # * `supported-root-device-type` - The root device type (`ebs` \|
@@ -23041,6 +24282,9 @@ module Aws::EC2
23041
24282
  #
23042
24283
  # * `availability-zone` - The Availability Zone of the instance.
23043
24284
  #
24285
+ # * `availability-zone-id` - The ID of the Availability Zone of the
24286
+ # instance.
24287
+ #
23044
24288
  # * `block-device-mapping.attach-time` - The attach time for an EBS
23045
24289
  # volume mapped to the instance, for example,
23046
24290
  # `2022-09-15T17:15:20.000Z`.
@@ -23374,15 +24618,16 @@ module Aws::EC2
23374
24618
  #
23375
24619
  # * `platform-details` - The platform (`Linux/UNIX` \| `Red Hat BYOL
23376
24620
  # Linux` \| ` Red Hat Enterprise Linux` \| `Red Hat Enterprise Linux
23377
- # with HA` \| `Red Hat Enterprise Linux with SQL Server Standard and
23378
- # HA` \| `Red Hat Enterprise Linux with SQL Server Enterprise and
23379
- # HA` \| `Red Hat Enterprise Linux with SQL Server Standard` \| `Red
23380
- # Hat Enterprise Linux with SQL Server Web` \| `Red Hat Enterprise
23381
- # Linux with SQL Server Enterprise` \| `SQL Server Enterprise` \|
23382
- # `SQL Server Standard` \| `SQL Server Web` \| `SUSE Linux` \|
23383
- # `Ubuntu Pro` \| `Windows` \| `Windows BYOL` \| `Windows with SQL
23384
- # Server Enterprise` \| `Windows with SQL Server Standard` \|
23385
- # `Windows with SQL Server Web`).
24621
+ # with HA` \| `Red Hat Enterprise Linux with High Availability` \|
24622
+ # `Red Hat Enterprise Linux with SQL Server Standard and HA` \| `Red
24623
+ # Hat Enterprise Linux with SQL Server Enterprise and HA` \| `Red
24624
+ # Hat Enterprise Linux with SQL Server Standard` \| `Red Hat
24625
+ # Enterprise Linux with SQL Server Web` \| `Red Hat Enterprise Linux
24626
+ # with SQL Server Enterprise` \| `SQL Server Enterprise` \| `SQL
24627
+ # Server Standard` \| `SQL Server Web` \| `SUSE Linux` \| `Ubuntu
24628
+ # Pro` \| `Windows` \| `Windows BYOL` \| `Windows with SQL Server
24629
+ # Enterprise` \| `Windows with SQL Server Standard` \| `Windows with
24630
+ # SQL Server Web`).
23386
24631
  #
23387
24632
  # * `private-dns-name` - The private IPv4 DNS name of the instance.
23388
24633
  #
@@ -24925,6 +26170,77 @@ module Aws::EC2
24925
26170
  include Aws::Structure
24926
26171
  end
24927
26172
 
26173
+ # @!attribute [rw] dry_run
26174
+ # Checks whether you have the required permissions for the action,
26175
+ # without actually making the request, and provides an error response.
26176
+ # If you have the required permissions, the error response is
26177
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26178
+ # @return [Boolean]
26179
+ #
26180
+ # @!attribute [rw] filters
26181
+ # Specifies one or more filters for the request:
26182
+ #
26183
+ # * `instance-id` - The ID of the instance for which the task was
26184
+ # created.
26185
+ #
26186
+ # * `task-state` - The state of the task (`successful` \| `failed` \|
26187
+ # `in-progress` \| `pending`).
26188
+ #
26189
+ # * `mac-system-integrity-protection-configuration.sip-status` - The
26190
+ # overall SIP state requested in the task (`enabled` \| `disabled`).
26191
+ #
26192
+ # * `start-time` - The date and time the task was created.
26193
+ #
26194
+ # * `task-type` - The type of task (`sip-modification` \|
26195
+ # `volume-ownership-delegation`).
26196
+ # @return [Array<Types::Filter>]
26197
+ #
26198
+ # @!attribute [rw] mac_modification_task_ids
26199
+ # The ID of task.
26200
+ # @return [Array<String>]
26201
+ #
26202
+ # @!attribute [rw] max_results
26203
+ # The maximum number of results to return for the request in a single
26204
+ # page. The remaining results can be seen by sending another request
26205
+ # with the returned `nextToken` value. This value can be between 5 and
26206
+ # 500. If `maxResults` is given a larger value than 500, you receive
26207
+ # an error.
26208
+ # @return [Integer]
26209
+ #
26210
+ # @!attribute [rw] next_token
26211
+ # The token to use to retrieve the next page of results.
26212
+ # @return [String]
26213
+ #
26214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMacModificationTasksRequest AWS API Documentation
26215
+ #
26216
+ class DescribeMacModificationTasksRequest < Struct.new(
26217
+ :dry_run,
26218
+ :filters,
26219
+ :mac_modification_task_ids,
26220
+ :max_results,
26221
+ :next_token)
26222
+ SENSITIVE = []
26223
+ include Aws::Structure
26224
+ end
26225
+
26226
+ # @!attribute [rw] mac_modification_tasks
26227
+ # Information about the tasks.
26228
+ # @return [Array<Types::MacModificationTask>]
26229
+ #
26230
+ # @!attribute [rw] next_token
26231
+ # The token to use to retrieve the next page of results. This value is
26232
+ # `null` when there are no more results to return.
26233
+ # @return [String]
26234
+ #
26235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMacModificationTasksResult AWS API Documentation
26236
+ #
26237
+ class DescribeMacModificationTasksResult < Struct.new(
26238
+ :mac_modification_tasks,
26239
+ :next_token)
26240
+ SENSITIVE = []
26241
+ include Aws::Structure
26242
+ end
26243
+
24928
26244
  # @!attribute [rw] dry_run
24929
26245
  # Checks whether you have the required permissions for the action,
24930
26246
  # without actually making the request, and provides an error response.
@@ -25777,7 +27093,7 @@ module Aws::EC2
25777
27093
  # * `interface-type` - The type of network interface
25778
27094
  # (`api_gateway_managed` \| `aws_codestar_connections_managed` \|
25779
27095
  # `branch` \| `ec2_instance_connect_endpoint` \| `efa` \| `efa-only`
25780
- # \| `efs` \| `gateway_load_balancer` \|
27096
+ # \| `efs` \| `evs` \| `gateway_load_balancer` \|
25781
27097
  # `gateway_load_balancer_endpoint` \| `global_accelerator_managed`
25782
27098
  # \| `interface` \| `iot_rules_managed` \| `lambda` \|
25783
27099
  # `load_balancer` \| `nat_gateway` \| `network_load_balancer` \|
@@ -26394,6 +27710,9 @@ module Aws::EC2
26394
27710
  # * `modification-result.target-configuration.availability-zone` - The
26395
27711
  # Availability Zone for the new Reserved Instances.
26396
27712
  #
27713
+ # * `modification-result.target-configuration.availability-zone-id` -
27714
+ # The ID of the Availability Zone for the new Reserved Instances.
27715
+ #
26397
27716
  # * `modification-result.target-configuration.instance-count ` - The
26398
27717
  # number of new Reserved Instances.
26399
27718
  #
@@ -26449,6 +27768,9 @@ module Aws::EC2
26449
27768
  #
26450
27769
  # @!attribute [rw] availability_zone
26451
27770
  # The Availability Zone in which the Reserved Instance can be used.
27771
+ #
27772
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
27773
+ # but not both.
26452
27774
  # @return [String]
26453
27775
  #
26454
27776
  # @!attribute [rw] include_marketplace
@@ -26501,6 +27823,13 @@ module Aws::EC2
26501
27823
  # One or more Reserved Instances offering IDs.
26502
27824
  # @return [Array<String>]
26503
27825
  #
27826
+ # @!attribute [rw] availability_zone_id
27827
+ # The ID of the Availability Zone.
27828
+ #
27829
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
27830
+ # but not both.
27831
+ # @return [String]
27832
+ #
26504
27833
  # @!attribute [rw] dry_run
26505
27834
  # Checks whether you have the required permissions for the action,
26506
27835
  # without actually making the request, and provides an error response.
@@ -26514,6 +27843,9 @@ module Aws::EC2
26514
27843
  # * `availability-zone` - The Availability Zone where the Reserved
26515
27844
  # Instance can be used.
26516
27845
  #
27846
+ # * `availability-zone-id` - The ID of the Availability Zone where the
27847
+ # Reserved Instance can be used.
27848
+ #
26517
27849
  # * `duration` - The duration of the Reserved Instance (for example,
26518
27850
  # one year or three years), in seconds (`31536000` \| `94608000`).
26519
27851
  #
@@ -26588,6 +27920,7 @@ module Aws::EC2
26588
27920
  :offering_class,
26589
27921
  :product_description,
26590
27922
  :reserved_instances_offering_ids,
27923
+ :availability_zone_id,
26591
27924
  :dry_run,
26592
27925
  :filters,
26593
27926
  :instance_tenancy,
@@ -26644,6 +27977,9 @@ module Aws::EC2
26644
27977
  # * `availability-zone` - The Availability Zone where the Reserved
26645
27978
  # Instance can be used.
26646
27979
  #
27980
+ # * `availability-zone-id` - The ID of the Availability Zone where the
27981
+ # Reserved Instance can be used.
27982
+ #
26647
27983
  # * `duration` - The duration of the Reserved Instance (one year or
26648
27984
  # three years), in seconds (`31536000` \| `94608000`).
26649
27985
  #
@@ -27282,6 +28618,8 @@ module Aws::EC2
27282
28618
  #
27283
28619
  # * `group-id`: The security group ID.
27284
28620
  #
28621
+ # * `group-owner-id`: The group owner ID.
28622
+ #
27285
28623
  # * `vpc-id`: The ID of the associated VPC.
27286
28624
  #
27287
28625
  # * `vpc-owner-id`: The account ID of the VPC owner.
@@ -28150,6 +29488,9 @@ module Aws::EC2
28150
29488
  # * `launched-availability-zone` - The Availability Zone in which the
28151
29489
  # request is launched.
28152
29490
  #
29491
+ # * `launched-availability-zone-id` - The ID of the Availability Zone
29492
+ # in which the request is launched.
29493
+ #
28153
29494
  # * `network-interface.addresses.primary` - Indicates whether the IP
28154
29495
  # address is the primary private IP address.
28155
29496
  #
@@ -28250,6 +29591,13 @@ module Aws::EC2
28250
29591
 
28251
29592
  # Contains the parameters for DescribeSpotPriceHistory.
28252
29593
  #
29594
+ # @!attribute [rw] availability_zone_id
29595
+ # Filters the results by the specified ID of the Availability Zone.
29596
+ #
29597
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
29598
+ # but not both
29599
+ # @return [String]
29600
+ #
28253
29601
  # @!attribute [rw] dry_run
28254
29602
  # Checks whether you have the required permissions for the action,
28255
29603
  # without actually making the request, and provides an error response.
@@ -28283,6 +29631,9 @@ module Aws::EC2
28283
29631
  # * `availability-zone` - The Availability Zone for which prices
28284
29632
  # should be returned.
28285
29633
  #
29634
+ # * `availability-zone-id` - The ID of the Availability Zone for which
29635
+ # prices should be returned.
29636
+ #
28286
29637
  # * `instance-type` - The type of instance (for example, `m3.medium`).
28287
29638
  #
28288
29639
  # * `product-description` - The product description for the Spot price
@@ -28303,6 +29654,9 @@ module Aws::EC2
28303
29654
  #
28304
29655
  # @!attribute [rw] availability_zone
28305
29656
  # Filters the results by the specified Availability Zone.
29657
+ #
29658
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
29659
+ # but not both
28306
29660
  # @return [String]
28307
29661
  #
28308
29662
  # @!attribute [rw] max_results
@@ -28324,6 +29678,7 @@ module Aws::EC2
28324
29678
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryRequest AWS API Documentation
28325
29679
  #
28326
29680
  class DescribeSpotPriceHistoryRequest < Struct.new(
29681
+ :availability_zone_id,
28327
29682
  :dry_run,
28328
29683
  :start_time,
28329
29684
  :end_time,
@@ -30316,6 +31671,9 @@ module Aws::EC2
30316
31671
  # * `availability-zone` - The Availability Zone in which the volume
30317
31672
  # was created.
30318
31673
  #
31674
+ # * `availability-zone-id` - The ID of the Availability Zone in which
31675
+ # the volume was created.
31676
+ #
30319
31677
  # * `create-time` - The time stamp when the volume was created.
30320
31678
  #
30321
31679
  # * `encrypted` - Indicates whether the volume is encrypted (`true` \|
@@ -30702,9 +32060,6 @@ module Aws::EC2
30702
32060
  #
30703
32061
  # * `resource-configuration-group-arn` - The Amazon Resource Name
30704
32062
  # (ARN) of the resource configuration of type GROUP.
30705
- #
30706
- # * `service-network-resource-association-id` - The ID of the
30707
- # association.
30708
32063
  # @return [Array<Types::Filter>]
30709
32064
  #
30710
32065
  # @!attribute [rw] max_results
@@ -33652,7 +35007,7 @@ module Aws::EC2
33652
35007
  #
33653
35008
  # The following are the supported values for each volume type:
33654
35009
  #
33655
- # * `gp3`: 3,000 - 16,000 IOPS
35010
+ # * `gp3`: 3,000 - 80,000 IOPS
33656
35011
  #
33657
35012
  # * `io1`: 100 - 64,000 IOPS
33658
35013
  #
@@ -33682,7 +35037,9 @@ module Aws::EC2
33682
35037
  #
33683
35038
  # The following are the supported sizes for each volume type:
33684
35039
  #
33685
- # * `gp2` and `gp3`: 1 - 16,384 GiB
35040
+ # * `gp2`: 1 - 16,384 GiB
35041
+ #
35042
+ # * `gp3`: 1 - 65,536 GiB
33686
35043
  #
33687
35044
  # * `io1`: 4 - 16,384 GiB
33688
35045
  #
@@ -33722,7 +35079,7 @@ module Aws::EC2
33722
35079
  #
33723
35080
  # This parameter is valid only for `gp3` volumes.
33724
35081
  #
33725
- # Valid Range: Minimum value of 125. Maximum value of 1000.
35082
+ # Valid Range: Minimum value of 125. Maximum value of 2,000.
33726
35083
  # @return [Integer]
33727
35084
  #
33728
35085
  # @!attribute [rw] outpost_arn
@@ -33735,6 +35092,28 @@ module Aws::EC2
33735
35092
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html
33736
35093
  # @return [String]
33737
35094
  #
35095
+ # @!attribute [rw] availability_zone
35096
+ # The Availability Zone where the EBS volume will be created (for
35097
+ # example, `us-east-1a`).
35098
+ #
35099
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
35100
+ # but not both. If neither is specified, Amazon EC2 automatically
35101
+ # selects an Availability Zone within the Region.
35102
+ #
35103
+ # This parameter is not supported when using [CreateFleet][1],
35104
+ # [CreateImage][2], [DescribeImages][3], [RequestSpotFleet][4],
35105
+ # [RequestSpotInstances][5], and [RunInstances][6].
35106
+ #
35107
+ #
35108
+ #
35109
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html
35110
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html
35111
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html
35112
+ # [4]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html
35113
+ # [5]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html
35114
+ # [6]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html
35115
+ # @return [String]
35116
+ #
33738
35117
  # @!attribute [rw] encrypted
33739
35118
  # Indicates whether the encryption state of an EBS volume is changed
33740
35119
  # while being restored from a backing snapshot. The effect of setting
@@ -33821,6 +35200,28 @@ module Aws::EC2
33821
35200
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html
33822
35201
  # @return [Integer]
33823
35202
  #
35203
+ # @!attribute [rw] availability_zone_id
35204
+ # The ID of the Availability Zone where the EBS volume will be created
35205
+ # (for example, `use1-az1`).
35206
+ #
35207
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
35208
+ # but not both. If neither is specified, Amazon EC2 automatically
35209
+ # selects an Availability Zone within the Region.
35210
+ #
35211
+ # This parameter is not supported when using [CreateFleet][1],
35212
+ # [CreateImage][2], [DescribeImages][3], [RequestSpotFleet][4],
35213
+ # [RequestSpotInstances][5], and [RunInstances][6].
35214
+ #
35215
+ #
35216
+ #
35217
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html
35218
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html
35219
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html
35220
+ # [4]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html
35221
+ # [5]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html
35222
+ # [6]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html
35223
+ # @return [String]
35224
+ #
33824
35225
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice AWS API Documentation
33825
35226
  #
33826
35227
  class EbsBlockDevice < Struct.new(
@@ -33832,8 +35233,10 @@ module Aws::EC2
33832
35233
  :kms_key_id,
33833
35234
  :throughput,
33834
35235
  :outpost_arn,
35236
+ :availability_zone,
33835
35237
  :encrypted,
33836
- :volume_initialization_rate)
35238
+ :volume_initialization_rate,
35239
+ :availability_zone_id)
33837
35240
  SENSITIVE = []
33838
35241
  include Aws::Structure
33839
35242
  end
@@ -33921,13 +35324,37 @@ module Aws::EC2
33921
35324
  # Indicates whether non-volatile memory express (NVMe) is supported.
33922
35325
  # @return [String]
33923
35326
  #
35327
+ # @!attribute [rw] maximum_ebs_attachments
35328
+ # Indicates the maximum number of Amazon EBS volumes that can be
35329
+ # attached to the instance type. For more information, see [Amazon EBS
35330
+ # volume limits for Amazon EC2 instances][1] in the *Amazon EC2 User
35331
+ # Guide*.
35332
+ #
35333
+ #
35334
+ #
35335
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html
35336
+ # @return [Integer]
35337
+ #
35338
+ # @!attribute [rw] attachment_limit_type
35339
+ # Indicates whether the instance type features a shared or dedicated
35340
+ # Amazon EBS volume attachment limit. For more information, see
35341
+ # [Amazon EBS volume limits for Amazon EC2 instances][1] in the
35342
+ # *Amazon EC2 User Guide*.
35343
+ #
35344
+ #
35345
+ #
35346
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html
35347
+ # @return [String]
35348
+ #
33924
35349
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInfo AWS API Documentation
33925
35350
  #
33926
35351
  class EbsInfo < Struct.new(
33927
35352
  :ebs_optimized_support,
33928
35353
  :encryption_support,
33929
35354
  :ebs_optimized_info,
33930
- :nvme_support)
35355
+ :nvme_support,
35356
+ :maximum_ebs_attachments,
35357
+ :attachment_limit_type)
33931
35358
  SENSITIVE = []
33932
35359
  include Aws::Structure
33933
35360
  end
@@ -33952,15 +35379,15 @@ module Aws::EC2
33952
35379
  # @return [String]
33953
35380
  #
33954
35381
  # @!attribute [rw] associated_resource
33955
- # The ARN of the Amazon ECS or Fargate task to which the volume is
33956
- # attached.
35382
+ # The ARN of the Amazon Web Services-managed resource to which the
35383
+ # volume is attached.
33957
35384
  # @return [String]
33958
35385
  #
33959
35386
  # @!attribute [rw] volume_owner_id
33960
35387
  # The ID of the Amazon Web Services account that owns the volume.
33961
35388
  #
33962
35389
  # This parameter is returned only for volumes that are attached to
33963
- # Fargate tasks.
35390
+ # Amazon Web Services-managed resources.
33964
35391
  # @return [String]
33965
35392
  #
33966
35393
  # @!attribute [rw] operator
@@ -34118,6 +35545,8 @@ module Aws::EC2
34118
35545
  # @return [String]
34119
35546
  #
34120
35547
  # @!attribute [rw] fips_dns_name
35548
+ # The Federal Information Processing Standards (FIPS) compliant DNS
35549
+ # name of the EC2 Instance Connect Endpoint.
34121
35550
  # @return [String]
34122
35551
  #
34123
35552
  # @!attribute [rw] network_interface_ids
@@ -34168,6 +35597,14 @@ module Aws::EC2
34168
35597
  # The tags assigned to the EC2 Instance Connect Endpoint.
34169
35598
  # @return [Array<Types::Tag>]
34170
35599
  #
35600
+ # @!attribute [rw] ip_address_type
35601
+ # The IP address type of the endpoint.
35602
+ # @return [String]
35603
+ #
35604
+ # @!attribute [rw] public_dns_names
35605
+ # The public DNS names of the endpoint.
35606
+ # @return [Types::InstanceConnectEndpointPublicDnsNames]
35607
+ #
34171
35608
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ec2InstanceConnectEndpoint AWS API Documentation
34172
35609
  #
34173
35610
  class Ec2InstanceConnectEndpoint < Struct.new(
@@ -34185,7 +35622,9 @@ module Aws::EC2
34185
35622
  :subnet_id,
34186
35623
  :preserve_client_ip,
34187
35624
  :security_group_ids,
34188
- :tags)
35625
+ :tags,
35626
+ :ip_address_type,
35627
+ :public_dns_names)
34189
35628
  SENSITIVE = []
34190
35629
  include Aws::Structure
34191
35630
  end
@@ -35641,6 +37080,10 @@ module Aws::EC2
35641
37080
  # The Availability Zones.
35642
37081
  # @return [Array<String>]
35643
37082
  #
37083
+ # @!attribute [rw] availability_zone_ids
37084
+ # The IDs of the Availability Zones.
37085
+ # @return [Array<String>]
37086
+ #
35644
37087
  # @!attribute [rw] cidrs
35645
37088
  # The CIDR ranges.
35646
37089
  # @return [Array<String>]
@@ -35842,6 +37285,7 @@ module Aws::EC2
35842
37285
  :addresses,
35843
37286
  :attached_to,
35844
37287
  :availability_zones,
37288
+ :availability_zone_ids,
35845
37289
  :cidrs,
35846
37290
  :component,
35847
37291
  :customer_gateway,
@@ -36897,12 +38341,17 @@ module Aws::EC2
36897
38341
  # Describes an EC2 Fleet.
36898
38342
  #
36899
38343
  # @!attribute [rw] activity_status
36900
- # The progress of the EC2 Fleet. If there is an error, the status is
36901
- # `error`. After all requests are placed, the status is
36902
- # `pending_fulfillment`. If the size of the EC2 Fleet is equal to or
36903
- # greater than its target capacity, the status is `fulfilled`. If the
36904
- # size of the EC2 Fleet is decreased, the status is
36905
- # `pending_termination` while instances are terminating.
38344
+ # The progress of the EC2 Fleet.
38345
+ #
38346
+ # For fleets of type `instant`, the status is `fulfilled` after all
38347
+ # requests are placed, regardless of whether target capacity is met
38348
+ # (this is the only possible status for `instant` fleets).
38349
+ #
38350
+ # For fleets of type `request` or `maintain`, the status is
38351
+ # `pending_fulfillment` after all requests are placed, `fulfilled`
38352
+ # when the fleet size meets or exceeds target capacity,
38353
+ # `pending_termination` while instances are terminating when fleet
38354
+ # size is decreased, and `error` if there's an error.
36906
38355
  # @return [String]
36907
38356
  #
36908
38357
  # @!attribute [rw] create_time
@@ -37125,7 +38574,7 @@ module Aws::EC2
37125
38574
  #
37126
38575
  # The following are the supported values for each volume type:
37127
38576
  #
37128
- # * `gp3`: 3,000 - 16,000 IOPS
38577
+ # * `gp3`: 3,000 - 80,000 IOPS
37129
38578
  #
37130
38579
  # * `io1`: 100 - 64,000 IOPS
37131
38580
  #
@@ -37148,7 +38597,7 @@ module Aws::EC2
37148
38597
  #
37149
38598
  # This parameter is valid only for `gp3` volumes.
37150
38599
  #
37151
- # Valid Range: Minimum value of 125. Maximum value of 1000.
38600
+ # Valid Range: Minimum value of 125. Maximum value of 2,000.
37152
38601
  # @return [Integer]
37153
38602
  #
37154
38603
  # @!attribute [rw] kms_key_id
@@ -37178,7 +38627,9 @@ module Aws::EC2
37178
38627
  #
37179
38628
  # The following are the supported sizes for each volume type:
37180
38629
  #
37181
- # * `gp2` and `gp3`: 1 - 16,384 GiB
38630
+ # * `gp2`: 1 - 16,384 GiB
38631
+ #
38632
+ # * `gp3`: 1 - 65,536 GiB
37182
38633
  #
37183
38634
  # * `io1`: 4 - 16,384 GiB
37184
38635
  #
@@ -38130,6 +39581,44 @@ module Aws::EC2
38130
39581
  include Aws::Structure
38131
39582
  end
38132
39583
 
39584
+ # @!attribute [rw] vpn_connection_id
39585
+ # The ID of the VPN connection for which to retrieve the active tunnel
39586
+ # status.
39587
+ # @return [String]
39588
+ #
39589
+ # @!attribute [rw] vpn_tunnel_outside_ip_address
39590
+ # The external IP address of the VPN tunnel for which to retrieve the
39591
+ # active status.
39592
+ # @return [String]
39593
+ #
39594
+ # @!attribute [rw] dry_run
39595
+ # Checks whether you have the required permissions for the action,
39596
+ # without actually making the request.
39597
+ # @return [Boolean]
39598
+ #
39599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetActiveVpnTunnelStatusRequest AWS API Documentation
39600
+ #
39601
+ class GetActiveVpnTunnelStatusRequest < Struct.new(
39602
+ :vpn_connection_id,
39603
+ :vpn_tunnel_outside_ip_address,
39604
+ :dry_run)
39605
+ SENSITIVE = []
39606
+ include Aws::Structure
39607
+ end
39608
+
39609
+ # @!attribute [rw] active_vpn_tunnel_status
39610
+ # Information about the current security configuration of the VPN
39611
+ # tunnel.
39612
+ # @return [Types::ActiveVpnTunnelStatus]
39613
+ #
39614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetActiveVpnTunnelStatusResult AWS API Documentation
39615
+ #
39616
+ class GetActiveVpnTunnelStatusResult < Struct.new(
39617
+ :active_vpn_tunnel_status)
39618
+ SENSITIVE = []
39619
+ include Aws::Structure
39620
+ end
39621
+
38133
39622
  # @!attribute [rw] dry_run
38134
39623
  # Checks whether you have the required permissions for the action,
38135
39624
  # without actually making the request, and provides an error response.
@@ -39118,6 +40607,10 @@ module Aws::EC2
39118
40607
  # request.
39119
40608
  # @return [String]
39120
40609
  #
40610
+ # @!attribute [rw] context
40611
+ # Reserved.
40612
+ # @return [String]
40613
+ #
39121
40614
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetInstanceTypesFromInstanceRequirementsRequest AWS API Documentation
39122
40615
  #
39123
40616
  class GetInstanceTypesFromInstanceRequirementsRequest < Struct.new(
@@ -39126,7 +40619,8 @@ module Aws::EC2
39126
40619
  :virtualization_types,
39127
40620
  :instance_requirements,
39128
40621
  :max_results,
39129
- :next_token)
40622
+ :next_token,
40623
+ :context)
39130
40624
  SENSITIVE = []
39131
40625
  include Aws::Structure
39132
40626
  end
@@ -41068,6 +42562,12 @@ module Aws::EC2
41068
42562
  # versions: `ikev1` or `ikev2`.
41069
42563
  # @return [String]
41070
42564
  #
42565
+ # @!attribute [rw] sample_type
42566
+ # The type of sample configuration to generate. Valid values are
42567
+ # "compatibility" (includes IKEv1) or "recommended" (throws
42568
+ # UnsupportedOperationException for IKEv1).
42569
+ # @return [String]
42570
+ #
41071
42571
  # @!attribute [rw] dry_run
41072
42572
  # Checks whether you have the required permissions for the action,
41073
42573
  # without actually making the request, and provides an error response.
@@ -41081,6 +42581,7 @@ module Aws::EC2
41081
42581
  :vpn_connection_id,
41082
42582
  :vpn_connection_device_type_id,
41083
42583
  :internet_key_exchange_version,
42584
+ :sample_type,
41084
42585
  :dry_run)
41085
42586
  SENSITIVE = []
41086
42587
  include Aws::Structure
@@ -41978,8 +43479,9 @@ module Aws::EC2
41978
43479
  # @return [String]
41979
43480
  #
41980
43481
  # @!attribute [rw] boot_mode
41981
- # The boot mode of the image. For more information, see [Boot
41982
- # modes][1] in the *Amazon EC2 User Guide*.
43482
+ # The boot mode of the image. For more information, see [Instance
43483
+ # launch behavior with Amazon EC2 boot modes][1] in the *Amazon EC2
43484
+ # User Guide*.
41983
43485
  #
41984
43486
  #
41985
43487
  #
@@ -42062,33 +43564,21 @@ module Aws::EC2
42062
43564
  #
42063
43565
  # @!attribute [rw] source_image_id
42064
43566
  # The ID of the source AMI from which the AMI was created.
42065
- #
42066
- # The ID only appears if the AMI was created using CreateImage,
42067
- # CopyImage, or CreateRestoreImageTask. The ID does not appear if the
42068
- # AMI was created using any other API. For some older AMIs, the ID
42069
- # might not be available. For more information, see [Identify the
42070
- # source AMI used to create a new AMI][1] in the *Amazon EC2 User
42071
- # Guide*.
42072
- #
42073
- #
42074
- #
42075
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify-source-ami-used-to-create-new-ami.html
42076
43567
  # @return [String]
42077
43568
  #
42078
43569
  # @!attribute [rw] source_image_region
42079
43570
  # The Region of the source AMI.
43571
+ # @return [String]
42080
43572
  #
42081
- # The Region only appears if the AMI was created using CreateImage,
42082
- # CopyImage, or CreateRestoreImageTask. The Region does not appear if
42083
- # the AMI was created using any other API. For some older AMIs, the
42084
- # Region might not be available. For more information, see [Identify
42085
- # the source AMI used to create a new AMI][1] in the *Amazon EC2 User
42086
- # Guide*.
42087
- #
43573
+ # @!attribute [rw] free_tier_eligible
43574
+ # Indicates whether the image is eligible for Amazon Web Services Free
43575
+ # Tier.
42088
43576
  #
43577
+ # * If `true`, the AMI is eligible for Free Tier and can be used to
43578
+ # launch instances under the Free Tier limits.
42089
43579
  #
42090
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify-source-ami-used-to-create-new-ami.html
42091
- # @return [String]
43580
+ # * If `false`, the AMI is not eligible for Free Tier.
43581
+ # @return [Boolean]
42092
43582
  #
42093
43583
  # @!attribute [rw] image_id
42094
43584
  # The ID of the AMI.
@@ -42171,6 +43661,7 @@ module Aws::EC2
42171
43661
  :image_allowed,
42172
43662
  :source_image_id,
42173
43663
  :source_image_region,
43664
+ :free_tier_eligible,
42174
43665
  :image_id,
42175
43666
  :image_location,
42176
43667
  :state,
@@ -42220,7 +43711,8 @@ module Aws::EC2
42220
43711
  # retrieve the UEFI data, use the [GetInstanceUefiData][1] command.
42221
43712
  # You can inspect and modify the UEFI data by using the
42222
43713
  # [python-uefivars tool][2] on GitHub. For more information, see [UEFI
42223
- # Secure Boot][3] in the *Amazon EC2 User Guide*.
43714
+ # Secure Boot for Amazon EC2 instances][3] in the *Amazon EC2 User
43715
+ # Guide*.
42224
43716
  #
42225
43717
  #
42226
43718
  #
@@ -42299,87 +43791,181 @@ module Aws::EC2
42299
43791
  include Aws::Structure
42300
43792
  end
42301
43793
 
42302
- # The list of criteria that are evaluated to determine whch AMIs are
42303
- # discoverable and usable in the account in the specified Amazon Web
42304
- # Services Region. Currently, the only criteria that can be specified
42305
- # are AMI providers.
43794
+ # The criteria that are evaluated to determine which AMIs are
43795
+ # discoverable and usable in your account for the specified Amazon Web
43796
+ # Services Region.
42306
43797
  #
42307
- # Up to 10 `imageCriteria` objects can be specified, and up to a total
42308
- # of 200 values for all `imageProviders`. For more information, see
42309
- # [JSON configuration for the Allowed AMIs criteria][1] in the *Amazon
43798
+ # For more information, see [How Allowed AMIs works][1] in the *Amazon
42310
43799
  # EC2 User Guide*.
42311
43800
  #
42312
43801
  #
42313
43802
  #
42314
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#allowed-amis-json-configuration
43803
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#how-allowed-amis-works
42315
43804
  #
42316
43805
  # @!attribute [rw] image_providers
42317
- # A list of AMI providers whose AMIs are discoverable and useable in
42318
- # the account. Up to a total of 200 values can be specified.
43806
+ # The image providers whose images are allowed.
42319
43807
  #
42320
43808
  # Possible values:
42321
43809
  #
42322
- # `amazon`: Allow AMIs created by Amazon Web Services.
43810
+ # * `amazon`: Allow AMIs created by Amazon or verified providers.
43811
+ #
43812
+ # * `aws-marketplace`: Allow AMIs created by verified providers in the
43813
+ # Amazon Web Services Marketplace.
43814
+ #
43815
+ # * `aws-backup-vault`: Allow AMIs created by Amazon Web Services
43816
+ # Backup.
43817
+ #
43818
+ # * 12-digit account ID: Allow AMIs created by this account. One or
43819
+ # more account IDs can be specified.
42323
43820
  #
42324
- # `aws-marketplace`: Allow AMIs created by verified providers in the
42325
- # Amazon Web Services Marketplace.
43821
+ # * `none`: Allow AMIs created by your own account only.
42326
43822
  #
42327
- # `aws-backup-vault`: Allow AMIs created by Amazon Web Services
42328
- # Backup.
43823
+ # Maximum: 200 values
43824
+ # @return [Array<String>]
43825
+ #
43826
+ # @!attribute [rw] marketplace_product_codes
43827
+ # The Amazon Web Services Marketplace product codes for allowed
43828
+ # images.
42329
43829
  #
42330
- # 12-digit account ID: Allow AMIs created by this account. One or more
42331
- # account IDs can be specified.
43830
+ # Length: 1-25 characters
42332
43831
  #
42333
- # `none`: Allow AMIs created by your own account only.
43832
+ # Valid characters: Letters (`A–Z, a–z`) and numbers (`0–9`)
43833
+ #
43834
+ # Maximum: 50 values
42334
43835
  # @return [Array<String>]
42335
43836
  #
43837
+ # @!attribute [rw] image_names
43838
+ # The names of allowed images. Names can include wildcards (`?` and
43839
+ # `*`).
43840
+ #
43841
+ # Length: 1–128 characters. With `?`, the minimum is 3 characters.
43842
+ #
43843
+ # Valid characters:
43844
+ #
43845
+ # * Letters: `A–Z, a–z`
43846
+ #
43847
+ # * Numbers: `0–9`
43848
+ #
43849
+ # * Special characters: `( ) [ ] . / - ' @ _ * ?`
43850
+ #
43851
+ # * Spaces
43852
+ #
43853
+ # Maximum: 50 values
43854
+ # @return [Array<String>]
43855
+ #
43856
+ # @!attribute [rw] deprecation_time_condition
43857
+ # The maximum period since deprecation for allowed images.
43858
+ # @return [Types::DeprecationTimeCondition]
43859
+ #
43860
+ # @!attribute [rw] creation_date_condition
43861
+ # The maximum age for allowed images.
43862
+ # @return [Types::CreationDateCondition]
43863
+ #
42336
43864
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageCriterion AWS API Documentation
42337
43865
  #
42338
43866
  class ImageCriterion < Struct.new(
42339
- :image_providers)
43867
+ :image_providers,
43868
+ :marketplace_product_codes,
43869
+ :image_names,
43870
+ :deprecation_time_condition,
43871
+ :creation_date_condition)
42340
43872
  SENSITIVE = []
42341
43873
  include Aws::Structure
42342
43874
  end
42343
43875
 
42344
- # The list of criteria that are evaluated to determine whch AMIs are
42345
- # discoverable and usable in the account in the specified Amazon Web
42346
- # Services Region. Currently, the only criteria that can be specified
42347
- # are AMI providers.
43876
+ # The criteria that are evaluated to determine which AMIs are
43877
+ # discoverable and usable in your account for the specified Amazon Web
43878
+ # Services Region.
43879
+ #
43880
+ # The `ImageCriteria` can include up to:
43881
+ #
43882
+ # * 10 `ImageCriterion`
43883
+ #
43884
+ # ^
43885
+ #
43886
+ # Each `ImageCriterion` can include up to:
43887
+ #
43888
+ # * 200 values for `ImageProviders`
43889
+ #
43890
+ # * 50 values for `ImageNames`
42348
43891
  #
42349
- # Up to 10 `imageCriteria` objects can be specified, and up to a total
42350
- # of 200 values for all `imageProviders`. For more information, see
42351
- # [JSON configuration for the Allowed AMIs criteria][1] in the *Amazon
43892
+ # * 50 values for `MarketplaceProductCodes`
43893
+ #
43894
+ # For more information, see [How Allowed AMIs works][1] in the *Amazon
42352
43895
  # EC2 User Guide*.
42353
43896
  #
42354
43897
  #
42355
43898
  #
42356
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#allowed-amis-json-configuration
43899
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-allowed-amis.html#how-allowed-amis-works
42357
43900
  #
42358
43901
  # @!attribute [rw] image_providers
42359
- # A list of image providers whose AMIs are discoverable and useable in
42360
- # the account. Up to a total of 200 values can be specified.
43902
+ # The image providers whose images are allowed.
42361
43903
  #
42362
43904
  # Possible values:
42363
43905
  #
42364
- # `amazon`: Allow AMIs created by Amazon Web Services.
43906
+ # * `amazon`: Allow AMIs created by Amazon or verified providers.
43907
+ #
43908
+ # * `aws-marketplace`: Allow AMIs created by verified providers in the
43909
+ # Amazon Web Services Marketplace.
43910
+ #
43911
+ # * `aws-backup-vault`: Allow AMIs created by Amazon Web Services
43912
+ # Backup.
43913
+ #
43914
+ # * 12-digit account ID: Allow AMIs created by the specified accounts.
43915
+ # One or more account IDs can be specified.
43916
+ #
43917
+ # * `none`: Allow AMIs created by your own account only. When `none`
43918
+ # is specified, no other values can be specified.
43919
+ #
43920
+ # Maximum: 200 values
43921
+ # @return [Array<String>]
43922
+ #
43923
+ # @!attribute [rw] marketplace_product_codes
43924
+ # The Amazon Web Services Marketplace product codes for allowed
43925
+ # images.
43926
+ #
43927
+ # Length: 1-25 characters
43928
+ #
43929
+ # Valid characters: Letters (`A–Z, a–z`) and numbers (`0–9`)
43930
+ #
43931
+ # Maximum: 50 values
43932
+ # @return [Array<String>]
43933
+ #
43934
+ # @!attribute [rw] image_names
43935
+ # The names of allowed images. Names can include wildcards (`?` and
43936
+ # `*`).
43937
+ #
43938
+ # Length: 1–128 characters. With `?`, the minimum is 3 characters.
43939
+ #
43940
+ # Valid characters:
43941
+ #
43942
+ # * Letters: `A–Z, a–z`
42365
43943
  #
42366
- # `aws-marketplace`: Allow AMIs created by verified providers in the
42367
- # Amazon Web Services Marketplace.
43944
+ # * Numbers: `0–9`
42368
43945
  #
42369
- # `aws-backup-vault`: Allow AMIs created by Amazon Web Services
42370
- # Backup.
43946
+ # * Special characters: `( ) [ ] . / - ' @ _ * ?`
42371
43947
  #
42372
- # 12-digit account ID: Allow AMIs created by this account. One or more
42373
- # account IDs can be specified.
43948
+ # * Spaces
42374
43949
  #
42375
- # `none`: Allow AMIs created by your own account only. When `none` is
42376
- # specified, no other values can be specified.
43950
+ # Maximum: 50 values
42377
43951
  # @return [Array<String>]
42378
43952
  #
43953
+ # @!attribute [rw] deprecation_time_condition
43954
+ # The maximum period since deprecation for allowed images.
43955
+ # @return [Types::DeprecationTimeConditionRequest]
43956
+ #
43957
+ # @!attribute [rw] creation_date_condition
43958
+ # The maximum age for allowed images.
43959
+ # @return [Types::CreationDateConditionRequest]
43960
+ #
42379
43961
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageCriterionRequest AWS API Documentation
42380
43962
  #
42381
43963
  class ImageCriterionRequest < Struct.new(
42382
- :image_providers)
43964
+ :image_providers,
43965
+ :marketplace_product_codes,
43966
+ :image_names,
43967
+ :deprecation_time_condition,
43968
+ :creation_date_condition)
42383
43969
  SENSITIVE = []
42384
43970
  include Aws::Structure
42385
43971
  end
@@ -42531,6 +44117,226 @@ module Aws::EC2
42531
44117
  include Aws::Structure
42532
44118
  end
42533
44119
 
44120
+ # A resource that is referencing an image.
44121
+ #
44122
+ # @!attribute [rw] image_id
44123
+ # The ID of the referenced image.
44124
+ # @return [String]
44125
+ #
44126
+ # @!attribute [rw] resource_type
44127
+ # The type of resource referencing the image.
44128
+ # @return [String]
44129
+ #
44130
+ # @!attribute [rw] arn
44131
+ # The Amazon Resource Name (ARN) of the resource referencing the
44132
+ # image.
44133
+ # @return [String]
44134
+ #
44135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageReference AWS API Documentation
44136
+ #
44137
+ class ImageReference < Struct.new(
44138
+ :image_id,
44139
+ :resource_type,
44140
+ :arn)
44141
+ SENSITIVE = []
44142
+ include Aws::Structure
44143
+ end
44144
+
44145
+ # The configuration and status of an image usage report.
44146
+ #
44147
+ # @!attribute [rw] image_id
44148
+ # The ID of the image that was specified when the report was created.
44149
+ # @return [String]
44150
+ #
44151
+ # @!attribute [rw] report_id
44152
+ # The ID of the report.
44153
+ # @return [String]
44154
+ #
44155
+ # @!attribute [rw] resource_types
44156
+ # The resource types that were specified when the report was created.
44157
+ # @return [Array<Types::ImageUsageResourceType>]
44158
+ #
44159
+ # @!attribute [rw] account_ids
44160
+ # The IDs of the Amazon Web Services accounts that were specified when
44161
+ # the report was created.
44162
+ # @return [Array<String>]
44163
+ #
44164
+ # @!attribute [rw] state
44165
+ # The current state of the report. Possible values:
44166
+ #
44167
+ # * `available` - The report is available to view.
44168
+ #
44169
+ # * `pending` - The report is being created and not available to view.
44170
+ #
44171
+ # * `error` - The report could not be created.
44172
+ # @return [String]
44173
+ #
44174
+ # @!attribute [rw] state_reason
44175
+ # Provides additional details when the report is in an `error` state.
44176
+ # @return [String]
44177
+ #
44178
+ # @!attribute [rw] creation_time
44179
+ # The date and time when the report was created.
44180
+ # @return [Time]
44181
+ #
44182
+ # @!attribute [rw] expiration_time
44183
+ # The date and time when Amazon EC2 will delete the report (30 days
44184
+ # after the report was created).
44185
+ # @return [Time]
44186
+ #
44187
+ # @!attribute [rw] tags
44188
+ # Any tags assigned to the report.
44189
+ # @return [Array<Types::Tag>]
44190
+ #
44191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageUsageReport AWS API Documentation
44192
+ #
44193
+ class ImageUsageReport < Struct.new(
44194
+ :image_id,
44195
+ :report_id,
44196
+ :resource_types,
44197
+ :account_ids,
44198
+ :state,
44199
+ :state_reason,
44200
+ :creation_time,
44201
+ :expiration_time,
44202
+ :tags)
44203
+ SENSITIVE = []
44204
+ include Aws::Structure
44205
+ end
44206
+
44207
+ # A single entry in an image usage report, detailing how an image is
44208
+ # being used by a specific Amazon Web Services account and resource
44209
+ # type.
44210
+ #
44211
+ # @!attribute [rw] resource_type
44212
+ # The type of resource (`ec2:Instance` or `ec2:LaunchTemplate`).
44213
+ # @return [String]
44214
+ #
44215
+ # @!attribute [rw] report_id
44216
+ # The ID of the report.
44217
+ # @return [String]
44218
+ #
44219
+ # @!attribute [rw] usage_count
44220
+ # The number of times resources of this type reference this image in
44221
+ # the account.
44222
+ # @return [Integer]
44223
+ #
44224
+ # @!attribute [rw] account_id
44225
+ # The ID of the account that uses the image.
44226
+ # @return [String]
44227
+ #
44228
+ # @!attribute [rw] image_id
44229
+ # The ID of the image.
44230
+ # @return [String]
44231
+ #
44232
+ # @!attribute [rw] report_creation_time
44233
+ # The date and time the report creation was initiated.
44234
+ # @return [Time]
44235
+ #
44236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageUsageReportEntry AWS API Documentation
44237
+ #
44238
+ class ImageUsageReportEntry < Struct.new(
44239
+ :resource_type,
44240
+ :report_id,
44241
+ :usage_count,
44242
+ :account_id,
44243
+ :image_id,
44244
+ :report_creation_time)
44245
+ SENSITIVE = []
44246
+ include Aws::Structure
44247
+ end
44248
+
44249
+ # A resource type to include in the report. Associated options can also
44250
+ # be specified if the resource type is a launch template.
44251
+ #
44252
+ # @!attribute [rw] resource_type
44253
+ # The resource type.
44254
+ #
44255
+ # Valid values: `ec2:Instance` \| `ec2:LaunchTemplate`
44256
+ # @return [String]
44257
+ #
44258
+ # @!attribute [rw] resource_type_options
44259
+ # The options that affect the scope of the report. Valid only when
44260
+ # `ResourceType` is `ec2:LaunchTemplate`.
44261
+ # @return [Array<Types::ImageUsageResourceTypeOption>]
44262
+ #
44263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageUsageResourceType AWS API Documentation
44264
+ #
44265
+ class ImageUsageResourceType < Struct.new(
44266
+ :resource_type,
44267
+ :resource_type_options)
44268
+ SENSITIVE = []
44269
+ include Aws::Structure
44270
+ end
44271
+
44272
+ # The options that affect the scope of the report.
44273
+ #
44274
+ # @!attribute [rw] option_name
44275
+ # The name of the option.
44276
+ # @return [String]
44277
+ #
44278
+ # @!attribute [rw] option_values
44279
+ # The number of launch template versions to check.
44280
+ # @return [Array<String>]
44281
+ #
44282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageUsageResourceTypeOption AWS API Documentation
44283
+ #
44284
+ class ImageUsageResourceTypeOption < Struct.new(
44285
+ :option_name,
44286
+ :option_values)
44287
+ SENSITIVE = []
44288
+ include Aws::Structure
44289
+ end
44290
+
44291
+ # The options that affect the scope of the report.
44292
+ #
44293
+ # @!attribute [rw] option_name
44294
+ # The name of the option.
44295
+ #
44296
+ # Valid value: `version-depth` - The number of launch template
44297
+ # versions to check.
44298
+ # @return [String]
44299
+ #
44300
+ # @!attribute [rw] option_values
44301
+ # A value for the specified option.
44302
+ #
44303
+ # Valid values: Integers between `1` and `10000`
44304
+ #
44305
+ # Default: `20`
44306
+ # @return [Array<String>]
44307
+ #
44308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageUsageResourceTypeOptionRequest AWS API Documentation
44309
+ #
44310
+ class ImageUsageResourceTypeOptionRequest < Struct.new(
44311
+ :option_name,
44312
+ :option_values)
44313
+ SENSITIVE = []
44314
+ include Aws::Structure
44315
+ end
44316
+
44317
+ # A resource type to include in the report. Associated options can also
44318
+ # be specified if the resource type is a launch template.
44319
+ #
44320
+ # @!attribute [rw] resource_type
44321
+ # The resource type.
44322
+ #
44323
+ # Valid values: `ec2:Instance` \| `ec2:LaunchTemplate`
44324
+ # @return [String]
44325
+ #
44326
+ # @!attribute [rw] resource_type_options
44327
+ # The options that affect the scope of the report. Valid only when
44328
+ # `ResourceType` is `ec2:LaunchTemplate`.
44329
+ # @return [Array<Types::ImageUsageResourceTypeOptionRequest>]
44330
+ #
44331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageUsageResourceTypeRequest AWS API Documentation
44332
+ #
44333
+ class ImageUsageResourceTypeRequest < Struct.new(
44334
+ :resource_type,
44335
+ :resource_type_options)
44336
+ SENSITIVE = []
44337
+ include Aws::Structure
44338
+ end
44339
+
42534
44340
  # @!attribute [rw] client_vpn_endpoint_id
42535
44341
  # The ID of the Client VPN endpoint to which the client certificate
42536
44342
  # revocation list applies.
@@ -43119,6 +44925,11 @@ module Aws::EC2
43119
44925
  # The Availability Zone where the resulting instance will reside.
43120
44926
  # @return [String]
43121
44927
  #
44928
+ # @!attribute [rw] availability_zone_id
44929
+ # The ID of the Availability Zone where the resulting instance will
44930
+ # reside.
44931
+ # @return [String]
44932
+ #
43122
44933
  # @!attribute [rw] bytes_converted
43123
44934
  # The number of bytes converted so far.
43124
44935
  # @return [Integer]
@@ -43147,6 +44958,7 @@ module Aws::EC2
43147
44958
  #
43148
44959
  class ImportInstanceVolumeDetailItem < Struct.new(
43149
44960
  :availability_zone,
44961
+ :availability_zone_id,
43150
44962
  :bytes_converted,
43151
44963
  :description,
43152
44964
  :image,
@@ -43375,6 +45187,13 @@ module Aws::EC2
43375
45187
  include Aws::Structure
43376
45188
  end
43377
45189
 
45190
+ # @!attribute [rw] availability_zone_id
45191
+ # The ID of the Availability Zone for the resulting EBS volume.
45192
+ #
45193
+ # Either `AvailabilityZone` or `AvailabilityZoneId` must be specified,
45194
+ # but not both.
45195
+ # @return [String]
45196
+ #
43378
45197
  # @!attribute [rw] dry_run
43379
45198
  # Checks whether you have the required permissions for the action,
43380
45199
  # without actually making the request, and provides an error response.
@@ -43384,6 +45203,9 @@ module Aws::EC2
43384
45203
  #
43385
45204
  # @!attribute [rw] availability_zone
43386
45205
  # The Availability Zone for the resulting EBS volume.
45206
+ #
45207
+ # Either `AvailabilityZone` or `AvailabilityZoneId` must be specified,
45208
+ # but not both.
43387
45209
  # @return [String]
43388
45210
  #
43389
45211
  # @!attribute [rw] image
@@ -43401,6 +45223,7 @@ module Aws::EC2
43401
45223
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeRequest AWS API Documentation
43402
45224
  #
43403
45225
  class ImportVolumeRequest < Struct.new(
45226
+ :availability_zone_id,
43404
45227
  :dry_run,
43405
45228
  :availability_zone,
43406
45229
  :image,
@@ -43428,6 +45251,11 @@ module Aws::EC2
43428
45251
  # The Availability Zone where the resulting volume will reside.
43429
45252
  # @return [String]
43430
45253
  #
45254
+ # @!attribute [rw] availability_zone_id
45255
+ # The ID of the Availability Zone where the resulting volume will
45256
+ # reside.
45257
+ # @return [String]
45258
+ #
43431
45259
  # @!attribute [rw] bytes_converted
43432
45260
  # The number of bytes converted so far.
43433
45261
  # @return [Integer]
@@ -43448,6 +45276,7 @@ module Aws::EC2
43448
45276
  #
43449
45277
  class ImportVolumeTaskDetails < Struct.new(
43450
45278
  :availability_zone,
45279
+ :availability_zone_id,
43451
45280
  :bytes_converted,
43452
45281
  :description,
43453
45282
  :image,
@@ -43532,6 +45361,46 @@ module Aws::EC2
43532
45361
  include Aws::Structure
43533
45362
  end
43534
45363
 
45364
+ # Information about the volume initialization. For more information, see
45365
+ # [Initialize Amazon EBS volumes][1].
45366
+ #
45367
+ #
45368
+ #
45369
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html
45370
+ #
45371
+ # @!attribute [rw] initialization_type
45372
+ # The method used for volume initialization. Possible values include:
45373
+ #
45374
+ # * `default` - Volume initialized using the default volume
45375
+ # initialization rate or fast snapshot restore.
45376
+ #
45377
+ # * `provisioned-rate` - Volume initialized using an Amazon EBS
45378
+ # Provisioned Rate for Volume Initialization.
45379
+ # @return [String]
45380
+ #
45381
+ # @!attribute [rw] progress
45382
+ # The current volume initialization progress as a percentage (0-100).
45383
+ # Returns `100` when volume initialization has completed.
45384
+ # @return [Integer]
45385
+ #
45386
+ # @!attribute [rw] estimated_time_to_complete_in_seconds
45387
+ # The estimated remaining time, in seconds, for volume initialization
45388
+ # to complete. Returns `0` when volume initialization has completed.
45389
+ #
45390
+ # Only available for volumes created with Amazon EBS Provisioned Rate
45391
+ # for Volume Initialization.
45392
+ # @return [Integer]
45393
+ #
45394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InitializationStatusDetails AWS API Documentation
45395
+ #
45396
+ class InitializationStatusDetails < Struct.new(
45397
+ :initialization_type,
45398
+ :progress,
45399
+ :estimated_time_to_complete_in_seconds)
45400
+ SENSITIVE = []
45401
+ include Aws::Structure
45402
+ end
45403
+
43535
45404
  # Describes an instance.
43536
45405
  #
43537
45406
  # @!attribute [rw] architecture
@@ -43640,6 +45509,16 @@ module Aws::EC2
43640
45509
  # The CPU options for the instance.
43641
45510
  # @return [Types::CpuOptions]
43642
45511
  #
45512
+ # @!attribute [rw] capacity_block_id
45513
+ # The ID of the Capacity Block.
45514
+ #
45515
+ # <note markdown="1"> For P5 instances, a Capacity Block ID refers to a group of
45516
+ # instances. For Trn2u instances, a capacity block ID refers to an EC2
45517
+ # UltraServer.
45518
+ #
45519
+ # </note>
45520
+ # @return [String]
45521
+ #
43643
45522
  # @!attribute [rw] capacity_reservation_id
43644
45523
  # The ID of the Capacity Reservation.
43645
45524
  # @return [String]
@@ -43776,10 +45655,14 @@ module Aws::EC2
43776
45655
  # @return [String]
43777
45656
  #
43778
45657
  # @!attribute [rw] public_dns_name
43779
- # \[IPv4 only\] The public DNS name assigned to the instance. This
43780
- # name is not available until the instance enters the `running` state.
43781
- # This name is only available if you've enabled DNS hostnames for
43782
- # your VPC.
45658
+ # The public DNS name assigned to the instance. This name is not
45659
+ # available until the instance enters the `running` state. This name
45660
+ # is only available if you've enabled DNS hostnames for your VPC. The
45661
+ # format of this name depends on the [public hostname type][1].
45662
+ #
45663
+ #
45664
+ #
45665
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hostname-types.html#public-hostnames
43783
45666
  # @return [String]
43784
45667
  #
43785
45668
  # @!attribute [rw] state_transition_reason
@@ -43877,6 +45760,7 @@ module Aws::EC2
43877
45760
  :tags,
43878
45761
  :virtualization_type,
43879
45762
  :cpu_options,
45763
+ :capacity_block_id,
43880
45764
  :capacity_reservation_id,
43881
45765
  :capacity_reservation_specification,
43882
45766
  :hibernation_options,
@@ -44074,7 +45958,7 @@ module Aws::EC2
44074
45958
  # Describes a block device mapping.
44075
45959
  #
44076
45960
  # @!attribute [rw] device_name
44077
- # The device name (for example, `/dev/sdh` or `xvdh`).
45961
+ # The device name.
44078
45962
  # @return [String]
44079
45963
  #
44080
45964
  # @!attribute [rw] ebs
@@ -44094,7 +45978,12 @@ module Aws::EC2
44094
45978
  # Describes a block device mapping entry.
44095
45979
  #
44096
45980
  # @!attribute [rw] device_name
44097
- # The device name (for example, `/dev/sdh` or `xvdh`).
45981
+ # The device name. For available device names, see [Device names for
45982
+ # volumes][1].
45983
+ #
45984
+ #
45985
+ #
45986
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html
44098
45987
  # @return [String]
44099
45988
  #
44100
45989
  # @!attribute [rw] ebs
@@ -44149,6 +46038,48 @@ module Aws::EC2
44149
46038
  include Aws::Structure
44150
46039
  end
44151
46040
 
46041
+ # The DNS names of the endpoint.
46042
+ #
46043
+ # @!attribute [rw] dns_name
46044
+ # The DNS name of the EC2 Instance Connect Endpoint.
46045
+ # @return [String]
46046
+ #
46047
+ # @!attribute [rw] fips_dns_name
46048
+ # The Federal Information Processing Standards (FIPS) compliant DNS
46049
+ # name of the EC2 Instance Connect Endpoint.
46050
+ # @return [String]
46051
+ #
46052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceConnectEndpointDnsNames AWS API Documentation
46053
+ #
46054
+ class InstanceConnectEndpointDnsNames < Struct.new(
46055
+ :dns_name,
46056
+ :fips_dns_name)
46057
+ SENSITIVE = []
46058
+ include Aws::Structure
46059
+ end
46060
+
46061
+ # The public DNS names of the endpoint, including IPv4-only and
46062
+ # dualstack DNS names.
46063
+ #
46064
+ # @!attribute [rw] ipv_4
46065
+ # The IPv4-only DNS name of the EC2 Instance Connect Endpoint.
46066
+ # @return [Types::InstanceConnectEndpointDnsNames]
46067
+ #
46068
+ # @!attribute [rw] dualstack
46069
+ # The dualstack DNS name of the EC2 Instance Connect Endpoint. A
46070
+ # dualstack DNS name supports connections from both IPv4 and IPv6
46071
+ # clients.
46072
+ # @return [Types::InstanceConnectEndpointDnsNames]
46073
+ #
46074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceConnectEndpointPublicDnsNames AWS API Documentation
46075
+ #
46076
+ class InstanceConnectEndpointPublicDnsNames < Struct.new(
46077
+ :ipv_4,
46078
+ :dualstack)
46079
+ SENSITIVE = []
46080
+ include Aws::Structure
46081
+ end
46082
+
44152
46083
  # Describes a Reserved Instance listing state.
44153
46084
  #
44154
46085
  # @!attribute [rw] instance_count
@@ -44606,10 +46537,33 @@ module Aws::EC2
44606
46537
  # your instance.
44607
46538
  # @return [String]
44608
46539
  #
46540
+ # @!attribute [rw] reboot_migration
46541
+ # Specifies whether to attempt reboot migration during a
46542
+ # user-initiated reboot of an instance that has a scheduled
46543
+ # `system-reboot` event:
46544
+ #
46545
+ # * `default` - Amazon EC2 attempts to migrate the instance to new
46546
+ # hardware (reboot migration). If successful, the `system-reboot`
46547
+ # event is cleared. If unsuccessful, an in-place reboot occurs and
46548
+ # the event remains scheduled.
46549
+ #
46550
+ # * `disabled` - Amazon EC2 keeps the instance on the same hardware
46551
+ # (in-place reboot). The `system-reboot` event remains scheduled.
46552
+ #
46553
+ # This setting only applies to supported instances that have a
46554
+ # scheduled reboot event. For more information, see [Enable or disable
46555
+ # reboot migration][1] in the *Amazon EC2 User Guide*.
46556
+ #
46557
+ #
46558
+ #
46559
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/schedevents_actions_reboot.html#reboot-migration
46560
+ # @return [String]
46561
+ #
44609
46562
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceMaintenanceOptions AWS API Documentation
44610
46563
  #
44611
46564
  class InstanceMaintenanceOptions < Struct.new(
44612
- :auto_recovery)
46565
+ :auto_recovery,
46566
+ :reboot_migration)
44613
46567
  SENSITIVE = []
44614
46568
  include Aws::Structure
44615
46569
  end
@@ -44943,7 +46897,7 @@ module Aws::EC2
44943
46897
  # @!attribute [rw] interface_type
44944
46898
  # The type of network interface.
44945
46899
  #
44946
- # Valid values: `interface` \| `efa` \| `efa-only` \| `trunk`
46900
+ # Valid values: `interface` \| `efa` \| `efa-only` \| `evs` \| `trunk`
44947
46901
  # @return [String]
44948
46902
  #
44949
46903
  # @!attribute [rw] ipv_4_prefixes
@@ -46503,6 +48457,10 @@ module Aws::EC2
46503
48457
  # The Availability Zone of the instance.
46504
48458
  # @return [String]
46505
48459
  #
48460
+ # @!attribute [rw] availability_zone_id
48461
+ # The ID of the Availability Zone of the instance.
48462
+ # @return [String]
48463
+ #
46506
48464
  # @!attribute [rw] outpost_arn
46507
48465
  # The Amazon Resource Name (ARN) of the Outpost.
46508
48466
  # @return [String]
@@ -46545,6 +48503,7 @@ module Aws::EC2
46545
48503
  #
46546
48504
  class InstanceStatus < Struct.new(
46547
48505
  :availability_zone,
48506
+ :availability_zone_id,
46548
48507
  :outpost_arn,
46549
48508
  :operator,
46550
48509
  :events,
@@ -46726,6 +48685,12 @@ module Aws::EC2
46726
48685
  # in.
46727
48686
  # @return [String]
46728
48687
  #
48688
+ # @!attribute [rw] capacity_block_id
48689
+ # The ID of the Capacity Block. This parameter is only supported for
48690
+ # Ultraserver instances and identifies instances within the
48691
+ # Ultraserver domain.
48692
+ # @return [String]
48693
+ #
46729
48694
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceTopology AWS API Documentation
46730
48695
  #
46731
48696
  class InstanceTopology < Struct.new(
@@ -46734,7 +48699,8 @@ module Aws::EC2
46734
48699
  :group_name,
46735
48700
  :network_nodes,
46736
48701
  :availability_zone,
46737
- :zone_id)
48702
+ :zone_id,
48703
+ :capacity_block_id)
46738
48704
  SENSITIVE = []
46739
48705
  include Aws::Structure
46740
48706
  end
@@ -46881,6 +48847,17 @@ module Aws::EC2
46881
48847
  # clock (PHC) is supported.
46882
48848
  # @return [String]
46883
48849
  #
48850
+ # @!attribute [rw] reboot_migration_support
48851
+ # Indicates whether reboot migration during a user-initiated reboot is
48852
+ # supported for instances that have a scheduled `system-reboot` event.
48853
+ # For more information, see [Enable or disable reboot migration][1] in
48854
+ # the *Amazon EC2 User Guide*.
48855
+ #
48856
+ #
48857
+ #
48858
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/schedevents_actions_reboot.html#reboot-migration
48859
+ # @return [String]
48860
+ #
46884
48861
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceTypeInfo AWS API Documentation
46885
48862
  #
46886
48863
  class InstanceTypeInfo < Struct.new(
@@ -46913,7 +48890,8 @@ module Aws::EC2
46913
48890
  :nitro_tpm_info,
46914
48891
  :media_accelerator_info,
46915
48892
  :neuron_info,
46916
- :phc_support)
48893
+ :phc_support,
48894
+ :reboot_migration_support)
46917
48895
  SENSITIVE = []
46918
48896
  include Aws::Structure
46919
48897
  end
@@ -49534,7 +51512,7 @@ module Aws::EC2
49534
51512
  #
49535
51513
  # The following are the supported values for each volume type:
49536
51514
  #
49537
- # * `gp3`: 3,000 - 16,000 IOPS
51515
+ # * `gp3`: 3,000 - 80,000 IOPS
49538
51516
  #
49539
51517
  # * `io1`: 100 - 64,000 IOPS
49540
51518
  #
@@ -49566,7 +51544,9 @@ module Aws::EC2
49566
51544
  # ID or a volume size. The following are the supported volumes sizes
49567
51545
  # for each volume type:
49568
51546
  #
49569
- # * `gp2` and `gp3`: 1 - 16,384 GiB
51547
+ # * `gp2`: 1 - 16,384 GiB
51548
+ #
51549
+ # * `gp3`: 1 - 65,536 GiB
49570
51550
  #
49571
51551
  # * `io1`: 4 - 16,384 GiB
49572
51552
  #
@@ -49588,9 +51568,9 @@ module Aws::EC2
49588
51568
  #
49589
51569
  # @!attribute [rw] throughput
49590
51570
  # The throughput to provision for a `gp3` volume, with a maximum of
49591
- # 1,000 MiB/s.
51571
+ # 2,000 MiB/s.
49592
51572
  #
49593
- # Valid Range: Minimum value of 125. Maximum value of 1000.
51573
+ # Valid Range: Minimum value of 125. Maximum value of 2,000.
49594
51574
  # @return [Integer]
49595
51575
  #
49596
51576
  # @!attribute [rw] volume_initialization_rate
@@ -49658,8 +51638,6 @@ module Aws::EC2
49658
51638
  # @!attribute [rw] count
49659
51639
  # The number of elastic inference accelerators to attach to the
49660
51640
  # instance.
49661
- #
49662
- # Default: 1
49663
51641
  # @return [Integer]
49664
51642
  #
49665
51643
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateElasticInferenceAccelerator AWS API Documentation
@@ -49685,8 +51663,6 @@ module Aws::EC2
49685
51663
  # @!attribute [rw] count
49686
51664
  # The number of elastic inference accelerators to attach to the
49687
51665
  # instance.
49688
- #
49689
- # Default: 1
49690
51666
  # @return [Integer]
49691
51667
  #
49692
51668
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateElasticInferenceAcceleratorResponse AWS API Documentation
@@ -49976,8 +51952,6 @@ module Aws::EC2
49976
51952
  # requests. The larger the number, the further instance metadata
49977
51953
  # requests can travel.
49978
51954
  #
49979
- # Default: 1
49980
- #
49981
51955
  # Possible values: Integers from 1 to 64
49982
51956
  # @return [Integer]
49983
51957
  #
@@ -50639,6 +52613,10 @@ module Aws::EC2
50639
52613
  # The Availability Zone of the instance.
50640
52614
  # @return [String]
50641
52615
  #
52616
+ # @!attribute [rw] availability_zone_id
52617
+ # The ID of the Availability Zone of the instance.
52618
+ # @return [String]
52619
+ #
50642
52620
  # @!attribute [rw] affinity
50643
52621
  # The affinity setting for the instance on the Dedicated Host.
50644
52622
  # @return [String]
@@ -50679,6 +52657,7 @@ module Aws::EC2
50679
52657
  #
50680
52658
  class LaunchTemplatePlacement < Struct.new(
50681
52659
  :availability_zone,
52660
+ :availability_zone_id,
50682
52661
  :affinity,
50683
52662
  :group_name,
50684
52663
  :host_id,
@@ -50695,6 +52674,16 @@ module Aws::EC2
50695
52674
  #
50696
52675
  # @!attribute [rw] availability_zone
50697
52676
  # The Availability Zone for the instance.
52677
+ #
52678
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
52679
+ # but not both
52680
+ # @return [String]
52681
+ #
52682
+ # @!attribute [rw] availability_zone_id
52683
+ # The ID of the Availability Zone for the instance.
52684
+ #
52685
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
52686
+ # but not both
50698
52687
  # @return [String]
50699
52688
  #
50700
52689
  # @!attribute [rw] affinity
@@ -50739,6 +52728,7 @@ module Aws::EC2
50739
52728
  #
50740
52729
  class LaunchTemplatePlacementRequest < Struct.new(
50741
52730
  :availability_zone,
52731
+ :availability_zone_id,
50742
52732
  :affinity,
50743
52733
  :group_name,
50744
52734
  :host_id,
@@ -51965,6 +53955,154 @@ module Aws::EC2
51965
53955
  include Aws::Structure
51966
53956
  end
51967
53957
 
53958
+ # Information about a System Integrity Protection (SIP) modification
53959
+ # task or volume ownership delegation task for an Amazon EC2 Mac
53960
+ # instance.
53961
+ #
53962
+ # @!attribute [rw] instance_id
53963
+ # The ID of the Amazon EC2 Mac instance.
53964
+ # @return [String]
53965
+ #
53966
+ # @!attribute [rw] mac_modification_task_id
53967
+ # The ID of task.
53968
+ # @return [String]
53969
+ #
53970
+ # @!attribute [rw] mac_system_integrity_protection_config
53971
+ # \[SIP modification tasks only\] Information about the SIP
53972
+ # configuration.
53973
+ # @return [Types::MacSystemIntegrityProtectionConfiguration]
53974
+ #
53975
+ # @!attribute [rw] start_time
53976
+ # The date and time the task was created, in the UTC timezone
53977
+ # (`YYYY-MM-DDThh:mm:ss.sssZ`).
53978
+ # @return [Time]
53979
+ #
53980
+ # @!attribute [rw] tags
53981
+ # The tags assigned to the task.
53982
+ # @return [Array<Types::Tag>]
53983
+ #
53984
+ # @!attribute [rw] task_state
53985
+ # The state of the task.
53986
+ # @return [String]
53987
+ #
53988
+ # @!attribute [rw] task_type
53989
+ # The type of task.
53990
+ # @return [String]
53991
+ #
53992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MacModificationTask AWS API Documentation
53993
+ #
53994
+ class MacModificationTask < Struct.new(
53995
+ :instance_id,
53996
+ :mac_modification_task_id,
53997
+ :mac_system_integrity_protection_config,
53998
+ :start_time,
53999
+ :tags,
54000
+ :task_state,
54001
+ :task_type)
54002
+ SENSITIVE = []
54003
+ include Aws::Structure
54004
+ end
54005
+
54006
+ # Describes the configuration for a System Integrity Protection (SIP)
54007
+ # modification task.
54008
+ #
54009
+ # @!attribute [rw] apple_internal
54010
+ # Indicates whether Apple Internal was enabled or disabled by the
54011
+ # task.
54012
+ # @return [String]
54013
+ #
54014
+ # @!attribute [rw] base_system
54015
+ # Indicates whether Base System was enabled or disabled by the task.
54016
+ # @return [String]
54017
+ #
54018
+ # @!attribute [rw] debugging_restrictions
54019
+ # Indicates whether Debugging Restrictions was enabled or disabled by
54020
+ # the task.
54021
+ # @return [String]
54022
+ #
54023
+ # @!attribute [rw] d_trace_restrictions
54024
+ # Indicates whether Dtrace Restrictions was enabled or disabled by the
54025
+ # task.
54026
+ # @return [String]
54027
+ #
54028
+ # @!attribute [rw] filesystem_protections
54029
+ # Indicates whether Filesystem Protections was enabled or disabled by
54030
+ # the task.
54031
+ # @return [String]
54032
+ #
54033
+ # @!attribute [rw] kext_signing
54034
+ # Indicates whether Kext Signing was enabled or disabled by the task.
54035
+ # @return [String]
54036
+ #
54037
+ # @!attribute [rw] nvram_protections
54038
+ # Indicates whether NVRAM Protections was enabled or disabled by the
54039
+ # task.
54040
+ # @return [String]
54041
+ #
54042
+ # @!attribute [rw] status
54043
+ # Indicates SIP was enabled or disabled by the task.
54044
+ # @return [String]
54045
+ #
54046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MacSystemIntegrityProtectionConfiguration AWS API Documentation
54047
+ #
54048
+ class MacSystemIntegrityProtectionConfiguration < Struct.new(
54049
+ :apple_internal,
54050
+ :base_system,
54051
+ :debugging_restrictions,
54052
+ :d_trace_restrictions,
54053
+ :filesystem_protections,
54054
+ :kext_signing,
54055
+ :nvram_protections,
54056
+ :status)
54057
+ SENSITIVE = []
54058
+ include Aws::Structure
54059
+ end
54060
+
54061
+ # Describes a custom configuration for a System Integrity Protection
54062
+ # (SIP) modification task.
54063
+ #
54064
+ # @!attribute [rw] apple_internal
54065
+ # Enables or disables Apple Internal.
54066
+ # @return [String]
54067
+ #
54068
+ # @!attribute [rw] base_system
54069
+ # Enables or disables Base System.
54070
+ # @return [String]
54071
+ #
54072
+ # @!attribute [rw] debugging_restrictions
54073
+ # Enables or disables Debugging Restrictions.
54074
+ # @return [String]
54075
+ #
54076
+ # @!attribute [rw] d_trace_restrictions
54077
+ # Enables or disables Dtrace Restrictions.
54078
+ # @return [String]
54079
+ #
54080
+ # @!attribute [rw] filesystem_protections
54081
+ # Enables or disables Filesystem Protections.
54082
+ # @return [String]
54083
+ #
54084
+ # @!attribute [rw] kext_signing
54085
+ # Enables or disables Kext Signing.
54086
+ # @return [String]
54087
+ #
54088
+ # @!attribute [rw] nvram_protections
54089
+ # Enables or disables Nvram Protections.
54090
+ # @return [String]
54091
+ #
54092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MacSystemIntegrityProtectionConfigurationRequest AWS API Documentation
54093
+ #
54094
+ class MacSystemIntegrityProtectionConfigurationRequest < Struct.new(
54095
+ :apple_internal,
54096
+ :base_system,
54097
+ :debugging_restrictions,
54098
+ :d_trace_restrictions,
54099
+ :filesystem_protections,
54100
+ :kext_signing,
54101
+ :nvram_protections)
54102
+ SENSITIVE = []
54103
+ include Aws::Structure
54104
+ end
54105
+
51968
54106
  # Details for Site-to-Site VPN tunnel endpoint maintenance events.
51969
54107
  #
51970
54108
  # @!attribute [rw] pending_maintenance
@@ -53183,7 +55321,7 @@ module Aws::EC2
53183
55321
  # value is specified for `DeleteOnTermination`, the default is `true`
53184
55322
  # and the volume is deleted when the instance is terminated. You
53185
55323
  # can't modify the `DeleteOnTermination` attribute for volumes that
53186
- # are attached to Fargate tasks.
55324
+ # are attached to Amazon Web Services-managed resources.
53187
55325
  #
53188
55326
  # To add instance store volumes to an Amazon EBS-backed instance, you
53189
55327
  # must add them when you launch the instance. For more information,
@@ -53346,6 +55484,80 @@ module Aws::EC2
53346
55484
  include Aws::Structure
53347
55485
  end
53348
55486
 
55487
+ # @!attribute [rw] dry_run
55488
+ # Checks whether you have the required permissions for the operation,
55489
+ # without actually making the request, and provides an error response.
55490
+ # If you have the required permissions, the error response is
55491
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
55492
+ # @return [Boolean]
55493
+ #
55494
+ # @!attribute [rw] instance_connect_endpoint_id
55495
+ # The ID of the EC2 Instance Connect Endpoint to modify.
55496
+ # @return [String]
55497
+ #
55498
+ # @!attribute [rw] ip_address_type
55499
+ # The new IP address type for the EC2 Instance Connect Endpoint.
55500
+ #
55501
+ # <note markdown="1"> `PreserveClientIp` is only supported on IPv4 EC2 Instance Connect
55502
+ # Endpoints. To use `PreserveClientIp`, the value for `IpAddressType`
55503
+ # must be `ipv4`.
55504
+ #
55505
+ # </note>
55506
+ # @return [String]
55507
+ #
55508
+ # @!attribute [rw] security_group_ids
55509
+ # Changes the security groups for the EC2 Instance Connect Endpoint.
55510
+ # The new set of groups you specify replaces the current set. You must
55511
+ # specify at least one group, even if it's just the default security
55512
+ # group in the VPC. You must specify the ID of the security group, not
55513
+ # the name.
55514
+ # @return [Array<String>]
55515
+ #
55516
+ # @!attribute [rw] preserve_client_ip
55517
+ # Indicates whether the client IP address is preserved as the source.
55518
+ # The following are the possible values.
55519
+ #
55520
+ # * `true` - Use the client IP address as the source.
55521
+ #
55522
+ # * `false` - Use the network interface IP address as the source.
55523
+ #
55524
+ # <note markdown="1"> `PreserveClientIp=true` is only supported on IPv4 EC2 Instance
55525
+ # Connect Endpoints. If modifying `PreserveClientIp` to `true`, either
55526
+ # the endpoint's existing `IpAddressType` must be `ipv4`, or if
55527
+ # modifying `IpAddressType` in the same request, the new value must be
55528
+ # `ipv4`.
55529
+ #
55530
+ # </note>
55531
+ #
55532
+ # Default: `false`
55533
+ # @return [Boolean]
55534
+ #
55535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceConnectEndpointRequest AWS API Documentation
55536
+ #
55537
+ class ModifyInstanceConnectEndpointRequest < Struct.new(
55538
+ :dry_run,
55539
+ :instance_connect_endpoint_id,
55540
+ :ip_address_type,
55541
+ :security_group_ids,
55542
+ :preserve_client_ip)
55543
+ SENSITIVE = []
55544
+ include Aws::Structure
55545
+ end
55546
+
55547
+ # @!attribute [rw] return
55548
+ # The return value of the request. Returns `true` if the specified
55549
+ # product code is owned by the requester and associated with the
55550
+ # specified instance.
55551
+ # @return [Boolean]
55552
+ #
55553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceConnectEndpointResult AWS API Documentation
55554
+ #
55555
+ class ModifyInstanceConnectEndpointResult < Struct.new(
55556
+ :return)
55557
+ SENSITIVE = []
55558
+ include Aws::Structure
55559
+ end
55560
+
53349
55561
  # @!attribute [rw] instance_id
53350
55562
  # The ID of the instance to update.
53351
55563
  # @return [String]
@@ -53574,6 +55786,28 @@ module Aws::EC2
53574
55786
  # to default.
53575
55787
  # @return [String]
53576
55788
  #
55789
+ # @!attribute [rw] reboot_migration
55790
+ # Specifies whether to attempt reboot migration during a
55791
+ # user-initiated reboot of an instance that has a scheduled
55792
+ # `system-reboot` event:
55793
+ #
55794
+ # * `default` - Amazon EC2 attempts to migrate the instance to new
55795
+ # hardware (reboot migration). If successful, the `system-reboot`
55796
+ # event is cleared. If unsuccessful, an in-place reboot occurs and
55797
+ # the event remains scheduled.
55798
+ #
55799
+ # * `disabled` - Amazon EC2 keeps the instance on the same hardware
55800
+ # (in-place reboot). The `system-reboot` event remains scheduled.
55801
+ #
55802
+ # This setting only applies to supported instances that have a
55803
+ # scheduled reboot event. For more information, see [Enable or disable
55804
+ # reboot migration][1] in the *Amazon EC2 User Guide*.
55805
+ #
55806
+ #
55807
+ #
55808
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/schedevents_actions_reboot.html#reboot-migration
55809
+ # @return [String]
55810
+ #
53577
55811
  # @!attribute [rw] dry_run
53578
55812
  # Checks whether you have the required permissions for the action,
53579
55813
  # without actually making the request, and provides an error response.
@@ -53586,6 +55820,7 @@ module Aws::EC2
53586
55820
  class ModifyInstanceMaintenanceOptionsRequest < Struct.new(
53587
55821
  :instance_id,
53588
55822
  :auto_recovery,
55823
+ :reboot_migration,
53589
55824
  :dry_run)
53590
55825
  SENSITIVE = []
53591
55826
  include Aws::Structure
@@ -53600,11 +55835,34 @@ module Aws::EC2
53600
55835
  # your instance.
53601
55836
  # @return [String]
53602
55837
  #
55838
+ # @!attribute [rw] reboot_migration
55839
+ # Specifies whether to attempt reboot migration during a
55840
+ # user-initiated reboot of an instance that has a scheduled
55841
+ # `system-reboot` event:
55842
+ #
55843
+ # * `default` - Amazon EC2 attempts to migrate the instance to new
55844
+ # hardware (reboot migration). If successful, the `system-reboot`
55845
+ # event is cleared. If unsuccessful, an in-place reboot occurs and
55846
+ # the event remains scheduled.
55847
+ #
55848
+ # * `disabled` - Amazon EC2 keeps the instance on the same hardware
55849
+ # (in-place reboot). The `system-reboot` event remains scheduled.
55850
+ #
55851
+ # This setting only applies to supported instances that have a
55852
+ # scheduled reboot event. For more information, see [Enable or disable
55853
+ # reboot migration][1] in the *Amazon EC2 User Guide*.
55854
+ #
55855
+ #
55856
+ #
55857
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/schedevents_actions_reboot.html#reboot-migration
55858
+ # @return [String]
55859
+ #
53603
55860
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMaintenanceOptionsResult AWS API Documentation
53604
55861
  #
53605
55862
  class ModifyInstanceMaintenanceOptionsResult < Struct.new(
53606
55863
  :instance_id,
53607
- :auto_recovery)
55864
+ :auto_recovery,
55865
+ :reboot_migration)
53608
55866
  SENSITIVE = []
53609
55867
  include Aws::Structure
53610
55868
  end
@@ -54533,6 +56791,10 @@ module Aws::EC2
54533
56791
  # will only apply to the primary network interface (eth0).
54534
56792
  # @return [Boolean]
54535
56793
  #
56794
+ # @!attribute [rw] associated_subnet_ids
56795
+ # A list of subnet IDs to associate with the network interface.
56796
+ # @return [Array<String>]
56797
+ #
54536
56798
  # @!attribute [rw] dry_run
54537
56799
  # Checks whether you have the required permissions for the action,
54538
56800
  # without actually making the request, and provides an error response.
@@ -54578,6 +56840,7 @@ module Aws::EC2
54578
56840
  :enable_primary_ipv_6,
54579
56841
  :connection_tracking_specification,
54580
56842
  :associate_public_ip_address,
56843
+ :associated_subnet_ids,
54581
56844
  :dry_run,
54582
56845
  :network_interface_id,
54583
56846
  :description,
@@ -54642,6 +56905,65 @@ module Aws::EC2
54642
56905
  include Aws::Structure
54643
56906
  end
54644
56907
 
56908
+ # @!attribute [rw] network_interface_id
56909
+ # A network interface ID.
56910
+ # @return [String]
56911
+ #
56912
+ # @!attribute [rw] hostname_type
56913
+ # The public hostname type. For more information, see [EC2 instance
56914
+ # hostnames, DNS names, and domains][1] in the *Amazon EC2 User
56915
+ # Guide*.
56916
+ #
56917
+ # * `public-dual-stack-dns-name`: A dual-stack public hostname for a
56918
+ # network interface. Requests from within the VPC resolve to both
56919
+ # the private IPv4 address and the IPv6 Global Unicast Address of
56920
+ # the network interface. Requests from the internet resolve to both
56921
+ # the public IPv4 and the IPv6 GUA address of the network interface.
56922
+ #
56923
+ # * `public-ipv4-dns-name`: An IPv4-enabled public hostname for a
56924
+ # network interface. Requests from within the VPC resolve to the
56925
+ # private primary IPv4 address of the network interface. Requests
56926
+ # from the internet resolve to the public IPv4 address of the
56927
+ # network interface.
56928
+ #
56929
+ # * `public-ipv6-dns-name`: An IPv6-enabled public hostname for a
56930
+ # network interface. Requests from within the VPC or from the
56931
+ # internet resolve to the IPv6 GUA of the network interface.
56932
+ #
56933
+ #
56934
+ #
56935
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
56936
+ # @return [String]
56937
+ #
56938
+ # @!attribute [rw] dry_run
56939
+ # Checks whether you have the required permissions for the operation,
56940
+ # without actually making the request, and provides an error response.
56941
+ # If you have the required permissions, the error response is
56942
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
56943
+ # @return [Boolean]
56944
+ #
56945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyPublicIpDnsNameOptionsRequest AWS API Documentation
56946
+ #
56947
+ class ModifyPublicIpDnsNameOptionsRequest < Struct.new(
56948
+ :network_interface_id,
56949
+ :hostname_type,
56950
+ :dry_run)
56951
+ SENSITIVE = []
56952
+ include Aws::Structure
56953
+ end
56954
+
56955
+ # @!attribute [rw] successful
56956
+ # Whether or not the request was successful.
56957
+ # @return [Boolean]
56958
+ #
56959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyPublicIpDnsNameOptionsResult AWS API Documentation
56960
+ #
56961
+ class ModifyPublicIpDnsNameOptionsResult < Struct.new(
56962
+ :successful)
56963
+ SENSITIVE = []
56964
+ include Aws::Structure
56965
+ end
56966
+
54645
56967
  # Contains the parameters for ModifyReservedInstances.
54646
56968
  #
54647
56969
  # @!attribute [rw] reserved_instances_ids
@@ -55327,8 +57649,11 @@ module Aws::EC2
55327
57649
  # @return [String]
55328
57650
  #
55329
57651
  # @!attribute [rw] default_route_table_propagation
55330
- # Enable or disable automatic propagation of routes to the default
55331
- # propagation route table.
57652
+ # Indicates whether resource attachments automatically propagate
57653
+ # routes to the default propagation route table. Enabled by default.
57654
+ # If `defaultRouteTablePropagation` is set to `enable`, Amazon Web
57655
+ # Services Transit Gateway will create the default transit gateway
57656
+ # route table.
55332
57657
  # @return [String]
55333
57658
  #
55334
57659
  # @!attribute [rw] propagation_default_route_table_id
@@ -56274,7 +58599,9 @@ module Aws::EC2
56274
58599
  #
56275
58600
  # The following are the supported volumes sizes for each volume type:
56276
58601
  #
56277
- # * `gp2` and `gp3`: 1 - 16,384 GiB
58602
+ # * `gp2`: 1 - 16,384 GiB
58603
+ #
58604
+ # * `gp3`: 1 - 65,536 GiB
56278
58605
  #
56279
58606
  # * `io1`: 4 - 16,384 GiB
56280
58607
  #
@@ -56304,7 +58631,7 @@ module Aws::EC2
56304
58631
  #
56305
58632
  # The following are the supported values for each volume type:
56306
58633
  #
56307
- # * `gp3`: 3,000 - 16,000 IOPS
58634
+ # * `gp3`: 3,000 - 80,000 IOPS
56308
58635
  #
56309
58636
  # * `io1`: 100 - 64,000 IOPS
56310
58637
  #
@@ -56325,12 +58652,12 @@ module Aws::EC2
56325
58652
  #
56326
58653
  # @!attribute [rw] throughput
56327
58654
  # The target throughput of the volume, in MiB/s. This parameter is
56328
- # valid only for `gp3` volumes. The maximum value is 1,000.
58655
+ # valid only for `gp3` volumes. The maximum value is 2,000.
56329
58656
  #
56330
58657
  # Default: The existing value is retained if the source and target
56331
58658
  # volume type is `gp3`. Otherwise, the default value is 125.
56332
58659
  #
56333
- # Valid Range: Minimum value of 125. Maximum value of 1000.
58660
+ # Valid Range: Minimum value of 125. Maximum value of 2,000.
56334
58661
  # @return [Integer]
56335
58662
  #
56336
58663
  # @!attribute [rw] multi_attach_enabled
@@ -57100,6 +59427,12 @@ module Aws::EC2
57100
59427
  # Valid values: `True` \| `False`
57101
59428
  # @return [Boolean]
57102
59429
  #
59430
+ # @!attribute [rw] pre_shared_key_storage
59431
+ # Specifies the storage mode for the pre-shared key (PSK). Valid
59432
+ # values are `Standard` (stored in Site-to-Site VPN service) or
59433
+ # `SecretsManager` (stored in Amazon Web Services Secrets Manager).
59434
+ # @return [String]
59435
+ #
57103
59436
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptionsRequest AWS API Documentation
57104
59437
  #
57105
59438
  class ModifyVpnTunnelOptionsRequest < Struct.new(
@@ -57107,7 +59440,8 @@ module Aws::EC2
57107
59440
  :vpn_tunnel_outside_ip_address,
57108
59441
  :tunnel_options,
57109
59442
  :dry_run,
57110
- :skip_tunnel_replacement)
59443
+ :skip_tunnel_replacement,
59444
+ :pre_shared_key_storage)
57111
59445
  SENSITIVE = [:tunnel_options]
57112
59446
  include Aws::Structure
57113
59447
  end
@@ -58456,9 +60790,35 @@ module Aws::EC2
58456
60790
  # @return [String]
58457
60791
  #
58458
60792
  # @!attribute [rw] private_dns_name
58459
- # The private DNS name.
60793
+ # The private hostname. For more information, see [EC2 instance
60794
+ # hostnames, DNS names, and domains][1] in the *Amazon EC2 User
60795
+ # Guide*.
60796
+ #
60797
+ #
60798
+ #
60799
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
58460
60800
  # @return [String]
58461
60801
  #
60802
+ # @!attribute [rw] public_dns_name
60803
+ # A public hostname. For more information, see [EC2 instance
60804
+ # hostnames, DNS names, and domains][1] in the *Amazon EC2 User
60805
+ # Guide*.
60806
+ #
60807
+ #
60808
+ #
60809
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
60810
+ # @return [String]
60811
+ #
60812
+ # @!attribute [rw] public_ip_dns_name_options
60813
+ # Public hostname type options. For more information, see [EC2
60814
+ # instance hostnames, DNS names, and domains][1] in the *Amazon EC2
60815
+ # User Guide*.
60816
+ #
60817
+ #
60818
+ #
60819
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
60820
+ # @return [Types::PublicIpDnsNameOptions]
60821
+ #
58462
60822
  # @!attribute [rw] private_ip_address
58463
60823
  # The IPv4 address of the network interface within the subnet.
58464
60824
  # @return [String]
@@ -58527,6 +60887,10 @@ module Aws::EC2
58527
60887
  # The service provider that manages the network interface.
58528
60888
  # @return [Types::OperatorResponse]
58529
60889
  #
60890
+ # @!attribute [rw] associated_subnets
60891
+ # The subnets associated with this network interface.
60892
+ # @return [Array<String>]
60893
+ #
58530
60894
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterface AWS API Documentation
58531
60895
  #
58532
60896
  class NetworkInterface < Struct.new(
@@ -58543,6 +60907,8 @@ module Aws::EC2
58543
60907
  :outpost_arn,
58544
60908
  :owner_id,
58545
60909
  :private_dns_name,
60910
+ :public_dns_name,
60911
+ :public_ip_dns_name_options,
58546
60912
  :private_ip_address,
58547
60913
  :private_ip_addresses,
58548
60914
  :ipv_4_prefixes,
@@ -58557,7 +60923,8 @@ module Aws::EC2
58557
60923
  :deny_all_igw_traffic,
58558
60924
  :ipv_6_native,
58559
60925
  :ipv_6_address,
58560
- :operator)
60926
+ :operator,
60927
+ :associated_subnets)
58561
60928
  SENSITIVE = []
58562
60929
  include Aws::Structure
58563
60930
  end
@@ -58752,6 +61119,18 @@ module Aws::EC2
58752
61119
  # The IPv6 address.
58753
61120
  # @return [String]
58754
61121
  #
61122
+ # @!attribute [rw] public_ipv_6_dns_name
61123
+ # An IPv6-enabled public hostname for a network interface. Requests
61124
+ # from within the VPC or from the internet resolve to the IPv6 GUA of
61125
+ # the network interface. For more information, see [EC2 instance
61126
+ # hostnames, DNS names, and domains][1] in the *Amazon EC2 User
61127
+ # Guide*.
61128
+ #
61129
+ #
61130
+ #
61131
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
61132
+ # @return [String]
61133
+ #
58755
61134
  # @!attribute [rw] is_primary_ipv_6
58756
61135
  # Determines if an IPv6 address associated with a network interface is
58757
61136
  # the primary IPv6 address. When you enable an IPv6 GUA address to be
@@ -58769,6 +61148,7 @@ module Aws::EC2
58769
61148
  #
58770
61149
  class NetworkInterfaceIpv6Address < Struct.new(
58771
61150
  :ipv_6_address,
61151
+ :public_ipv_6_dns_name,
58772
61152
  :is_primary_ipv_6)
58773
61153
  SENSITIVE = []
58774
61154
  include Aws::Structure
@@ -60004,6 +62384,20 @@ module Aws::EC2
60004
62384
 
60005
62385
  # Describes the placement of an instance.
60006
62386
  #
62387
+ # @!attribute [rw] availability_zone_id
62388
+ # The ID of the Availability Zone of the instance.
62389
+ #
62390
+ # On input, you can specify `AvailabilityZone` or
62391
+ # `AvailabilityZoneId`, but not both. If you specify neither one,
62392
+ # Amazon EC2 automatically selects an Availability Zone for you.
62393
+ #
62394
+ # This parameter is not supported for [CreateFleet][1].
62395
+ #
62396
+ #
62397
+ #
62398
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet
62399
+ # @return [String]
62400
+ #
60007
62401
  # @!attribute [rw] affinity
60008
62402
  # The affinity setting for the instance on the Dedicated Host.
60009
62403
  #
@@ -60017,8 +62411,9 @@ module Aws::EC2
60017
62411
  # @return [String]
60018
62412
  #
60019
62413
  # @!attribute [rw] group_name
60020
- # The name of the placement group that the instance is in. If you
60021
- # specify `GroupName`, you can't specify `GroupId`.
62414
+ # The name of the placement group that the instance is in.
62415
+ #
62416
+ # On input, you can specify `GroupId` or `GroupName`, but not both.
60022
62417
  # @return [String]
60023
62418
  #
60024
62419
  # @!attribute [rw] partition_number
@@ -60065,8 +62460,8 @@ module Aws::EC2
60065
62460
  # @!attribute [rw] host_resource_group_arn
60066
62461
  # The ARN of the host resource group in which to launch the instances.
60067
62462
  #
60068
- # If you specify this parameter, either omit the **Tenancy** parameter
60069
- # or set it to `host`.
62463
+ # On input, if you specify this parameter, either omit the **Tenancy**
62464
+ # parameter or set it to `host`.
60070
62465
  #
60071
62466
  # This parameter is not supported for [CreateFleet][1].
60072
62467
  #
@@ -60076,15 +62471,17 @@ module Aws::EC2
60076
62471
  # @return [String]
60077
62472
  #
60078
62473
  # @!attribute [rw] group_id
60079
- # The ID of the placement group that the instance is in. If you
60080
- # specify `GroupId`, you can't specify `GroupName`.
62474
+ # The ID of the placement group that the instance is in.
62475
+ #
62476
+ # On input, you can specify `GroupId` or `GroupName`, but not both.
60081
62477
  # @return [String]
60082
62478
  #
60083
62479
  # @!attribute [rw] availability_zone
60084
62480
  # The Availability Zone of the instance.
60085
62481
  #
60086
- # If not specified, an Availability Zone will be automatically chosen
60087
- # for you based on the load balancing criteria for the Region.
62482
+ # On input, you can specify `AvailabilityZone` or
62483
+ # `AvailabilityZoneId`, but not both. If you specify neither one,
62484
+ # Amazon EC2 automatically selects an Availability Zone for you.
60088
62485
  #
60089
62486
  # This parameter is not supported for [CreateFleet][1].
60090
62487
  #
@@ -60096,6 +62493,7 @@ module Aws::EC2
60096
62493
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Placement AWS API Documentation
60097
62494
  #
60098
62495
  class Placement < Struct.new(
62496
+ :availability_zone_id,
60099
62497
  :affinity,
60100
62498
  :group_name,
60101
62499
  :partition_number,
@@ -60979,6 +63377,55 @@ module Aws::EC2
60979
63377
  include Aws::Structure
60980
63378
  end
60981
63379
 
63380
+ # Public hostname type options. For more information, see [EC2 instance
63381
+ # hostnames, DNS names, and domains][1] in the *Amazon EC2 User Guide*.
63382
+ #
63383
+ #
63384
+ #
63385
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
63386
+ #
63387
+ # @!attribute [rw] dns_hostname_type
63388
+ # The public hostname type. For more information, see [EC2 instance
63389
+ # hostnames, DNS names, and domains][1] in the *Amazon EC2 User
63390
+ # Guide*.
63391
+ #
63392
+ #
63393
+ #
63394
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html
63395
+ # @return [String]
63396
+ #
63397
+ # @!attribute [rw] public_ipv_4_dns_name
63398
+ # An IPv4-enabled public hostname for a network interface. Requests
63399
+ # from within the VPC resolve to the private primary IPv4 address of
63400
+ # the network interface. Requests from the internet resolve to the
63401
+ # public IPv4 address of the network interface.
63402
+ # @return [String]
63403
+ #
63404
+ # @!attribute [rw] public_ipv_6_dns_name
63405
+ # An IPv6-enabled public hostname for a network interface. Requests
63406
+ # from within the VPC or from the internet resolve to the IPv6 GUA of
63407
+ # the network interface.
63408
+ # @return [String]
63409
+ #
63410
+ # @!attribute [rw] public_dual_stack_dns_name
63411
+ # A dual-stack public hostname for a network interface. Requests from
63412
+ # within the VPC resolve to both the private IPv4 address and the IPv6
63413
+ # Global Unicast Address of the network interface. Requests from the
63414
+ # internet resolve to both the public IPv4 and the IPv6 GUA address of
63415
+ # the network interface.
63416
+ # @return [String]
63417
+ #
63418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PublicIpDnsNameOptions AWS API Documentation
63419
+ #
63420
+ class PublicIpDnsNameOptions < Struct.new(
63421
+ :dns_hostname_type,
63422
+ :public_ipv_4_dns_name,
63423
+ :public_ipv_6_dns_name,
63424
+ :public_dual_stack_dns_name)
63425
+ SENSITIVE = []
63426
+ include Aws::Structure
63427
+ end
63428
+
60982
63429
  # Describes an IPv4 address pool.
60983
63430
  #
60984
63431
  # @!attribute [rw] pool_id
@@ -61177,10 +63624,15 @@ module Aws::EC2
61177
63624
  # The Capacity Reservation.
61178
63625
  # @return [Types::CapacityReservation]
61179
63626
  #
63627
+ # @!attribute [rw] capacity_blocks
63628
+ # The Capacity Block.
63629
+ # @return [Array<Types::CapacityBlock>]
63630
+ #
61180
63631
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseCapacityBlockResult AWS API Documentation
61181
63632
  #
61182
63633
  class PurchaseCapacityBlockResult < Struct.new(
61183
- :capacity_reservation)
63634
+ :capacity_reservation,
63635
+ :capacity_blocks)
61184
63636
  SENSITIVE = []
61185
63637
  include Aws::Structure
61186
63638
  end
@@ -61538,8 +63990,8 @@ module Aws::EC2
61538
63990
  # The full path to your AMI manifest in Amazon S3 storage. The
61539
63991
  # specified bucket must have the `aws-exec-read` canned access control
61540
63992
  # list (ACL) to ensure that it can be accessed by Amazon EC2. For more
61541
- # information, see [Canned ACLs][1] in the *Amazon S3 Service
61542
- # Developer Guide*.
63993
+ # information, see [Canned ACL][1] in the *Amazon S3 Service Developer
63994
+ # Guide*.
61543
63995
  #
61544
63996
  #
61545
63997
  #
@@ -61554,8 +64006,10 @@ module Aws::EC2
61554
64006
  # you can publish AMIs that include billable software and list them on
61555
64007
  # the Amazon Web Services Marketplace. You must first register as a
61556
64008
  # seller on the Amazon Web Services Marketplace. For more information,
61557
- # see [Getting started as a seller][1] and [AMI-based products][2] in
61558
- # the *Amazon Web Services Marketplace Seller Guide*.
64009
+ # see [Getting started as an Amazon Web Services Marketplace
64010
+ # seller][1] and [AMI-based products in Amazon Web Services
64011
+ # Marketplace][2] in the *Amazon Web Services Marketplace Seller
64012
+ # Guide*.
61559
64013
  #
61560
64014
  #
61561
64015
  #
@@ -61572,8 +64026,8 @@ module Aws::EC2
61572
64026
  #
61573
64027
  # </note>
61574
64028
  #
61575
- # For more information, see [Boot modes][1] in the *Amazon EC2 User
61576
- # Guide*.
64029
+ # For more information, see [Instance launch behavior with Amazon EC2
64030
+ # boot modes][1] in the *Amazon EC2 User Guide*.
61577
64031
  #
61578
64032
  #
61579
64033
  #
@@ -61594,7 +64048,8 @@ module Aws::EC2
61594
64048
  # retrieve the UEFI data, use the [GetInstanceUefiData][1] command.
61595
64049
  # You can inspect and modify the UEFI data by using the
61596
64050
  # [python-uefivars tool][2] on GitHub. For more information, see [UEFI
61597
- # Secure Boot][3] in the *Amazon EC2 User Guide*.
64051
+ # Secure Boot for Amazon EC2 instances][3] in the *Amazon EC2 User
64052
+ # Guide*.
61598
64053
  #
61599
64054
  #
61600
64055
  #
@@ -61683,8 +64138,8 @@ module Aws::EC2
61683
64138
  # If you create an AMI on an Outpost, then all backing snapshots must
61684
64139
  # be on the same Outpost or in the Region of that Outpost. AMIs on an
61685
64140
  # Outpost that include local snapshots can be used to launch instances
61686
- # on the same Outpost only. For more information, [Amazon EBS local
61687
- # snapshots on Outposts][1] in the *Amazon EBS User Guide*.
64141
+ # on the same Outpost only. For more information, [Create AMIs from
64142
+ # local snapshots][1] in the *Amazon EBS User Guide*.
61688
64143
  #
61689
64144
  #
61690
64145
  #
@@ -62589,6 +65044,10 @@ module Aws::EC2
62589
65044
  # The Amazon Resource Name (ARN) of the core network.
62590
65045
  # @return [String]
62591
65046
  #
65047
+ # @!attribute [rw] odb_network_arn
65048
+ # The Amazon Resource Name (ARN) of the ODB network.
65049
+ # @return [String]
65050
+ #
62592
65051
  # @!attribute [rw] dry_run
62593
65052
  # Checks whether you have the required permissions for the action,
62594
65053
  # without actually making the request, and provides an error response.
@@ -62646,6 +65105,7 @@ module Aws::EC2
62646
65105
  :local_gateway_id,
62647
65106
  :carrier_gateway_id,
62648
65107
  :core_network_arn,
65108
+ :odb_network_arn,
62649
65109
  :dry_run,
62650
65110
  :route_table_id,
62651
65111
  :destination_cidr_block,
@@ -63812,6 +66272,10 @@ module Aws::EC2
63812
66272
  # Any tags assigned to the resource.
63813
66273
  # @return [Array<Types::Tag>]
63814
66274
  #
66275
+ # @!attribute [rw] availability_zone_id
66276
+ # The ID of the Availability Zone.
66277
+ # @return [String]
66278
+ #
63815
66279
  # @!attribute [rw] reserved_instances_id
63816
66280
  # The ID of the Reserved Instance.
63817
66281
  # @return [String]
@@ -63866,6 +66330,7 @@ module Aws::EC2
63866
66330
  :recurring_charges,
63867
66331
  :scope,
63868
66332
  :tags,
66333
+ :availability_zone_id,
63869
66334
  :reserved_instances_id,
63870
66335
  :instance_type,
63871
66336
  :availability_zone,
@@ -63909,6 +66374,10 @@ module Aws::EC2
63909
66374
  # instances in a specific Availability Zone.
63910
66375
  # @return [String]
63911
66376
  #
66377
+ # @!attribute [rw] availability_zone_id
66378
+ # The ID of the Availability Zone.
66379
+ # @return [String]
66380
+ #
63912
66381
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesConfiguration AWS API Documentation
63913
66382
  #
63914
66383
  class ReservedInstancesConfiguration < Struct.new(
@@ -63916,7 +66385,8 @@ module Aws::EC2
63916
66385
  :instance_count,
63917
66386
  :instance_type,
63918
66387
  :platform,
63919
- :scope)
66388
+ :scope,
66389
+ :availability_zone_id)
63920
66390
  SENSITIVE = []
63921
66391
  include Aws::Structure
63922
66392
  end
@@ -64125,6 +66595,10 @@ module Aws::EC2
64125
66595
  # an Availability Zone.
64126
66596
  # @return [String]
64127
66597
  #
66598
+ # @!attribute [rw] availability_zone_id
66599
+ # The ID of the Availability Zone.
66600
+ # @return [String]
66601
+ #
64128
66602
  # @!attribute [rw] reserved_instances_offering_id
64129
66603
  # The ID of the Reserved Instance offering. This is the offering ID
64130
66604
  # used in GetReservedInstancesExchangeQuote to confirm that an
@@ -64166,6 +66640,7 @@ module Aws::EC2
64166
66640
  :pricing_details,
64167
66641
  :recurring_charges,
64168
66642
  :scope,
66643
+ :availability_zone_id,
64169
66644
  :reserved_instances_offering_id,
64170
66645
  :instance_type,
64171
66646
  :availability_zone,
@@ -64427,6 +66902,68 @@ module Aws::EC2
64427
66902
  include Aws::Structure
64428
66903
  end
64429
66904
 
66905
+ # The options that affect the scope of the response.
66906
+ #
66907
+ # @!attribute [rw] option_name
66908
+ # The name of the option.
66909
+ #
66910
+ # * For `ec2:Instance`:
66911
+ #
66912
+ # Specify `state-name` - The current state of the EC2 instance.
66913
+ #
66914
+ # * For `ec2:LaunchTemplate`:
66915
+ #
66916
+ # Specify `version-depth` - The number of launch template versions
66917
+ # to check, starting from the most recent version.
66918
+ # @return [String]
66919
+ #
66920
+ # @!attribute [rw] option_values
66921
+ # A value for the specified option.
66922
+ #
66923
+ # * For `state-name`:
66924
+ #
66925
+ # * Valid values: `pending` \| `running` \| `shutting-down` \|
66926
+ # `terminated` \| `stopping` \| `stopped`
66927
+ #
66928
+ # * Default: All states
66929
+ # * For `version-depth`:
66930
+ #
66931
+ # * Valid values: Integers between `1` and `10000`
66932
+ #
66933
+ # * Default: `10`
66934
+ # @return [Array<String>]
66935
+ #
66936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResourceTypeOption AWS API Documentation
66937
+ #
66938
+ class ResourceTypeOption < Struct.new(
66939
+ :option_name,
66940
+ :option_values)
66941
+ SENSITIVE = []
66942
+ include Aws::Structure
66943
+ end
66944
+
66945
+ # A resource type to check for image references. Associated options can
66946
+ # also be specified if the resource type is an EC2 instance or launch
66947
+ # template.
66948
+ #
66949
+ # @!attribute [rw] resource_type
66950
+ # The resource type.
66951
+ # @return [String]
66952
+ #
66953
+ # @!attribute [rw] resource_type_options
66954
+ # The options that affect the scope of the response. Valid only when
66955
+ # `ResourceType` is `ec2:Instance` or `ec2:LaunchTemplate`.
66956
+ # @return [Array<Types::ResourceTypeOption>]
66957
+ #
66958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResourceTypeRequest AWS API Documentation
66959
+ #
66960
+ class ResourceTypeRequest < Struct.new(
66961
+ :resource_type,
66962
+ :resource_type_options)
66963
+ SENSITIVE = []
66964
+ include Aws::Structure
66965
+ end
66966
+
64430
66967
  # Describes the error that's returned when you cannot delete a launch
64431
66968
  # template version.
64432
66969
  #
@@ -65340,6 +67877,9 @@ module Aws::EC2
65340
67877
  #
65341
67878
  # * `EnableVgwRoutePropagation` - The route was propagated by route
65342
67879
  # propagation.
67880
+ #
67881
+ # * `Advertisement` - The route was created dynamically by Amazon VPC
67882
+ # Route Server.
65343
67883
  # @return [String]
65344
67884
  #
65345
67885
  # @!attribute [rw] state
@@ -65357,6 +67897,15 @@ module Aws::EC2
65357
67897
  # The Amazon Resource Name (ARN) of the core network.
65358
67898
  # @return [String]
65359
67899
  #
67900
+ # @!attribute [rw] odb_network_arn
67901
+ # The Amazon Resource Name (ARN) of the ODB network.
67902
+ # @return [String]
67903
+ #
67904
+ # @!attribute [rw] ip_address
67905
+ # The next hop IP address for routes propagated by VPC Route Server
67906
+ # into VPC route tables.
67907
+ # @return [String]
67908
+ #
65360
67909
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Route AWS API Documentation
65361
67910
  #
65362
67911
  class Route < Struct.new(
@@ -65375,7 +67924,9 @@ module Aws::EC2
65375
67924
  :origin,
65376
67925
  :state,
65377
67926
  :vpc_peering_connection_id,
65378
- :core_network_arn)
67927
+ :core_network_arn,
67928
+ :odb_network_arn,
67929
+ :ip_address)
65379
67930
  SENSITIVE = []
65380
67931
  include Aws::Structure
65381
67932
  end
@@ -65953,6 +68504,11 @@ module Aws::EC2
65953
68504
  # The ID of the internet gateway or virtual private gateway.
65954
68505
  # @return [String]
65955
68506
  #
68507
+ # @!attribute [rw] public_ipv_4_pool
68508
+ # The ID of a public IPv4 pool. A public IPv4 pool is a pool of IPv4
68509
+ # addresses that you've brought to Amazon Web Services with BYOIP.
68510
+ # @return [String]
68511
+ #
65956
68512
  # @!attribute [rw] association_state
65957
68513
  # The state of the association.
65958
68514
  # @return [Types::RouteTableAssociationState]
@@ -65965,6 +68521,7 @@ module Aws::EC2
65965
68521
  :route_table_id,
65966
68522
  :subnet_id,
65967
68523
  :gateway_id,
68524
+ :public_ipv_4_pool,
65968
68525
  :association_state)
65969
68526
  SENSITIVE = []
65970
68527
  include Aws::Structure
@@ -66080,12 +68637,12 @@ module Aws::EC2
66080
68637
  # @return [String]
66081
68638
  #
66082
68639
  # @!attribute [rw] instance_type
66083
- # The instance type. For more information, see [Amazon EC2 instance
66084
- # types][1] in the *Amazon EC2 User Guide*.
68640
+ # The instance type. For more information, see [Amazon EC2 Instance
68641
+ # Types Guide][1].
66085
68642
  #
66086
68643
  #
66087
68644
  #
66088
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
68645
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html
66089
68646
  # @return [String]
66090
68647
  #
66091
68648
  # @!attribute [rw] ipv_6_address_count
@@ -66123,8 +68680,8 @@ module Aws::EC2
66123
68680
  # @return [String]
66124
68681
  #
66125
68682
  # @!attribute [rw] key_name
66126
- # The name of the key pair. You can create a key pair using
66127
- # [CreateKeyPair][1] or [ImportKeyPair][2].
68683
+ # The name of the key pair. For more information, see [Create a key
68684
+ # pair for your EC2 instance][1].
66128
68685
  #
66129
68686
  # If you do not specify a key pair, you can't connect to the instance
66130
68687
  # unless you choose an AMI that is configured to allow users another
@@ -66132,8 +68689,7 @@ module Aws::EC2
66132
68689
  #
66133
68690
  #
66134
68691
  #
66135
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html
66136
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html
68692
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html
66137
68693
  # @return [String]
66138
68694
  #
66139
68695
  # @!attribute [rw] max_count
@@ -66190,16 +68746,11 @@ module Aws::EC2
66190
68746
  # @return [String]
66191
68747
  #
66192
68748
  # @!attribute [rw] security_group_ids
66193
- # The IDs of the security groups. You can create a security group
66194
- # using [CreateSecurityGroup][1].
68749
+ # The IDs of the security groups.
66195
68750
  #
66196
68751
  # If you specify a network interface, you must specify any security
66197
68752
  # groups as part of the network interface instead of using this
66198
68753
  # parameter.
66199
- #
66200
- #
66201
- #
66202
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html
66203
68754
  # @return [Array<String>]
66204
68755
  #
66205
68756
  # @!attribute [rw] security_groups
@@ -66223,11 +68774,11 @@ module Aws::EC2
66223
68774
  # The user data to make available to the instance. User data must be
66224
68775
  # base64-encoded. Depending on the tool or SDK that you're using, the
66225
68776
  # base64-encoding might be performed for you. For more information,
66226
- # see [Work with instance user data][1].
68777
+ # see [Run commands at launch using instance user data][1].
66227
68778
  #
66228
68779
  #
66229
68780
  #
66230
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html
68781
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
66231
68782
  # @return [String]
66232
68783
  #
66233
68784
  # @!attribute [rw] elastic_gpu_specification
@@ -66337,25 +68888,24 @@ module Aws::EC2
66337
68888
  #
66338
68889
  # @!attribute [rw] metadata_options
66339
68890
  # The metadata options for the instance. For more information, see
66340
- # [Instance metadata and user data][1].
68891
+ # [Configure the Instance Metadata Service options][1].
66341
68892
  #
66342
68893
  #
66343
68894
  #
66344
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
68895
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html
66345
68896
  # @return [Types::InstanceMetadataOptionsRequest]
66346
68897
  #
66347
68898
  # @!attribute [rw] enclave_options
66348
68899
  # Indicates whether the instance is enabled for Amazon Web Services
66349
- # Nitro Enclaves. For more information, see [What is Amazon Web
66350
- # Services Nitro Enclaves?][1] in the *Amazon Web Services Nitro
66351
- # Enclaves User Guide*.
68900
+ # Nitro Enclaves. For more information, see [Amazon Web Services Nitro
68901
+ # Enclaves User Guide][1].
66352
68902
  #
66353
68903
  # You can't enable Amazon Web Services Nitro Enclaves and hibernation
66354
68904
  # on the same instance.
66355
68905
  #
66356
68906
  #
66357
68907
  #
66358
- # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
68908
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/
66359
68909
  # @return [Types::EnclaveOptionsRequest]
66360
68910
  #
66361
68911
  # @!attribute [rw] private_dns_name_options
@@ -66370,11 +68920,12 @@ module Aws::EC2
66370
68920
  #
66371
68921
  # @!attribute [rw] disable_api_stop
66372
68922
  # Indicates whether an instance is enabled for stop protection. For
66373
- # more information, see [Stop protection][1].
68923
+ # more information, see [Enable stop protection for your EC2
68924
+ # instances][1].
66374
68925
  #
66375
68926
  #
66376
68927
  #
66377
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection
68928
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html
66378
68929
  # @return [Boolean]
66379
68930
  #
66380
68931
  # @!attribute [rw] enable_primary_ipv_6
@@ -66448,7 +68999,8 @@ module Aws::EC2
66448
68999
  # randomly generated token is used for the request to ensure
66449
69000
  # idempotency.
66450
69001
  #
66451
- # For more information, see [Ensuring Idempotency][1].
69002
+ # For more information, see [Ensuring idempotency in Amazon EC2 API
69003
+ # requests][1].
66452
69004
  #
66453
69005
  # Constraints: Maximum 64 ASCII characters
66454
69006
  #
@@ -66457,7 +69009,7 @@ module Aws::EC2
66457
69009
  #
66458
69010
  #
66459
69011
  #
66460
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
69012
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
66461
69013
  # @return [String]
66462
69014
  #
66463
69015
  # @!attribute [rw] additional_info
@@ -67902,6 +70454,11 @@ module Aws::EC2
67902
70454
  # The association's state reason.
67903
70455
  # @return [String]
67904
70456
  #
70457
+ # @!attribute [rw] group_owner_id
70458
+ # The Amazon Web Services account ID of the owner of the security
70459
+ # group.
70460
+ # @return [String]
70461
+ #
67905
70462
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupVpcAssociation AWS API Documentation
67906
70463
  #
67907
70464
  class SecurityGroupVpcAssociation < Struct.new(
@@ -67909,7 +70466,8 @@ module Aws::EC2
67909
70466
  :vpc_id,
67910
70467
  :vpc_owner_id,
67911
70468
  :state,
67912
- :state_reason)
70469
+ :state_reason,
70470
+ :group_owner_id)
67913
70471
  SENSITIVE = []
67914
70472
  include Aws::Structure
67915
70473
  end
@@ -67952,8 +70510,18 @@ module Aws::EC2
67952
70510
  # The service state.
67953
70511
  # @return [String]
67954
70512
  #
70513
+ # @!attribute [rw] availability_zone_ids
70514
+ # The IDs of the Availability Zones in which the service is available.
70515
+ #
70516
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
70517
+ # but not both
70518
+ # @return [Array<String>]
70519
+ #
67955
70520
  # @!attribute [rw] availability_zones
67956
70521
  # The Availability Zones in which the service is available.
70522
+ #
70523
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
70524
+ # but not both
67957
70525
  # @return [Array<String>]
67958
70526
  #
67959
70527
  # @!attribute [rw] acceptance_required
@@ -68018,6 +70586,7 @@ module Aws::EC2
68018
70586
  :service_id,
68019
70587
  :service_name,
68020
70588
  :service_state,
70589
+ :availability_zone_ids,
68021
70590
  :availability_zones,
68022
70591
  :acceptance_required,
68023
70592
  :manages_vpc_endpoints,
@@ -68053,8 +70622,18 @@ module Aws::EC2
68053
70622
  # The Region where the service is hosted.
68054
70623
  # @return [String]
68055
70624
  #
70625
+ # @!attribute [rw] availability_zone_ids
70626
+ # The IDs of the Availability Zones in which the service is available.
70627
+ #
70628
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
70629
+ # but not both
70630
+ # @return [Array<String>]
70631
+ #
68056
70632
  # @!attribute [rw] availability_zones
68057
70633
  # The Availability Zones in which the service is available.
70634
+ #
70635
+ # Either `AvailabilityZone` or `AvailabilityZoneId` can be specified,
70636
+ # but not both
68058
70637
  # @return [Array<String>]
68059
70638
  #
68060
70639
  # @!attribute [rw] owner
@@ -68114,6 +70693,7 @@ module Aws::EC2
68114
70693
  :service_id,
68115
70694
  :service_type,
68116
70695
  :service_region,
70696
+ :availability_zone_ids,
68117
70697
  :availability_zones,
68118
70698
  :owner,
68119
70699
  :base_endpoint_dns_names,
@@ -68360,8 +70940,8 @@ module Aws::EC2
68360
70940
  #
68361
70941
  # @!attribute [rw] volume_id
68362
70942
  # The ID of the volume that was used to create the snapshot. Snapshots
68363
- # created by the CopySnapshot action have an arbitrary volume ID that
68364
- # should not be used for any purpose.
70943
+ # created by a copy snapshot operation have an arbitrary volume ID
70944
+ # that you should not use for any purpose.
68365
70945
  # @return [String]
68366
70946
  #
68367
70947
  # @!attribute [rw] state
@@ -69533,6 +72113,16 @@ module Aws::EC2
69533
72113
  #
69534
72114
  # @!attribute [rw] launched_availability_zone
69535
72115
  # The Availability Zone in which the request is launched.
72116
+ #
72117
+ # Either `launchedAvailabilityZone` or `launchedAvailabilityZoneId`
72118
+ # can be specified, but not both
72119
+ # @return [String]
72120
+ #
72121
+ # @!attribute [rw] launched_availability_zone_id
72122
+ # The ID of the Availability Zone in which the request is launched.
72123
+ #
72124
+ # Either `launchedAvailabilityZone` or `launchedAvailabilityZoneId`
72125
+ # can be specified, but not both
69536
72126
  # @return [String]
69537
72127
  #
69538
72128
  # @!attribute [rw] product_description
@@ -69613,6 +72203,7 @@ module Aws::EC2
69613
72203
  :launch_group,
69614
72204
  :launch_specification,
69615
72205
  :launched_availability_zone,
72206
+ :launched_availability_zone_id,
69616
72207
  :product_description,
69617
72208
  :spot_instance_request_id,
69618
72209
  :spot_price,
@@ -70163,6 +72754,10 @@ module Aws::EC2
70163
72754
  # The Availability Zone.
70164
72755
  # @return [String]
70165
72756
  #
72757
+ # @!attribute [rw] availability_zone_id
72758
+ # The ID of the Availability Zone.
72759
+ # @return [String]
72760
+ #
70166
72761
  # @!attribute [rw] instance_type
70167
72762
  # The instance type.
70168
72763
  # @return [String]
@@ -70190,6 +72785,7 @@ module Aws::EC2
70190
72785
  #
70191
72786
  class SpotPrice < Struct.new(
70192
72787
  :availability_zone,
72788
+ :availability_zone_id,
70193
72789
  :instance_type,
70194
72790
  :product_description,
70195
72791
  :spot_price,
@@ -70601,8 +73197,8 @@ module Aws::EC2
70601
73197
  # @!attribute [rw] hibernate
70602
73198
  # Hibernates the instance if the instance was enabled for hibernation
70603
73199
  # at launch. If the instance cannot hibernate successfully, a normal
70604
- # shutdown occurs. For more information, see [Hibernate your
70605
- # instance][1] in the *Amazon EC2 User Guide*.
73200
+ # shutdown occurs. For more information, see [Hibernate your Amazon
73201
+ # EC2 instance][1] in the *Amazon EC2 User Guide*.
70606
73202
  #
70607
73203
  # Default: `false`
70608
73204
  #
@@ -70611,6 +73207,17 @@ module Aws::EC2
70611
73207
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
70612
73208
  # @return [Boolean]
70613
73209
  #
73210
+ # @!attribute [rw] skip_os_shutdown
73211
+ # Specifies whether to bypass the graceful OS shutdown process when
73212
+ # the instance is stopped.
73213
+ #
73214
+ # Bypassing the graceful OS shutdown might result in data loss or
73215
+ # corruption (for example, memory contents not flushed to disk or loss
73216
+ # of in-flight IOs) or skipped shutdown scripts.
73217
+ #
73218
+ # Default: `false`
73219
+ # @return [Boolean]
73220
+ #
70614
73221
  # @!attribute [rw] dry_run
70615
73222
  # Checks whether you have the required permissions for the operation,
70616
73223
  # without actually making the request, and provides an error response.
@@ -70642,6 +73249,7 @@ module Aws::EC2
70642
73249
  class StopInstancesRequest < Struct.new(
70643
73250
  :instance_ids,
70644
73251
  :hibernate,
73252
+ :skip_os_shutdown,
70645
73253
  :dry_run,
70646
73254
  :force)
70647
73255
  SENSITIVE = []
@@ -70809,12 +73417,30 @@ module Aws::EC2
70809
73417
  # The state of VPC Block Public Access (BPA).
70810
73418
  # @return [Types::BlockPublicAccessStates]
70811
73419
  #
73420
+ # @!attribute [rw] type
73421
+ # Indicates if this is a subnet used with Amazon Elastic VMware
73422
+ # Service (EVS). Possible values are `Elastic VMware Service` or no
73423
+ # value. For more information about Amazon EVS, see [ *Amazon Elastic
73424
+ # VMware Service API Reference* ][1].
73425
+ #
73426
+ #
73427
+ #
73428
+ # [1]: https://docs.aws.amazon.com/evs/latest/APIReference/Welcome.html
73429
+ # @return [String]
73430
+ #
70812
73431
  # @!attribute [rw] subnet_id
70813
73432
  # The ID of the subnet.
70814
73433
  # @return [String]
70815
73434
  #
70816
73435
  # @!attribute [rw] state
70817
73436
  # The current state of the subnet.
73437
+ #
73438
+ # * `failed`: The underlying infrastructure to support the subnet
73439
+ # failed to provision as expected.
73440
+ #
73441
+ # * `failed-insufficient-capacity`: The underlying infrastructure to
73442
+ # support the subnet failed to provision due to a shortage of EC2
73443
+ # instance capacity.
70818
73444
  # @return [String]
70819
73445
  #
70820
73446
  # @!attribute [rw] vpc_id
@@ -70870,6 +73496,7 @@ module Aws::EC2
70870
73496
  :ipv_6_native,
70871
73497
  :private_dns_name_options_on_launch,
70872
73498
  :block_public_access_states,
73499
+ :type,
70873
73500
  :subnet_id,
70874
73501
  :state,
70875
73502
  :vpc_id,
@@ -71565,6 +74192,21 @@ module Aws::EC2
71565
74192
  # request into smaller batches.
71566
74193
  # @return [Array<String>]
71567
74194
  #
74195
+ # @!attribute [rw] force
74196
+ # Forces the instances to terminate. The instance will first attempt a
74197
+ # graceful shutdown, which includes flushing file system caches and
74198
+ # metadata. If the graceful shutdown fails to complete within the
74199
+ # timeout period, the instance shuts down forcibly without flushing
74200
+ # the file system caches and metadata.
74201
+ # @return [Boolean]
74202
+ #
74203
+ # @!attribute [rw] skip_os_shutdown
74204
+ # Specifies whether to bypass the graceful OS shutdown process when
74205
+ # the instance is terminated.
74206
+ #
74207
+ # Default: `false`
74208
+ # @return [Boolean]
74209
+ #
71568
74210
  # @!attribute [rw] dry_run
71569
74211
  # Checks whether you have the required permissions for the operation,
71570
74212
  # without actually making the request, and provides an error response.
@@ -71576,6 +74218,8 @@ module Aws::EC2
71576
74218
  #
71577
74219
  class TerminateInstancesRequest < Struct.new(
71578
74220
  :instance_ids,
74221
+ :force,
74222
+ :skip_os_shutdown,
71579
74223
  :dry_run)
71580
74224
  SENSITIVE = []
71581
74225
  include Aws::Structure
@@ -72637,10 +75281,10 @@ module Aws::EC2
72637
75281
  #
72638
75282
  # @!attribute [rw] default_route_table_association
72639
75283
  # Indicates whether resource attachments are automatically associated
72640
- # with the default association route table. Enabled by default. If
72641
- # `defaultRouteTableAssociation` is set to `enable`, Amazon Web
72642
- # Services Transit Gateway will create the default transit gateway
72643
- # route table.
75284
+ # with the default association route table. Enabled by default. Either
75285
+ # `defaultRouteTableAssociation` or `defaultRouteTablePropagation`
75286
+ # must be set to `enable` for Amazon Web Services Transit Gateway to
75287
+ # create the default transit gateway route table.
72644
75288
  # @return [String]
72645
75289
  #
72646
75290
  # @!attribute [rw] association_default_route_table_id
@@ -72651,8 +75295,8 @@ module Aws::EC2
72651
75295
  # Indicates whether resource attachments automatically propagate
72652
75296
  # routes to the default propagation route table. Enabled by default.
72653
75297
  # If `defaultRouteTablePropagation` is set to `enable`, Amazon Web
72654
- # Services Transit Gateway will create the default transit gateway
72655
- # route table.
75298
+ # Services Transit Gateway creates the default transit gateway route
75299
+ # table.
72656
75300
  # @return [String]
72657
75301
  #
72658
75302
  # @!attribute [rw] propagation_default_route_table_id
@@ -75272,6 +77916,10 @@ module Aws::EC2
75272
77916
 
75273
77917
  # Describes a volume.
75274
77918
  #
77919
+ # @!attribute [rw] availability_zone_id
77920
+ # The ID of the Availability Zone for the volume.
77921
+ # @return [String]
77922
+ #
75275
77923
  # @!attribute [rw] outpost_arn
75276
77924
  # The Amazon Resource Name (ARN) of the Outpost.
75277
77925
  # @return [String]
@@ -75372,6 +78020,7 @@ module Aws::EC2
75372
78020
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Volume AWS API Documentation
75373
78021
  #
75374
78022
  class Volume < Struct.new(
78023
+ :availability_zone_id,
75375
78024
  :outpost_arn,
75376
78025
  :iops,
75377
78026
  :tags,
@@ -75402,16 +78051,16 @@ module Aws::EC2
75402
78051
  # @return [Boolean]
75403
78052
  #
75404
78053
  # @!attribute [rw] associated_resource
75405
- # The ARN of the Amazon ECS or Fargate task to which the volume is
75406
- # attached.
78054
+ # The ARN of the Amazon Web Services-managed resource to which the
78055
+ # volume is attached.
75407
78056
  # @return [String]
75408
78057
  #
75409
78058
  # @!attribute [rw] instance_owning_service
75410
- # The service principal of Amazon Web Services service that owns the
75411
- # underlying instance to which the volume is attached.
78059
+ # The service principal of the Amazon Web Services service that owns
78060
+ # the underlying resource to which the volume is attached.
75412
78061
  #
75413
78062
  # This parameter is returned only for volumes that are attached to
75414
- # Fargate tasks.
78063
+ # Amazon Web Services-managed resources.
75415
78064
  # @return [String]
75416
78065
  #
75417
78066
  # @!attribute [rw] volume_id
@@ -75421,15 +78070,15 @@ module Aws::EC2
75421
78070
  # @!attribute [rw] instance_id
75422
78071
  # The ID of the instance.
75423
78072
  #
75424
- # If the volume is attached to a Fargate task, this parameter returns
75425
- # `null`.
78073
+ # If the volume is attached to an Amazon Web Services-managed
78074
+ # resource, this parameter returns `null`.
75426
78075
  # @return [String]
75427
78076
  #
75428
78077
  # @!attribute [rw] device
75429
78078
  # The device name.
75430
78079
  #
75431
- # If the volume is attached to a Fargate task, this parameter returns
75432
- # `null`.
78080
+ # If the volume is attached to an Amazon Web Services-managed
78081
+ # resource, this parameter returns `null`.
75433
78082
  # @return [String]
75434
78083
  #
75435
78084
  # @!attribute [rw] state
@@ -75610,6 +78259,21 @@ module Aws::EC2
75610
78259
  #
75611
78260
  # @!attribute [rw] name
75612
78261
  # The name of the volume status.
78262
+ #
78263
+ # * `io-enabled` - Indicates the volume I/O status. For more
78264
+ # information, see [Amazon EBS volume status checks][1].
78265
+ #
78266
+ # * `io-performance` - Indicates the volume performance status. For
78267
+ # more information, see [Amazon EBS volume status checks][1].
78268
+ #
78269
+ # * `initialization-state` - Indicates the status of the volume
78270
+ # initialization process. For more information, see [Initialize
78271
+ # Amazon EBS volumes][2].
78272
+ #
78273
+ #
78274
+ #
78275
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/monitoring-volume-checks.html
78276
+ # [2]: https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html
75613
78277
  # @return [String]
75614
78278
  #
75615
78279
  # @!attribute [rw] status
@@ -75713,6 +78377,24 @@ module Aws::EC2
75713
78377
  # Information about the instances to which the volume is attached.
75714
78378
  # @return [Array<Types::VolumeStatusAttachmentStatus>]
75715
78379
  #
78380
+ # @!attribute [rw] initialization_status_details
78381
+ # Information about the volume initialization. It can take up to 5
78382
+ # minutes for the volume initialization information to be updated.
78383
+ #
78384
+ # Only available for volumes created from snapshots. Not available for
78385
+ # empty volumes created without a snapshot.
78386
+ #
78387
+ # For more information, see [ Initialize Amazon EBS volumes][1].
78388
+ #
78389
+ #
78390
+ #
78391
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html
78392
+ # @return [Types::InitializationStatusDetails]
78393
+ #
78394
+ # @!attribute [rw] availability_zone_id
78395
+ # The ID of the Availability Zone.
78396
+ # @return [String]
78397
+ #
75716
78398
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusItem AWS API Documentation
75717
78399
  #
75718
78400
  class VolumeStatusItem < Struct.new(
@@ -75722,7 +78404,9 @@ module Aws::EC2
75722
78404
  :events,
75723
78405
  :volume_id,
75724
78406
  :volume_status,
75725
- :attachment_statuses)
78407
+ :attachment_statuses,
78408
+ :initialization_status_details,
78409
+ :availability_zone_id)
75726
78410
  SENSITIVE = []
75727
78411
  include Aws::Structure
75728
78412
  end
@@ -76626,6 +79310,11 @@ module Aws::EC2
76626
79310
  # Information about the VPN tunnel.
76627
79311
  # @return [Array<Types::VgwTelemetry>]
76628
79312
  #
79313
+ # @!attribute [rw] pre_shared_key_arn
79314
+ # The Amazon Resource Name (ARN) of the Secrets Manager secret storing
79315
+ # the pre-shared key(s) for the VPN connection.
79316
+ # @return [String]
79317
+ #
76629
79318
  # @!attribute [rw] vpn_connection_id
76630
79319
  # The ID of the VPN connection.
76631
79320
  # @return [String]
@@ -76667,6 +79356,7 @@ module Aws::EC2
76667
79356
  :routes,
76668
79357
  :tags,
76669
79358
  :vgw_telemetry,
79359
+ :pre_shared_key_arn,
76670
79360
  :vpn_connection_id,
76671
79361
  :state,
76672
79362
  :customer_gateway_configuration,
@@ -76746,7 +79436,7 @@ module Aws::EC2
76746
79436
  # The type of IPv4 address assigned to the outside interface of the
76747
79437
  # customer gateway.
76748
79438
  #
76749
- # Valid values: `PrivateIpv4` \| `PublicIpv4`
79439
+ # Valid values: `PrivateIpv4` \| `PublicIpv4` \| `Ipv6`
76750
79440
  #
76751
79441
  # Default: `PublicIpv4`
76752
79442
  # @return [String]
@@ -76825,10 +79515,10 @@ module Aws::EC2
76825
79515
  # @return [String]
76826
79516
  #
76827
79517
  # @!attribute [rw] outside_ip_address_type
76828
- # The type of IPv4 address assigned to the outside interface of the
79518
+ # The type of IP address assigned to the outside interface of the
76829
79519
  # customer gateway device.
76830
79520
  #
76831
- # Valid values: `PrivateIpv4` \| `PublicIpv4`
79521
+ # Valid values: `PrivateIpv4` \| `PublicIpv4` \| `Ipv6`
76832
79522
  #
76833
79523
  # Default: `PublicIpv4`
76834
79524
  # @return [String]