aws-sdk-ec2 1.221.0 → 1.226.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.226.0
data/lib/aws-sdk-ec2.rb CHANGED
@@ -72,6 +72,6 @@ require_relative 'aws-sdk-ec2/customizations'
72
72
  # @!group service
73
73
  module Aws::EC2
74
74
 
75
- GEM_VERSION = '1.221.0'
75
+ GEM_VERSION = '1.226.0'
76
76
 
77
77
  end
@@ -266,10 +266,10 @@ module Aws::EC2
266
266
  # @option options [String] :allocation_id
267
267
  # \[EC2-VPC\] The allocation ID. This is required for EC2-VPC.
268
268
  # @option options [String] :instance_id
269
- # The ID of the instance. This is required for EC2-Classic. For EC2-VPC,
270
- # you can specify either the instance ID or the network interface ID,
271
- # but not both. The operation fails if you specify an instance ID unless
272
- # exactly one network interface is attached.
269
+ # The ID of the instance. The instance must have exactly one attached
270
+ # network interface. For EC2-VPC, you can specify either the instance ID
271
+ # or the network interface ID, but not both. For EC2-Classic, you must
272
+ # specify an instance ID and the instance must be in the running state.
273
273
  # @option options [Boolean] :allow_reassociation
274
274
  # \[EC2-VPC\] For a VPC in an EC2-Classic account, specify true to allow
275
275
  # an Elastic IP address that is already associated with an instance or
@@ -1042,10 +1042,12 @@ module Aws::EC2
1042
1042
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
1043
1043
  #
1044
1044
  # @option params [Integer] :ipv_6_address_count
1045
- # The number of IPv6 addresses to assign to the network interface.
1046
- # Amazon EC2 automatically selects the IPv6 addresses from the subnet
1047
- # range. You can't use this option if specifying specific IPv6
1048
- # addresses.
1045
+ # The number of additional IPv6 addresses to assign to the network
1046
+ # interface. The specified number of IPv6 addresses are assigned in
1047
+ # addition to the existing IPv6 addresses that are already assigned to
1048
+ # the network interface. Amazon EC2 automatically selects the IPv6
1049
+ # addresses from the subnet range. You can't use this option if
1050
+ # specifying specific IPv6 addresses.
1049
1051
  #
1050
1052
  # @option params [Array<String>] :ipv_6_addresses
1051
1053
  # One or more specific IPv6 addresses to be assigned to the network
@@ -1231,14 +1233,14 @@ module Aws::EC2
1231
1233
  # \[EC2-VPC\] The allocation ID. This is required for EC2-VPC.
1232
1234
  #
1233
1235
  # @option params [String] :instance_id
1234
- # The ID of the instance. This is required for EC2-Classic. For EC2-VPC,
1235
- # you can specify either the instance ID or the network interface ID,
1236
- # but not both. The operation fails if you specify an instance ID unless
1237
- # exactly one network interface is attached.
1236
+ # The ID of the instance. The instance must have exactly one attached
1237
+ # network interface. For EC2-VPC, you can specify either the instance ID
1238
+ # or the network interface ID, but not both. For EC2-Classic, you must
1239
+ # specify an instance ID and the instance must be in the running state.
1238
1240
  #
1239
1241
  # @option params [String] :public_ip
1240
- # The Elastic IP address to associate with the instance. This is
1241
- # required for EC2-Classic.
1242
+ # \[EC2-Classic\] The Elastic IP address to associate with the instance.
1243
+ # This is required for EC2-Classic.
1242
1244
  #
1243
1245
  # @option params [Boolean] :allow_reassociation
1244
1246
  # \[EC2-VPC\] For a VPC in an EC2-Classic account, specify true to allow
@@ -1679,13 +1681,13 @@ module Aws::EC2
1679
1681
  # single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have
1680
1682
  # a prefix length of /64.
1681
1683
  #
1684
+ # @option params [required, String] :subnet_id
1685
+ # The ID of your subnet.
1686
+ #
1682
1687
  # @option params [required, String] :ipv_6_cidr_block
1683
1688
  # The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix
1684
1689
  # length.
1685
1690
  #
1686
- # @option params [required, String] :subnet_id
1687
- # The ID of your subnet.
1688
- #
1689
1691
  # @return [Types::AssociateSubnetCidrBlockResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1690
1692
  #
1691
1693
  # * {Types::AssociateSubnetCidrBlockResult#ipv_6_cidr_block_association #ipv_6_cidr_block_association} => Types::SubnetIpv6CidrBlockAssociation
@@ -1694,8 +1696,8 @@ module Aws::EC2
1694
1696
  # @example Request syntax with placeholder values
1695
1697
  #
1696
1698
  # resp = client.associate_subnet_cidr_block({
1697
- # ipv_6_cidr_block: "String", # required
1698
1699
  # subnet_id: "SubnetId", # required
1700
+ # ipv_6_cidr_block: "String", # required
1699
1701
  # })
1700
1702
  #
1701
1703
  # @example Response structure
@@ -3326,31 +3328,46 @@ module Aws::EC2
3326
3328
  req.send_request(options)
3327
3329
  end
3328
3330
 
3329
- # Initiates the copy of an AMI from the specified source Region to the
3330
- # current Region. You specify the destination Region by using its
3331
- # endpoint when making the request.
3331
+ # Initiates the copy of an AMI. You can copy an AMI from one Region to
3332
+ # another, or from a Region to an AWS Outpost. You can't copy an AMI
3333
+ # from an Outpost to a Region, from one Outpost to another, or within
3334
+ # the same Outpost.
3335
+ #
3336
+ # To copy an AMI from one Region to another, specify the source Region
3337
+ # using the **SourceRegion** parameter, and specify the destination
3338
+ # Region using its endpoint. Copies of encrypted backing snapshots for
3339
+ # the AMI are encrypted. Copies of unencrypted backing snapshots remain
3340
+ # unencrypted, unless you set `Encrypted` during the copy operation. You
3341
+ # cannot create an unencrypted copy of an encrypted backing snapshot.
3342
+ #
3343
+ # To copy an AMI from a Region to an Outpost, specify the source Region
3344
+ # using the **SourceRegion** parameter, and specify the ARN of the
3345
+ # destination Outpost using **DestinationOutpostArn**. Backing snapshots
3346
+ # copied to an Outpost are encrypted by default using the default
3347
+ # encryption key for the Region, or a different key that you specify in
3348
+ # the request using **KmsKeyId**. Outposts do not support unencrypted
3349
+ # snapshots. For more information, [ Amazon EBS local snapshots on
3350
+ # Outposts][1] in the *Amazon Elastic Compute Cloud User Guide*.
3351
+ #
3332
3352
  #
3333
- # Copies of encrypted backing snapshots for the AMI are encrypted.
3334
- # Copies of unencrypted backing snapshots remain unencrypted, unless you
3335
- # set `Encrypted` during the copy operation. You cannot create an
3336
- # unencrypted copy of an encrypted backing snapshot.
3337
3353
  #
3338
3354
  # For more information about the prerequisites and limits when copying
3339
- # an AMI, see [Copying an AMI][1] in the *Amazon Elastic Compute Cloud
3355
+ # an AMI, see [Copying an AMI][2] in the *Amazon Elastic Compute Cloud
3340
3356
  # User Guide*.
3341
3357
  #
3342
3358
  #
3343
3359
  #
3344
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html
3360
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami
3361
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html
3345
3362
  #
3346
3363
  # @option params [String] :client_token
3347
3364
  # Unique, case-sensitive identifier you provide to ensure idempotency of
3348
- # the request. For more information, see [How to Ensure Idempotency][1]
3349
- # in the *Amazon Elastic Compute Cloud User Guide*.
3365
+ # the request. For more information, see [Ensuring idempotency][1] in
3366
+ # the *Amazon EC2 API Reference*.
3350
3367
  #
3351
3368
  #
3352
3369
  #
3353
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html
3370
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3354
3371
  #
3355
3372
  # @option params [String] :description
3356
3373
  # A description for the new AMI in the destination Region.
@@ -3403,6 +3420,20 @@ module Aws::EC2
3403
3420
  # @option params [required, String] :source_region
3404
3421
  # The name of the Region that contains the AMI to copy.
3405
3422
  #
3423
+ # @option params [String] :destination_outpost_arn
3424
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
3425
+ # AMI. Only specify this parameter when copying an AMI from an AWS
3426
+ # Region to an Outpost. The AMI must be in the Region of the destination
3427
+ # Outpost. You cannot copy an AMI from an Outpost to a Region, from one
3428
+ # Outpost to another, or within the same Outpost.
3429
+ #
3430
+ # For more information, see [ Copying AMIs from an AWS Region to an
3431
+ # Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
3432
+ #
3433
+ #
3434
+ #
3435
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-amis
3436
+ #
3406
3437
  # @option params [Boolean] :dry_run
3407
3438
  # Checks whether you have the required permissions for the action,
3408
3439
  # without actually making the request, and provides an error response.
@@ -3440,6 +3471,7 @@ module Aws::EC2
3440
3471
  # name: "String", # required
3441
3472
  # source_image_id: "String", # required
3442
3473
  # source_region: "String", # required
3474
+ # destination_outpost_arn: "String",
3443
3475
  # dry_run: false,
3444
3476
  # })
3445
3477
  #
@@ -3457,33 +3489,58 @@ module Aws::EC2
3457
3489
  end
3458
3490
 
3459
3491
  # Copies a point-in-time snapshot of an EBS volume and stores it in
3460
- # Amazon S3. You can copy the snapshot within the same Region or from
3461
- # one Region to another. You can use the snapshot to create EBS volumes
3462
- # or Amazon Machine Images (AMIs).
3463
- #
3464
- # Copies of encrypted EBS snapshots remain encrypted. Copies of
3465
- # unencrypted snapshots remain unencrypted, unless you enable encryption
3466
- # for the snapshot copy operation. By default, encrypted snapshot copies
3467
- # use the default AWS Key Management Service (AWS KMS) customer master
3468
- # key (CMK); however, you can specify a different CMK.
3469
- #
3470
- # To copy an encrypted snapshot that has been shared from another
3471
- # account, you must have permissions for the CMK used to encrypt the
3472
- # snapshot.
3492
+ # Amazon S3. You can copy a snapshot within the same Region, from one
3493
+ # Region to another, or from a Region to an Outpost. You can't copy a
3494
+ # snapshot from an Outpost to a Region, from one Outpost to another, or
3495
+ # within the same Outpost.
3496
+ #
3497
+ # You can use the snapshot to create EBS volumes or Amazon Machine
3498
+ # Images (AMIs).
3499
+ #
3500
+ # When copying snapshots to a Region, copies of encrypted EBS snapshots
3501
+ # remain encrypted. Copies of unencrypted snapshots remain unencrypted,
3502
+ # unless you enable encryption for the snapshot copy operation. By
3503
+ # default, encrypted snapshot copies use the default AWS Key Management
3504
+ # Service (AWS KMS) customer master key (CMK); however, you can specify
3505
+ # a different CMK. To copy an encrypted snapshot that has been shared
3506
+ # from another account, you must have permissions for the CMK used to
3507
+ # encrypt the snapshot.
3508
+ #
3509
+ # Snapshots copied to an Outpost are encrypted by default using the
3510
+ # default encryption key for the Region, or a different key that you
3511
+ # specify in the request using **KmsKeyId**. Outposts do not support
3512
+ # unencrypted snapshots. For more information, [ Amazon EBS local
3513
+ # snapshots on Outposts][1] in the *Amazon Elastic Compute Cloud User
3514
+ # Guide*.
3473
3515
  #
3474
3516
  # Snapshots created by copying another snapshot have an arbitrary volume
3475
3517
  # ID that should not be used for any purpose.
3476
3518
  #
3477
- # For more information, see [Copying an Amazon EBS snapshot][1] in the
3519
+ # For more information, see [Copying an Amazon EBS snapshot][2] in the
3478
3520
  # *Amazon Elastic Compute Cloud User Guide*.
3479
3521
  #
3480
3522
  #
3481
3523
  #
3482
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html
3524
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami
3525
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html
3483
3526
  #
3484
3527
  # @option params [String] :description
3485
3528
  # A description for the EBS snapshot.
3486
3529
  #
3530
+ # @option params [String] :destination_outpost_arn
3531
+ # The Amazon Resource Name (ARN) of the Outpost to which to copy the
3532
+ # snapshot. Only specify this parameter when copying a snapshot from an
3533
+ # AWS Region to an Outpost. The snapshot must be in the Region for the
3534
+ # destination Outpost. You cannot copy a snapshot from an Outpost to a
3535
+ # Region, from one Outpost to another, or within the same Outpost.
3536
+ #
3537
+ # For more information, see [ Copying snapshots from an AWS Region to an
3538
+ # Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
3539
+ #
3540
+ #
3541
+ #
3542
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-snapshots
3543
+ #
3487
3544
  # @option params [String] :destination_region
3488
3545
  # The destination Region to use in the `PresignedUrl` parameter of a
3489
3546
  # snapshot copy operation. This parameter is only valid for specifying
@@ -3617,6 +3674,7 @@ module Aws::EC2
3617
3674
  #
3618
3675
  # resp = client.copy_snapshot({
3619
3676
  # description: "String",
3677
+ # destination_outpost_arn: "String",
3620
3678
  # destination_region: "String",
3621
3679
  # encrypted: false,
3622
3680
  # kms_key_id: "KmsKeyId",
@@ -4776,7 +4834,13 @@ module Aws::EC2
4776
4834
  # specified, the request remains until you cancel it.
4777
4835
  #
4778
4836
  # @option params [Boolean] :replace_unhealthy_instances
4779
- # Indicates whether EC2 Fleet should replace unhealthy instances.
4837
+ # Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
4838
+ # Supported only for fleets of type `maintain`. For more information,
4839
+ # see [EC2 Fleet health checks][1] in the *Amazon EC2 User Guide*.
4840
+ #
4841
+ #
4842
+ #
4843
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks
4780
4844
  #
4781
4845
  # @option params [Array<Types::TagSpecification>] :tag_specifications
4782
4846
  # The key-value pair for tagging the EC2 Fleet request on creation. The
@@ -4802,7 +4866,7 @@ module Aws::EC2
4802
4866
  # dry_run: false,
4803
4867
  # client_token: "String",
4804
4868
  # spot_options: {
4805
- # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized
4869
+ # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized, capacity-optimized-prioritized
4806
4870
  # maintenance_strategies: {
4807
4871
  # capacity_rebalance: {
4808
4872
  # replacement_strategy: "launch", # accepts launch
@@ -5314,6 +5378,7 @@ module Aws::EC2
5314
5378
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
5315
5379
  # kms_key_id: "String",
5316
5380
  # throughput: 1,
5381
+ # outpost_arn: "String",
5317
5382
  # encrypted: false,
5318
5383
  # },
5319
5384
  # no_device: "String",
@@ -5366,7 +5431,7 @@ module Aws::EC2
5366
5431
  # The maximum length is 255 characters.
5367
5432
  #
5368
5433
  # @option params [required, Types::ExportToS3TaskSpecification] :export_to_s3_task
5369
- # The format and location for an instance export task.
5434
+ # The format and location for an export instance task.
5370
5435
  #
5371
5436
  # @option params [required, String] :instance_id
5372
5437
  # The ID of the instance.
@@ -5375,7 +5440,7 @@ module Aws::EC2
5375
5440
  # The target virtualization environment.
5376
5441
  #
5377
5442
  # @option params [Array<Types::TagSpecification>] :tag_specifications
5378
- # The tags to apply to the instance export task during creation.
5443
+ # The tags to apply to the export instance task during creation.
5379
5444
  #
5380
5445
  # @return [Types::CreateInstanceExportTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5381
5446
  #
@@ -6455,11 +6520,6 @@ module Aws::EC2
6455
6520
  #
6456
6521
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html
6457
6522
  #
6458
- # @option params [required, String] :allocation_id
6459
- # The allocation ID of an Elastic IP address to associate with the NAT
6460
- # gateway. If the Elastic IP address is associated with another
6461
- # resource, you must first disassociate it.
6462
- #
6463
6523
  # @option params [String] :client_token
6464
6524
  # Unique, case-sensitive identifier that you provide to ensure the
6465
6525
  # idempotency of the request. For more information, see [How to Ensure
@@ -6486,6 +6546,11 @@ module Aws::EC2
6486
6546
  # @option params [Array<Types::TagSpecification>] :tag_specifications
6487
6547
  # The tags to assign to the NAT gateway.
6488
6548
  #
6549
+ # @option params [required, String] :allocation_id
6550
+ # The allocation ID of an Elastic IP address to associate with the NAT
6551
+ # gateway. If the Elastic IP address is associated with another
6552
+ # resource, you must first disassociate it.
6553
+ #
6489
6554
  # @return [Types::CreateNatGatewayResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6490
6555
  #
6491
6556
  # * {Types::CreateNatGatewayResult#client_token #client_token} => String
@@ -6521,7 +6586,6 @@ module Aws::EC2
6521
6586
  # @example Request syntax with placeholder values
6522
6587
  #
6523
6588
  # resp = client.create_nat_gateway({
6524
- # allocation_id: "AllocationId", # required
6525
6589
  # client_token: "String",
6526
6590
  # dry_run: false,
6527
6591
  # subnet_id: "SubnetId", # required
@@ -6536,6 +6600,7 @@ module Aws::EC2
6536
6600
  # ],
6537
6601
  # },
6538
6602
  # ],
6603
+ # allocation_id: "AllocationId", # required
6539
6604
  # })
6540
6605
  #
6541
6606
  # @example Response structure
@@ -7777,6 +7842,13 @@ module Aws::EC2
7777
7842
  # can use snapshots for backups, to make copies of EBS volumes, and to
7778
7843
  # save data before shutting down an instance.
7779
7844
  #
7845
+ # You can create snapshots of volumes in a Region and volumes on an
7846
+ # Outpost. If you create a snapshot of a volume in a Region, the
7847
+ # snapshot must be stored in the same Region as the volume. If you
7848
+ # create a snapshot of a volume on an Outpost, the snapshot can be
7849
+ # stored on the same Outpost as the volume, or in the Region for that
7850
+ # Outpost.
7851
+ #
7780
7852
  # When a snapshot is created, any AWS Marketplace product codes that are
7781
7853
  # associated with the source volume are propagated to the snapshot.
7782
7854
  #
@@ -7815,6 +7887,28 @@ module Aws::EC2
7815
7887
  # @option params [String] :description
7816
7888
  # A description for the snapshot.
7817
7889
  #
7890
+ # @option params [String] :outpost_arn
7891
+ # The Amazon Resource Name (ARN) of the AWS Outpost on which to create a
7892
+ # local snapshot.
7893
+ #
7894
+ # * To create a snapshot of a volume in a Region, omit this parameter.
7895
+ # The snapshot is created in the same Region as the volume.
7896
+ #
7897
+ # * To create a snapshot of a volume on an Outpost and store the
7898
+ # snapshot in the Region, omit this parameter. The snapshot is created
7899
+ # in the Region for the Outpost.
7900
+ #
7901
+ # * To create a snapshot of a volume on an Outpost and store the
7902
+ # snapshot on an Outpost, specify the ARN of the destination Outpost.
7903
+ # The snapshot must be created on the same Outpost as the volume.
7904
+ #
7905
+ # For more information, see [ Creating local snapshots from volumes on
7906
+ # an Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
7907
+ #
7908
+ #
7909
+ #
7910
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-snapshot
7911
+ #
7818
7912
  # @option params [required, String] :volume_id
7819
7913
  # The ID of the EBS volume.
7820
7914
  #
@@ -7842,6 +7936,7 @@ module Aws::EC2
7842
7936
  # * {Types::Snapshot#volume_id #volume_id} => String
7843
7937
  # * {Types::Snapshot#volume_size #volume_size} => Integer
7844
7938
  # * {Types::Snapshot#owner_alias #owner_alias} => String
7939
+ # * {Types::Snapshot#outpost_arn #outpost_arn} => String
7845
7940
  # * {Types::Snapshot#tags #tags} => Array&lt;Types::Tag&gt;
7846
7941
  #
7847
7942
  #
@@ -7872,6 +7967,7 @@ module Aws::EC2
7872
7967
  #
7873
7968
  # resp = client.create_snapshot({
7874
7969
  # description: "String",
7970
+ # outpost_arn: "String",
7875
7971
  # volume_id: "VolumeId", # required
7876
7972
  # tag_specifications: [
7877
7973
  # {
@@ -7902,6 +7998,7 @@ module Aws::EC2
7902
7998
  # resp.volume_id #=> String
7903
7999
  # resp.volume_size #=> Integer
7904
8000
  # resp.owner_alias #=> String
8001
+ # resp.outpost_arn #=> String
7905
8002
  # resp.tags #=> Array
7906
8003
  # resp.tags[0].key #=> String
7907
8004
  # resp.tags[0].value #=> String
@@ -7921,6 +8018,13 @@ module Aws::EC2
7921
8018
  # crash-consistent across the instance. Boot volumes can be excluded by
7922
8019
  # changing the parameters.
7923
8020
  #
8021
+ # You can create multi-volume snapshots of instances in a Region and
8022
+ # instances on an Outpost. If you create snapshots from an instance in a
8023
+ # Region, the snapshots must be stored in the same Region as the
8024
+ # instance. If you create snapshots from an instance on an Outpost, the
8025
+ # snapshots can be stored on the same Outpost as the instance, or in the
8026
+ # Region for that Outpost.
8027
+ #
7924
8028
  # @option params [String] :description
7925
8029
  # A description propagated to every snapshot specified by the instance.
7926
8030
  #
@@ -7928,6 +8032,30 @@ module Aws::EC2
7928
8032
  # The instance to specify which volumes should be included in the
7929
8033
  # snapshots.
7930
8034
  #
8035
+ # @option params [String] :outpost_arn
8036
+ # The Amazon Resource Name (ARN) of the AWS Outpost on which to create
8037
+ # the local snapshots.
8038
+ #
8039
+ # * To create snapshots from an instance in a Region, omit this
8040
+ # parameter. The snapshots are created in the same Region as the
8041
+ # instance.
8042
+ #
8043
+ # * To create snapshots from an instance on an Outpost and store the
8044
+ # snapshots in the Region, omit this parameter. The snapshots are
8045
+ # created in the Region for the Outpost.
8046
+ #
8047
+ # * To create snapshots from an instance on an Outpost and store the
8048
+ # snapshots on an Outpost, specify the ARN of the destination Outpost.
8049
+ # The snapshots must be created on the same Outpost as the instance.
8050
+ #
8051
+ # For more information, see [ Creating multi-volume local snapshots from
8052
+ # instances on an Outpost][1] in the *Amazon Elastic Compute Cloud User
8053
+ # Guide*.
8054
+ #
8055
+ #
8056
+ #
8057
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-multivol-snapshot
8058
+ #
7931
8059
  # @option params [Array<Types::TagSpecification>] :tag_specifications
7932
8060
  # Tags to apply to every snapshot specified by the instance.
7933
8061
  #
@@ -7952,6 +8080,7 @@ module Aws::EC2
7952
8080
  # instance_id: "InstanceId",
7953
8081
  # exclude_boot_volume: false,
7954
8082
  # },
8083
+ # outpost_arn: "String",
7955
8084
  # tag_specifications: [
7956
8085
  # {
7957
8086
  # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
@@ -7982,6 +8111,7 @@ module Aws::EC2
7982
8111
  # resp.snapshots[0].progress #=> String
7983
8112
  # resp.snapshots[0].owner_id #=> String
7984
8113
  # resp.snapshots[0].snapshot_id #=> String
8114
+ # resp.snapshots[0].outpost_arn #=> String
7985
8115
  #
7986
8116
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots AWS API Documentation
7987
8117
  #
@@ -8123,12 +8253,6 @@ module Aws::EC2
8123
8253
  # @option params [String] :availability_zone_id
8124
8254
  # The AZ ID or the Local Zone ID of the subnet.
8125
8255
  #
8126
- # @option params [required, String] :cidr_block
8127
- # The IPv4 network range for the subnet, in CIDR notation. For example,
8128
- # `10.0.0.0/24`. We modify the specified CIDR block to its canonical
8129
- # form; for example, if you specify `100.68.0.18/18`, we modify it to
8130
- # `100.68.0.0/18`.
8131
- #
8132
8256
  # @option params [String] :ipv_6_cidr_block
8133
8257
  # The IPv6 network range for the subnet, in CIDR notation. The subnet
8134
8258
  # size must use a /64 prefix length.
@@ -8147,6 +8271,12 @@ module Aws::EC2
8147
8271
  # If you have the required permissions, the error response is
8148
8272
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
8149
8273
  #
8274
+ # @option params [required, String] :cidr_block
8275
+ # The IPv4 network range for the subnet, in CIDR notation. For example,
8276
+ # `10.0.0.0/24`. We modify the specified CIDR block to its canonical
8277
+ # form; for example, if you specify `100.68.0.18/18`, we modify it to
8278
+ # `100.68.0.0/18`.
8279
+ #
8150
8280
  # @return [Types::CreateSubnetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8151
8281
  #
8152
8282
  # * {Types::CreateSubnetResult#subnet #subnet} => Types::Subnet
@@ -8190,11 +8320,11 @@ module Aws::EC2
8190
8320
  # ],
8191
8321
  # availability_zone: "String",
8192
8322
  # availability_zone_id: "String",
8193
- # cidr_block: "String", # required
8194
8323
  # ipv_6_cidr_block: "String",
8195
8324
  # outpost_arn: "String",
8196
8325
  # vpc_id: "VpcId", # required
8197
8326
  # dry_run: false,
8327
+ # cidr_block: "String", # required
8198
8328
  # })
8199
8329
  #
8200
8330
  # @example Response structure
@@ -12996,12 +13126,28 @@ module Aws::EC2
12996
13126
  req.send_request(options)
12997
13127
  end
12998
13128
 
12999
- # Deletes one or more specified VPC endpoints. Deleting a gateway
13000
- # endpoint also deletes the endpoint routes in the route tables that
13001
- # were associated with the endpoint. Deleting an interface endpoint or a
13002
- # Gateway Load Balancer endpoint deletes the endpoint network
13003
- # interfaces. Gateway Load Balancer endpoints can only be deleted if the
13004
- # routes that are associated with the endpoint are deleted.
13129
+ # Deletes one or more specified VPC endpoints. You can delete any of the
13130
+ # following types of VPC endpoints.
13131
+ #
13132
+ # * Gateway endpoint,
13133
+ #
13134
+ # * Gateway Load Balancer endpoint,
13135
+ #
13136
+ # * Interface endpoint
13137
+ #
13138
+ # The following rules apply when you delete a VPC endpoint:
13139
+ #
13140
+ # * When you delete a gateway endpoint, we delete the endpoint routes in
13141
+ # the route tables that are associated with the endpoint.
13142
+ #
13143
+ # * When you delete a Gateway Load Balancer endpoint, we delete the
13144
+ # endpoint network interfaces.
13145
+ #
13146
+ # You can only delete Gateway Load Balancer endpoints when the routes
13147
+ # that are associated with the endpoint are deleted.
13148
+ #
13149
+ # * When you delete an interface endpoint, we delete the endpoint
13150
+ # network interfaces.
13005
13151
  #
13006
13152
  # @option params [Boolean] :dry_run
13007
13153
  # Checks whether you have the required permissions for the action,
@@ -13752,6 +13898,70 @@ module Aws::EC2
13752
13898
  req.send_request(options)
13753
13899
  end
13754
13900
 
13901
+ # Describes the attributes of the specified Elastic IP addresses. For
13902
+ # requirements, see [Using reverse DNS for email applications][1].
13903
+ #
13904
+ #
13905
+ #
13906
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS
13907
+ #
13908
+ # @option params [Array<String>] :allocation_ids
13909
+ # \[EC2-VPC\] The allocation IDs.
13910
+ #
13911
+ # @option params [String] :attribute
13912
+ # The attribute of the IP address.
13913
+ #
13914
+ # @option params [String] :next_token
13915
+ # The token for the next page of results.
13916
+ #
13917
+ # @option params [Integer] :max_results
13918
+ # The maximum number of results to return with a single call. To
13919
+ # retrieve the remaining results, make another call with the returned
13920
+ # `nextToken` value.
13921
+ #
13922
+ # @option params [Boolean] :dry_run
13923
+ # Checks whether you have the required permissions for the action,
13924
+ # without actually making the request, and provides an error response.
13925
+ # If you have the required permissions, the error response is
13926
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
13927
+ #
13928
+ # @return [Types::DescribeAddressesAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13929
+ #
13930
+ # * {Types::DescribeAddressesAttributeResult#addresses #addresses} => Array&lt;Types::AddressAttribute&gt;
13931
+ # * {Types::DescribeAddressesAttributeResult#next_token #next_token} => String
13932
+ #
13933
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
13934
+ #
13935
+ # @example Request syntax with placeholder values
13936
+ #
13937
+ # resp = client.describe_addresses_attribute({
13938
+ # allocation_ids: ["AllocationId"],
13939
+ # attribute: "domain-name", # accepts domain-name
13940
+ # next_token: "NextToken",
13941
+ # max_results: 1,
13942
+ # dry_run: false,
13943
+ # })
13944
+ #
13945
+ # @example Response structure
13946
+ #
13947
+ # resp.addresses #=> Array
13948
+ # resp.addresses[0].public_ip #=> String
13949
+ # resp.addresses[0].allocation_id #=> String
13950
+ # resp.addresses[0].ptr_record #=> String
13951
+ # resp.addresses[0].ptr_record_update.value #=> String
13952
+ # resp.addresses[0].ptr_record_update.status #=> String
13953
+ # resp.addresses[0].ptr_record_update.reason #=> String
13954
+ # resp.next_token #=> String
13955
+ #
13956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttribute AWS API Documentation
13957
+ #
13958
+ # @overload describe_addresses_attribute(params = {})
13959
+ # @param [Hash] params ({})
13960
+ def describe_addresses_attribute(params = {}, options = {})
13961
+ req = build_request(:describe_addresses_attribute, params)
13962
+ req.send_request(options)
13963
+ end
13964
+
13755
13965
  # Describes the longer ID format settings for all resource types in a
13756
13966
  # specific Region. This request is useful for performing a quick audit
13757
13967
  # to determine whether a specific Region is fully opted in for longer
@@ -15879,7 +16089,7 @@ module Aws::EC2
15879
16089
  # resp.fleets[0].valid_from #=> Time
15880
16090
  # resp.fleets[0].valid_until #=> Time
15881
16091
  # resp.fleets[0].replace_unhealthy_instances #=> Boolean
15882
- # resp.fleets[0].spot_options.allocation_strategy #=> String, one of "lowest-price", "diversified", "capacity-optimized"
16092
+ # resp.fleets[0].spot_options.allocation_strategy #=> String, one of "lowest-price", "diversified", "capacity-optimized", "capacity-optimized-prioritized"
15883
16093
  # resp.fleets[0].spot_options.maintenance_strategies.capacity_rebalance.replacement_strategy #=> String, one of "launch"
15884
16094
  # resp.fleets[0].spot_options.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
15885
16095
  # resp.fleets[0].spot_options.instance_pools_to_use_count #=> Integer
@@ -16731,10 +16941,10 @@ module Aws::EC2
16731
16941
  # @option params [required, String] :attribute
16732
16942
  # The AMI attribute.
16733
16943
  #
16734
- # **Note**\: Depending on your account privileges, the
16735
- # `blockDeviceMapping` attribute may return a `Client.AuthFailure`
16736
- # error. If this happens, use DescribeImages to get information about
16737
- # the block device mapping for the AMI.
16944
+ # **Note**\: The `blockDeviceMapping` attribute is deprecated. Using
16945
+ # this attribute returns the `Client.AuthFailure` error. To get
16946
+ # information about the block device mappings for an AMI, use the
16947
+ # DescribeImages action.
16738
16948
  #
16739
16949
  # @option params [required, String] :image_id
16740
16950
  # The ID of the AMI.
@@ -16796,6 +17006,7 @@ module Aws::EC2
16796
17006
  # resp.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
16797
17007
  # resp.block_device_mappings[0].ebs.kms_key_id #=> String
16798
17008
  # resp.block_device_mappings[0].ebs.throughput #=> Integer
17009
+ # resp.block_device_mappings[0].ebs.outpost_arn #=> String
16799
17010
  # resp.block_device_mappings[0].ebs.encrypted #=> Boolean
16800
17011
  # resp.block_device_mappings[0].no_device #=> String
16801
17012
  # resp.image_id #=> String
@@ -16881,13 +17092,14 @@ module Aws::EC2
16881
17092
  #
16882
17093
  # * `name` - The name of the AMI (provided during image creation).
16883
17094
  #
16884
- # * `owner-alias` - The owner alias, from an Amazon-maintained list
16885
- # (`amazon` \| `aws-marketplace`). This is not the user-configured AWS
16886
- # account alias set using the IAM console. We recommend that you use
16887
- # the related parameter instead of this filter.
17095
+ # * `owner-alias` - The owner alias (`amazon` \| `aws-marketplace`). The
17096
+ # valid aliases are defined in an Amazon-maintained list. This is not
17097
+ # the AWS account alias that can be set using the IAM console. We
17098
+ # recommend that you use the **Owner** request parameter instead of
17099
+ # this filter.
16888
17100
  #
16889
17101
  # * `owner-id` - The AWS account ID of the owner. We recommend that you
16890
- # use the related parameter instead of this filter.
17102
+ # use the **Owner** request parameter instead of this filter.
16891
17103
  #
16892
17104
  # * `platform` - The platform. To only list Windows-based AMIs, use
16893
17105
  # `windows`.
@@ -17037,6 +17249,7 @@ module Aws::EC2
17037
17249
  # resp.images[0].block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
17038
17250
  # resp.images[0].block_device_mappings[0].ebs.kms_key_id #=> String
17039
17251
  # resp.images[0].block_device_mappings[0].ebs.throughput #=> Integer
17252
+ # resp.images[0].block_device_mappings[0].ebs.outpost_arn #=> String
17040
17253
  # resp.images[0].block_device_mappings[0].ebs.encrypted #=> Boolean
17041
17254
  # resp.images[0].block_device_mappings[0].no_device #=> String
17042
17255
  # resp.images[0].description #=> String
@@ -20940,9 +21153,8 @@ module Aws::EC2
20940
21153
  # * `private-dns-name` - The private DNS name of the network interface
20941
21154
  # (IPv4).
20942
21155
  #
20943
- # * `requester-id` - The ID of the entity that launched the instance on
20944
- # your behalf (for example, AWS Management Console, Auto Scaling, and
20945
- # so on).
21156
+ # * `requester-id` - The alias or AWS account ID of the principal or
21157
+ # service that created the network interface.
20946
21158
  #
20947
21159
  # * `requester-managed` - Indicates whether the network interface is
20948
21160
  # being managed by an AWS service (for example, AWS Management
@@ -22738,7 +22950,7 @@ module Aws::EC2
22738
22950
  # has been referenced in an outbound security group rule.
22739
22951
  #
22740
22952
  # * `egress.ip-permission.group-name` - The name of a security group
22741
- # that has been referenced in an outbound security group rule.
22953
+ # that is referenced in an outbound security group rule.
22742
22954
  #
22743
22955
  # * `egress.ip-permission.ipv6-cidr` - An IPv6 CIDR block for an
22744
22956
  # outbound security group rule.
@@ -22747,7 +22959,8 @@ module Aws::EC2
22747
22959
  # which a security group rule allows outbound access.
22748
22960
  #
22749
22961
  # * `egress.ip-permission.protocol` - The IP protocol for an outbound
22750
- # security group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
22962
+ # security group rule (`tcp` \| `udp` \| `icmp`, a protocol number, or
22963
+ # -1 for all protocols).
22751
22964
  #
22752
22965
  # * `egress.ip-permission.to-port` - For an outbound rule, the end of
22753
22966
  # port range for the TCP and UDP protocols, or an ICMP code.
@@ -22768,8 +22981,8 @@ module Aws::EC2
22768
22981
  # * `ip-permission.group-id` - The ID of a security group that has been
22769
22982
  # referenced in an inbound security group rule.
22770
22983
  #
22771
- # * `ip-permission.group-name` - The name of a security group that has
22772
- # been referenced in an inbound security group rule.
22984
+ # * `ip-permission.group-name` - The name of a security group that is
22985
+ # referenced in an inbound security group rule.
22773
22986
  #
22774
22987
  # * `ip-permission.ipv6-cidr` - An IPv6 CIDR block for an inbound
22775
22988
  # security group rule.
@@ -22778,7 +22991,8 @@ module Aws::EC2
22778
22991
  # a security group rule allows inbound access.
22779
22992
  #
22780
22993
  # * `ip-permission.protocol` - The IP protocol for an inbound security
22781
- # group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
22994
+ # group rule (`tcp` \| `udp` \| `icmp`, a protocol number, or -1 for
22995
+ # all protocols).
22782
22996
  #
22783
22997
  # * `ip-permission.to-port` - For an inbound rule, the end of port range
22784
22998
  # for the TCP and UDP protocols, or an ICMP code.
@@ -23268,6 +23482,7 @@ module Aws::EC2
23268
23482
  # resp.snapshots[0].volume_id #=> String
23269
23483
  # resp.snapshots[0].volume_size #=> Integer
23270
23484
  # resp.snapshots[0].owner_alias #=> String
23485
+ # resp.snapshots[0].outpost_arn #=> String
23271
23486
  # resp.snapshots[0].tags #=> Array
23272
23487
  # resp.snapshots[0].tags[0].key #=> String
23273
23488
  # resp.snapshots[0].tags[0].value #=> String
@@ -23646,7 +23861,7 @@ module Aws::EC2
23646
23861
  # resp.spot_fleet_request_configs #=> Array
23647
23862
  # resp.spot_fleet_request_configs[0].activity_status #=> String, one of "error", "pending_fulfillment", "pending_termination", "fulfilled"
23648
23863
  # resp.spot_fleet_request_configs[0].create_time #=> Time
23649
- # resp.spot_fleet_request_configs[0].spot_fleet_request_config.allocation_strategy #=> String, one of "lowestPrice", "diversified", "capacityOptimized"
23864
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.allocation_strategy #=> String, one of "lowestPrice", "diversified", "capacityOptimized", "capacityOptimizedPrioritized"
23650
23865
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.on_demand_allocation_strategy #=> String, one of "lowestPrice", "prioritized"
23651
23866
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.spot_maintenance_strategies.capacity_rebalance.replacement_strategy #=> String, one of "launch"
23652
23867
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.client_token #=> String
@@ -23669,6 +23884,7 @@ module Aws::EC2
23669
23884
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
23670
23885
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.kms_key_id #=> String
23671
23886
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.throughput #=> Integer
23887
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.outpost_arn #=> String
23672
23888
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.encrypted #=> Boolean
23673
23889
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].no_device #=> String
23674
23890
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].ebs_optimized #=> Boolean
@@ -24025,6 +24241,7 @@ module Aws::EC2
24025
24241
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
24026
24242
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.kms_key_id #=> String
24027
24243
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.throughput #=> Integer
24244
+ # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.outpost_arn #=> String
24028
24245
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.encrypted #=> Boolean
24029
24246
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].no_device #=> String
24030
24247
  # resp.spot_instance_requests[0].launch_specification.ebs_optimized #=> Boolean
@@ -26811,13 +27028,13 @@ module Aws::EC2
26811
27028
 
26812
27029
  # Describes available services to which you can create a VPC endpoint.
26813
27030
  #
26814
- # When the service provider and the consumer have different accounts
27031
+ # When the service provider and the consumer have different accounts in
26815
27032
  # multiple Availability Zones, and the consumer views the VPC endpoint
26816
27033
  # service information, the response only includes the common
26817
27034
  # Availability Zones. For example, when the service provider account
26818
27035
  # uses `us-east-1a` and `us-east-1c` and the consumer uses `us-east-1a`
26819
- # and us-east-1a and us-east-1b, the response includes the VPC endpoint
26820
- # services in the common Availability Zone, `us-east-1a`.
27036
+ # and `us-east-1b`, the response includes the VPC endpoint services in
27037
+ # the common Availability Zone, `us-east-1a`.
26821
27038
  #
26822
27039
  # @option params [Boolean] :dry_run
26823
27040
  # Checks whether you have the required permissions for the action,
@@ -26833,6 +27050,8 @@ module Aws::EC2
26833
27050
  #
26834
27051
  # * `service-name` - The name of the service.
26835
27052
  #
27053
+ # * `service-type` - The type of service (`Interface` \| `Gateway`).
27054
+ #
26836
27055
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
26837
27056
  # the resource. Use the tag key in the filter name and the tag value
26838
27057
  # as the filter value. For example, to find all resources that have a
@@ -29032,7 +29251,7 @@ module Aws::EC2
29032
29251
  # the default role is named 'vmimport'.
29033
29252
  #
29034
29253
  # @option params [Array<Types::TagSpecification>] :tag_specifications
29035
- # The tags to apply to the image being exported.
29254
+ # The tags to apply to the export image task during creation.
29036
29255
  #
29037
29256
  # @return [Types::ExportImageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
29038
29257
  #
@@ -30770,7 +30989,7 @@ module Aws::EC2
30770
30989
  # The ARNs of the license configurations.
30771
30990
  #
30772
30991
  # @option params [Array<Types::TagSpecification>] :tag_specifications
30773
- # The tags to apply to the image being imported.
30992
+ # The tags to apply to the import image task during creation.
30774
30993
  #
30775
30994
  # @return [Types::ImportImageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
30776
30995
  #
@@ -31150,7 +31369,7 @@ module Aws::EC2
31150
31369
  # 'vmimport'.
31151
31370
  #
31152
31371
  # @option params [Array<Types::TagSpecification>] :tag_specifications
31153
- # The tags to apply to the snapshot being imported.
31372
+ # The tags to apply to the import snapshot task during creation.
31154
31373
  #
31155
31374
  # @return [Types::ImportSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
31156
31375
  #
@@ -31317,6 +31536,55 @@ module Aws::EC2
31317
31536
  req.send_request(options)
31318
31537
  end
31319
31538
 
31539
+ # Modifies an attribute of the specified Elastic IP address. For
31540
+ # requirements, see [Using reverse DNS for email applications][1].
31541
+ #
31542
+ #
31543
+ #
31544
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS
31545
+ #
31546
+ # @option params [required, String] :allocation_id
31547
+ # \[EC2-VPC\] The allocation ID.
31548
+ #
31549
+ # @option params [String] :domain_name
31550
+ # The domain name to modify for the IP address.
31551
+ #
31552
+ # @option params [Boolean] :dry_run
31553
+ # Checks whether you have the required permissions for the action,
31554
+ # without actually making the request, and provides an error response.
31555
+ # If you have the required permissions, the error response is
31556
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
31557
+ #
31558
+ # @return [Types::ModifyAddressAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
31559
+ #
31560
+ # * {Types::ModifyAddressAttributeResult#address #address} => Types::AddressAttribute
31561
+ #
31562
+ # @example Request syntax with placeholder values
31563
+ #
31564
+ # resp = client.modify_address_attribute({
31565
+ # allocation_id: "AllocationId", # required
31566
+ # domain_name: "String",
31567
+ # dry_run: false,
31568
+ # })
31569
+ #
31570
+ # @example Response structure
31571
+ #
31572
+ # resp.address.public_ip #=> String
31573
+ # resp.address.allocation_id #=> String
31574
+ # resp.address.ptr_record #=> String
31575
+ # resp.address.ptr_record_update.value #=> String
31576
+ # resp.address.ptr_record_update.status #=> String
31577
+ # resp.address.ptr_record_update.reason #=> String
31578
+ #
31579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttribute AWS API Documentation
31580
+ #
31581
+ # @overload modify_address_attribute(params = {})
31582
+ # @param [Hash] params ({})
31583
+ def modify_address_attribute(params = {}, options = {})
31584
+ req = build_request(:modify_address_attribute, params)
31585
+ req.send_request(options)
31586
+ end
31587
+
31320
31588
  # Changes the opt-in status of the Local Zone and Wavelength Zone group
31321
31589
  # for your account.
31322
31590
  #
@@ -35745,11 +36013,25 @@ module Aws::EC2
35745
36013
  #
35746
36014
  # </note>
35747
36015
  #
35748
- # You can also use `RegisterImage` to create an Amazon EBS-backed Linux
35749
- # AMI from a snapshot of a root device volume. You specify the snapshot
35750
- # using the block device mapping. For more information, see [Launching a
35751
- # Linux instance from a backup][2] in the *Amazon Elastic Compute Cloud
35752
- # User Guide*.
36016
+ # If needed, you can deregister an AMI at any time. Any modifications
36017
+ # you make to an AMI backed by an instance store volume invalidates its
36018
+ # registration. If you make changes to an image, deregister the previous
36019
+ # image and register the new image.
36020
+ #
36021
+ # **Register a snapshot of a root device volume**
36022
+ #
36023
+ # You can use `RegisterImage` to create an Amazon EBS-backed Linux AMI
36024
+ # from a snapshot of a root device volume. You specify the snapshot
36025
+ # using a block device mapping. You can't set the encryption state of
36026
+ # the volume using the block device mapping. If the snapshot is
36027
+ # encrypted, or encryption by default is enabled, the root volume of an
36028
+ # instance launched from the AMI is encrypted.
36029
+ #
36030
+ # For more information, see [Create a Linux AMI from a snapshot][2] and
36031
+ # [Use encryption with EBS-backed AMIs][3] in the *Amazon Elastic
36032
+ # Compute Cloud User Guide*.
36033
+ #
36034
+ # **AWS Marketplace product codes**
35753
36035
  #
35754
36036
  # If any snapshots have AWS Marketplace product codes, they are copied
35755
36037
  # to the new AMI.
@@ -35774,19 +36056,15 @@ module Aws::EC2
35774
36056
  # you purchase a Reserved Instance without the matching billing product
35775
36057
  # code, the Reserved Instance will not be applied to the On-Demand
35776
36058
  # Instance. For information about how to obtain the platform details and
35777
- # billing information of an AMI, see [Obtaining billing information][3]
36059
+ # billing information of an AMI, see [Obtaining billing information][4]
35778
36060
  # in the *Amazon Elastic Compute Cloud User Guide*.
35779
36061
  #
35780
- # If needed, you can deregister an AMI at any time. Any modifications
35781
- # you make to an AMI backed by an instance store volume invalidates its
35782
- # registration. If you make changes to an image, deregister the previous
35783
- # image and register the new image.
35784
- #
35785
36062
  #
35786
36063
  #
35787
36064
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html
35788
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html
35789
- # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html
36065
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot
36066
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html
36067
+ # [4]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html
35790
36068
  #
35791
36069
  # @option params [String] :image_location
35792
36070
  # The full path to your AMI manifest in Amazon S3 storage. The specified
@@ -35807,6 +36085,20 @@ module Aws::EC2
35807
36085
  # @option params [Array<Types::BlockDeviceMapping>] :block_device_mappings
35808
36086
  # The block device mapping entries.
35809
36087
  #
36088
+ # If you specify an EBS volume using the ID of an EBS snapshot, you
36089
+ # can't specify the encryption state of the volume.
36090
+ #
36091
+ # If you create an AMI on an Outpost, then all backing snapshots must be
36092
+ # on the same Outpost or in the Region of that Outpost. AMIs on an
36093
+ # Outpost that include local snapshots can be used to launch instances
36094
+ # on the same Outpost only. For more information, [ Amazon EBS local
36095
+ # snapshots on Outposts][1] in the *Amazon Elastic Compute Cloud User
36096
+ # Guide*.
36097
+ #
36098
+ #
36099
+ #
36100
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami
36101
+ #
35810
36102
  # @option params [String] :description
35811
36103
  # A description for your AMI.
35812
36104
  #
@@ -35880,6 +36172,7 @@ module Aws::EC2
35880
36172
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
35881
36173
  # kms_key_id: "String",
35882
36174
  # throughput: 1,
36175
+ # outpost_arn: "String",
35883
36176
  # encrypted: false,
35884
36177
  # },
35885
36178
  # no_device: "String",
@@ -37183,7 +37476,7 @@ module Aws::EC2
37183
37476
  # resp = client.request_spot_fleet({
37184
37477
  # dry_run: false,
37185
37478
  # spot_fleet_request_config: { # required
37186
- # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized
37479
+ # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized, capacityOptimizedPrioritized
37187
37480
  # on_demand_allocation_strategy: "lowestPrice", # accepts lowestPrice, prioritized
37188
37481
  # spot_maintenance_strategies: {
37189
37482
  # capacity_rebalance: {
@@ -37216,6 +37509,7 @@ module Aws::EC2
37216
37509
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
37217
37510
  # kms_key_id: "String",
37218
37511
  # throughput: 1,
37512
+ # outpost_arn: "String",
37219
37513
  # encrypted: false,
37220
37514
  # },
37221
37515
  # no_device: "String",
@@ -37564,6 +37858,7 @@ module Aws::EC2
37564
37858
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
37565
37859
  # kms_key_id: "String",
37566
37860
  # throughput: 1,
37861
+ # outpost_arn: "String",
37567
37862
  # encrypted: false,
37568
37863
  # },
37569
37864
  # no_device: "String",
@@ -37662,6 +37957,7 @@ module Aws::EC2
37662
37957
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3"
37663
37958
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.kms_key_id #=> String
37664
37959
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.throughput #=> Integer
37960
+ # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.outpost_arn #=> String
37665
37961
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.encrypted #=> Boolean
37666
37962
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].no_device #=> String
37667
37963
  # resp.spot_instance_requests[0].launch_specification.ebs_optimized #=> Boolean
@@ -37722,6 +38018,55 @@ module Aws::EC2
37722
38018
  req.send_request(options)
37723
38019
  end
37724
38020
 
38021
+ # Resets the attribute of the specified IP address. For requirements,
38022
+ # see [Using reverse DNS for email applications][1].
38023
+ #
38024
+ #
38025
+ #
38026
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS
38027
+ #
38028
+ # @option params [required, String] :allocation_id
38029
+ # \[EC2-VPC\] The allocation ID.
38030
+ #
38031
+ # @option params [required, String] :attribute
38032
+ # The attribute of the IP address.
38033
+ #
38034
+ # @option params [Boolean] :dry_run
38035
+ # Checks whether you have the required permissions for the action,
38036
+ # without actually making the request, and provides an error response.
38037
+ # If you have the required permissions, the error response is
38038
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
38039
+ #
38040
+ # @return [Types::ResetAddressAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
38041
+ #
38042
+ # * {Types::ResetAddressAttributeResult#address #address} => Types::AddressAttribute
38043
+ #
38044
+ # @example Request syntax with placeholder values
38045
+ #
38046
+ # resp = client.reset_address_attribute({
38047
+ # allocation_id: "AllocationId", # required
38048
+ # attribute: "domain-name", # required, accepts domain-name
38049
+ # dry_run: false,
38050
+ # })
38051
+ #
38052
+ # @example Response structure
38053
+ #
38054
+ # resp.address.public_ip #=> String
38055
+ # resp.address.allocation_id #=> String
38056
+ # resp.address.ptr_record #=> String
38057
+ # resp.address.ptr_record_update.value #=> String
38058
+ # resp.address.ptr_record_update.status #=> String
38059
+ # resp.address.ptr_record_update.reason #=> String
38060
+ #
38061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttribute AWS API Documentation
38062
+ #
38063
+ # @overload reset_address_attribute(params = {})
38064
+ # @param [Hash] params ({})
38065
+ def reset_address_attribute(params = {}, options = {})
38066
+ req = build_request(:reset_address_attribute, params)
38067
+ req.send_request(options)
38068
+ end
38069
+
37725
38070
  # Resets the default customer master key (CMK) for EBS encryption for
37726
38071
  # your account in this Region to the AWS managed CMK for EBS.
37727
38072
  #
@@ -38754,7 +39099,7 @@ module Aws::EC2
38754
39099
  # Default: `false`
38755
39100
  #
38756
39101
  # @option params [Types::IamInstanceProfileSpecification] :iam_instance_profile
38757
- # The IAM instance profile.
39102
+ # The name or Amazon Resource Name (ARN) of an IAM instance profile.
38758
39103
  #
38759
39104
  # @option params [String] :instance_initiated_shutdown_behavior
38760
39105
  # Indicates whether an instance stops or terminates when you initiate
@@ -38951,6 +39296,7 @@ module Aws::EC2
38951
39296
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
38952
39297
  # kms_key_id: "String",
38953
39298
  # throughput: 1,
39299
+ # outpost_arn: "String",
38954
39300
  # encrypted: false,
38955
39301
  # },
38956
39302
  # no_device: "String",
@@ -40890,7 +41236,7 @@ module Aws::EC2
40890
41236
  params: params,
40891
41237
  config: config)
40892
41238
  context[:gem_name] = 'aws-sdk-ec2'
40893
- context[:gem_version] = '1.221.0'
41239
+ context[:gem_version] = '1.226.0'
40894
41240
  Seahorse::Client::Request.new(handlers, context)
40895
41241
  end
40896
41242