File Coverage

blib/lib/Paws/EC2.pm
Criterion Covered Total %
statement 234 931 25.1
branch 0 44 0.0
condition n/a
subroutine 80 258 31.0
pod 252 256 98.4
total 566 1489 38.0


line stmt bran cond sub pod time code
1             package Paws::EC2;
2 1     1   3467 use Moose;
  1     6   6  
  1         14  
  6         7948  
  6         12  
  6         43  
3 115     115 0 622 sub service { 'ec2' }
4 22     22 0 126 sub version { '2016-11-15' }
5 11     11 0 63 sub flattened_arrays { 1 }
6             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
7             has retry => (is => 'ro', isa => 'HashRef', default => sub {
8             { base => 'rand', type => 'exponential', growth_factor => 2 }
9             });
10             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
11             sub { defined $_[0]->http_status and $_[0]->http_status == 503 and $_[0]->code eq 'RequestLimitExceeded' },
12             ] });
13              
14             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::EC2Caller', 'Paws::Net::XMLResponse';
15              
16            
17             sub AcceptReservedInstancesExchangeQuote {
18 0     0 1 0 my $self = shift;
19 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AcceptReservedInstancesExchangeQuote', @_);
20 0         0 return $self->caller->do_call($self, $call_object);
21             }
22             sub AcceptVpcPeeringConnection {
23 0     0 1 0 my $self = shift;
24 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AcceptVpcPeeringConnection', @_);
25 0         0 return $self->caller->do_call($self, $call_object);
26             }
27             sub AllocateAddress {
28 1     1 1 309 my $self = shift;
29 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::AllocateAddress', @_);
30 1         554 return $self->caller->do_call($self, $call_object);
31             }
32             sub AllocateHosts {
33 0     0 1 0 my $self = shift;
34 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AllocateHosts', @_);
35 0         0 return $self->caller->do_call($self, $call_object);
36             }
37             sub AssignIpv6Addresses {
38 0     0 1 0 my $self = shift;
39 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AssignIpv6Addresses', @_);
40 0         0 return $self->caller->do_call($self, $call_object);
41             }
42             sub AssignPrivateIpAddresses {
43 1     1 1 587 my $self = shift;
44 1         11 my $call_object = $self->new_with_coercions('Paws::EC2::AssignPrivateIpAddresses', @_);
45 1         1314 return $self->caller->do_call($self, $call_object);
46             }
47             sub AssociateAddress {
48 1     1 1 405 my $self = shift;
49 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::AssociateAddress', @_);
50 1         958 return $self->caller->do_call($self, $call_object);
51             }
52             sub AssociateDhcpOptions {
53 0     0 1 0 my $self = shift;
54 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AssociateDhcpOptions', @_);
55 0         0 return $self->caller->do_call($self, $call_object);
56             }
57             sub AssociateIamInstanceProfile {
58 0     0 1 0 my $self = shift;
59 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AssociateIamInstanceProfile', @_);
60 0         0 return $self->caller->do_call($self, $call_object);
61             }
62             sub AssociateRouteTable {
63 1     1 1 434 my $self = shift;
64 1         11 my $call_object = $self->new_with_coercions('Paws::EC2::AssociateRouteTable', @_);
65 1         914 return $self->caller->do_call($self, $call_object);
66             }
67             sub AssociateSubnetCidrBlock {
68 0     0 1 0 my $self = shift;
69 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AssociateSubnetCidrBlock', @_);
70 0         0 return $self->caller->do_call($self, $call_object);
71             }
72             sub AssociateVpcCidrBlock {
73 0     0 1 0 my $self = shift;
74 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AssociateVpcCidrBlock', @_);
75 0         0 return $self->caller->do_call($self, $call_object);
76             }
77             sub AttachClassicLinkVpc {
78 0     0 1 0 my $self = shift;
79 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AttachClassicLinkVpc', @_);
80 0         0 return $self->caller->do_call($self, $call_object);
81             }
82             sub AttachInternetGateway {
83 0     0 1 0 my $self = shift;
84 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AttachInternetGateway', @_);
85 0         0 return $self->caller->do_call($self, $call_object);
86             }
87             sub AttachNetworkInterface {
88 0     0 1 0 my $self = shift;
89 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AttachNetworkInterface', @_);
90 0         0 return $self->caller->do_call($self, $call_object);
91             }
92             sub AttachVolume {
93 1     1 1 599 my $self = shift;
94 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::AttachVolume', @_);
95 1         1273 return $self->caller->do_call($self, $call_object);
96             }
97             sub AttachVpnGateway {
98 1     1 1 428 my $self = shift;
99 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::AttachVpnGateway', @_);
100 1         881 return $self->caller->do_call($self, $call_object);
101             }
102             sub AuthorizeSecurityGroupEgress {
103 0     0 1 0 my $self = shift;
104 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AuthorizeSecurityGroupEgress', @_);
105 0         0 return $self->caller->do_call($self, $call_object);
106             }
107             sub AuthorizeSecurityGroupIngress {
108 0     0 1 0 my $self = shift;
109 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::AuthorizeSecurityGroupIngress', @_);
110 0         0 return $self->caller->do_call($self, $call_object);
111             }
112             sub BundleInstance {
113 1     1 1 433 my $self = shift;
114 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::BundleInstance', @_);
115 1         977 return $self->caller->do_call($self, $call_object);
116             }
117             sub CancelBundleTask {
118 1     1 1 343 my $self = shift;
119 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::CancelBundleTask', @_);
120 1         642 return $self->caller->do_call($self, $call_object);
121             }
122             sub CancelConversionTask {
123 0     0 1 0 my $self = shift;
124 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CancelConversionTask', @_);
125 0         0 return $self->caller->do_call($self, $call_object);
126             }
127             sub CancelExportTask {
128 0     0 1 0 my $self = shift;
129 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CancelExportTask', @_);
130 0         0 return $self->caller->do_call($self, $call_object);
131             }
132             sub CancelImportTask {
133 0     0 1 0 my $self = shift;
134 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CancelImportTask', @_);
135 0         0 return $self->caller->do_call($self, $call_object);
136             }
137             sub CancelReservedInstancesListing {
138 1     1 1 537 my $self = shift;
139 1         12 my $call_object = $self->new_with_coercions('Paws::EC2::CancelReservedInstancesListing', @_);
140 1         682 return $self->caller->do_call($self, $call_object);
141             }
142             sub CancelSpotFleetRequests {
143 0     0 1 0 my $self = shift;
144 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CancelSpotFleetRequests', @_);
145 0         0 return $self->caller->do_call($self, $call_object);
146             }
147             sub CancelSpotInstanceRequests {
148 1     1 1 347 my $self = shift;
149 1         12 my $call_object = $self->new_with_coercions('Paws::EC2::CancelSpotInstanceRequests', @_);
150 1         766 return $self->caller->do_call($self, $call_object);
151             }
152             sub ConfirmProductInstance {
153 1     1 1 433 my $self = shift;
154 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::ConfirmProductInstance', @_);
155 1         961 return $self->caller->do_call($self, $call_object);
156             }
157             sub CopyFpgaImage {
158 0     0 1 0 my $self = shift;
159 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CopyFpgaImage', @_);
160 0         0 return $self->caller->do_call($self, $call_object);
161             }
162             sub CopyImage {
163 0     0 1 0 my $self = shift;
164 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CopyImage', @_);
165 0         0 return $self->caller->do_call($self, $call_object);
166             }
167             sub CopySnapshot {
168 1     1 1 627 my $self = shift;
169 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::CopySnapshot', @_);
170 1         1718 return $self->caller->do_call($self, $call_object);
171             }
172             sub CreateCustomerGateway {
173 1     1 1 774 my $self = shift;
174 1         16 my $call_object = $self->new_with_coercions('Paws::EC2::CreateCustomerGateway', @_);
175 1         1571 return $self->caller->do_call($self, $call_object);
176             }
177             sub CreateDefaultVpc {
178 0     0 1 0 my $self = shift;
179 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateDefaultVpc', @_);
180 0         0 return $self->caller->do_call($self, $call_object);
181             }
182             sub CreateDhcpOptions {
183 1     1 1 291 my $self = shift;
184 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::CreateDhcpOptions', @_);
185 1         667 return $self->caller->do_call($self, $call_object);
186             }
187             sub CreateEgressOnlyInternetGateway {
188 0     0 1 0 my $self = shift;
189 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateEgressOnlyInternetGateway', @_);
190 0         0 return $self->caller->do_call($self, $call_object);
191             }
192             sub CreateFlowLogs {
193 0     0 1 0 my $self = shift;
194 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateFlowLogs', @_);
195 0         0 return $self->caller->do_call($self, $call_object);
196             }
197             sub CreateFpgaImage {
198 0     0 1 0 my $self = shift;
199 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateFpgaImage', @_);
200 0         0 return $self->caller->do_call($self, $call_object);
201             }
202             sub CreateImage {
203 1     1 1 13 my $self = shift;
204 1         5 my $call_object = $self->new_with_coercions('Paws::EC2::CreateImage', @_);
205 1         1591 return $self->caller->do_call($self, $call_object);
206             }
207             sub CreateInstanceExportTask {
208 1     1 1 424 my $self = shift;
209 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::CreateInstanceExportTask', @_);
210 1         891 return $self->caller->do_call($self, $call_object);
211             }
212             sub CreateInternetGateway {
213 0     0 1 0 my $self = shift;
214 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateInternetGateway', @_);
215 0         0 return $self->caller->do_call($self, $call_object);
216             }
217             sub CreateKeyPair {
218 1     1 1 344 my $self = shift;
219 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::CreateKeyPair', @_);
220 1         722 return $self->caller->do_call($self, $call_object);
221             }
222             sub CreateNatGateway {
223 0     0 1 0 my $self = shift;
224 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateNatGateway', @_);
225 0         0 return $self->caller->do_call($self, $call_object);
226             }
227             sub CreateNetworkAcl {
228 1     1 1 336 my $self = shift;
229 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::CreateNetworkAcl', @_);
230 1         625 return $self->caller->do_call($self, $call_object);
231             }
232             sub CreateNetworkAclEntry {
233 0     0 1 0 my $self = shift;
234 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateNetworkAclEntry', @_);
235 0         0 return $self->caller->do_call($self, $call_object);
236             }
237             sub CreateNetworkInterface {
238 1     1 1 546 my $self = shift;
239 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::CreateNetworkInterface', @_);
240 1         1372 return $self->caller->do_call($self, $call_object);
241             }
242             sub CreateNetworkInterfacePermission {
243 0     0 1 0 my $self = shift;
244 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateNetworkInterfacePermission', @_);
245 0         0 return $self->caller->do_call($self, $call_object);
246             }
247             sub CreatePlacementGroup {
248 1     1 1 434 my $self = shift;
249 1         12 my $call_object = $self->new_with_coercions('Paws::EC2::CreatePlacementGroup', @_);
250 1         961 return $self->caller->do_call($self, $call_object);
251             }
252             sub CreateReservedInstancesListing {
253 1     1 1 397 my $self = shift;
254 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::CreateReservedInstancesListing', @_);
255 1         1312 return $self->caller->do_call($self, $call_object);
256             }
257             sub CreateRoute {
258 0     0 1 0 my $self = shift;
259 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateRoute', @_);
260 0         0 return $self->caller->do_call($self, $call_object);
261             }
262             sub CreateRouteTable {
263 1     1 1 376 my $self = shift;
264 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::CreateRouteTable', @_);
265 1         634 return $self->caller->do_call($self, $call_object);
266             }
267             sub CreateSecurityGroup {
268 0     0 1 0 my $self = shift;
269 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateSecurityGroup', @_);
270 0         0 return $self->caller->do_call($self, $call_object);
271             }
272             sub CreateSnapshot {
273 1     1 1 376 my $self = shift;
274 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::CreateSnapshot', @_);
275 1         737 return $self->caller->do_call($self, $call_object);
276             }
277             sub CreateSpotDatafeedSubscription {
278 1     1 1 357 my $self = shift;
279 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::CreateSpotDatafeedSubscription', @_);
280 1         767 return $self->caller->do_call($self, $call_object);
281             }
282             sub CreateSubnet {
283 1     1 1 489 my $self = shift;
284 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::CreateSubnet', @_);
285 1         1186 return $self->caller->do_call($self, $call_object);
286             }
287             sub CreateTags {
288 0     0 1 0 my $self = shift;
289 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateTags', @_);
290 0         0 return $self->caller->do_call($self, $call_object);
291             }
292             sub CreateVolume {
293 1     1 1 579 my $self = shift;
294 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVolume', @_);
295 1         1747 return $self->caller->do_call($self, $call_object);
296             }
297             sub CreateVpc {
298 1     1 1 392 my $self = shift;
299 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVpc', @_);
300 1         929 return $self->caller->do_call($self, $call_object);
301             }
302             sub CreateVpcEndpoint {
303 0     0 1 0 my $self = shift;
304 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVpcEndpoint', @_);
305 0         0 return $self->caller->do_call($self, $call_object);
306             }
307             sub CreateVpcPeeringConnection {
308 0     0 1 0 my $self = shift;
309 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVpcPeeringConnection', @_);
310 0         0 return $self->caller->do_call($self, $call_object);
311             }
312             sub CreateVpnConnection {
313 0     0 1 0 my $self = shift;
314 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVpnConnection', @_);
315 0         0 return $self->caller->do_call($self, $call_object);
316             }
317             sub CreateVpnConnectionRoute {
318 0     0 1 0 my $self = shift;
319 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVpnConnectionRoute', @_);
320 0         0 return $self->caller->do_call($self, $call_object);
321             }
322             sub CreateVpnGateway {
323 1     1 1 425 my $self = shift;
324 1         11 my $call_object = $self->new_with_coercions('Paws::EC2::CreateVpnGateway', @_);
325 1         788 return $self->caller->do_call($self, $call_object);
326             }
327             sub DeleteCustomerGateway {
328 0     0 1 0 my $self = shift;
329 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteCustomerGateway', @_);
330 0         0 return $self->caller->do_call($self, $call_object);
331             }
332             sub DeleteDhcpOptions {
333 0     0 1 0 my $self = shift;
334 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteDhcpOptions', @_);
335 0         0 return $self->caller->do_call($self, $call_object);
336             }
337             sub DeleteEgressOnlyInternetGateway {
338 0     0 1 0 my $self = shift;
339 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteEgressOnlyInternetGateway', @_);
340 0         0 return $self->caller->do_call($self, $call_object);
341             }
342             sub DeleteFlowLogs {
343 0     0 1 0 my $self = shift;
344 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteFlowLogs', @_);
345 0         0 return $self->caller->do_call($self, $call_object);
346             }
347             sub DeleteFpgaImage {
348 0     0 1 0 my $self = shift;
349 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteFpgaImage', @_);
350 0         0 return $self->caller->do_call($self, $call_object);
351             }
352             sub DeleteInternetGateway {
353 1     1 1 339 my $self = shift;
354 1         11 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteInternetGateway', @_);
355 1         654 return $self->caller->do_call($self, $call_object);
356             }
357             sub DeleteKeyPair {
358 0     0 1 0 my $self = shift;
359 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteKeyPair', @_);
360 0         0 return $self->caller->do_call($self, $call_object);
361             }
362             sub DeleteNatGateway {
363 0     0 1 0 my $self = shift;
364 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteNatGateway', @_);
365 0         0 return $self->caller->do_call($self, $call_object);
366             }
367             sub DeleteNetworkAcl {
368 0     0 1 0 my $self = shift;
369 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteNetworkAcl', @_);
370 0         0 return $self->caller->do_call($self, $call_object);
371             }
372             sub DeleteNetworkAclEntry {
373 0     0 1 0 my $self = shift;
374 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteNetworkAclEntry', @_);
375 0         0 return $self->caller->do_call($self, $call_object);
376             }
377             sub DeleteNetworkInterface {
378 0     0 1 0 my $self = shift;
379 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteNetworkInterface', @_);
380 0         0 return $self->caller->do_call($self, $call_object);
381             }
382             sub DeleteNetworkInterfacePermission {
383 0     0 1 0 my $self = shift;
384 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteNetworkInterfacePermission', @_);
385 0         0 return $self->caller->do_call($self, $call_object);
386             }
387             sub DeletePlacementGroup {
388 0     0 1 0 my $self = shift;
389 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeletePlacementGroup', @_);
390 0         0 return $self->caller->do_call($self, $call_object);
391             }
392             sub DeleteRoute {
393 0     0 1 0 my $self = shift;
394 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteRoute', @_);
395 0         0 return $self->caller->do_call($self, $call_object);
396             }
397             sub DeleteRouteTable {
398 0     0 1 0 my $self = shift;
399 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteRouteTable', @_);
400 0         0 return $self->caller->do_call($self, $call_object);
401             }
402             sub DeleteSecurityGroup {
403 0     0 1 0 my $self = shift;
404 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteSecurityGroup', @_);
405 0         0 return $self->caller->do_call($self, $call_object);
406             }
407             sub DeleteSnapshot {
408 0     0 1 0 my $self = shift;
409 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteSnapshot', @_);
410 0         0 return $self->caller->do_call($self, $call_object);
411             }
412             sub DeleteSpotDatafeedSubscription {
413 0     0 1 0 my $self = shift;
414 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteSpotDatafeedSubscription', @_);
415 0         0 return $self->caller->do_call($self, $call_object);
416             }
417             sub DeleteSubnet {
418 0     0 1 0 my $self = shift;
419 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteSubnet', @_);
420 0         0 return $self->caller->do_call($self, $call_object);
421             }
422             sub DeleteTags {
423 0     0 1 0 my $self = shift;
424 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteTags', @_);
425 0         0 return $self->caller->do_call($self, $call_object);
426             }
427             sub DeleteVolume {
428 0     0 1 0 my $self = shift;
429 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVolume', @_);
430 0         0 return $self->caller->do_call($self, $call_object);
431             }
432             sub DeleteVpc {
433 0     0 1 0 my $self = shift;
434 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVpc', @_);
435 0         0 return $self->caller->do_call($self, $call_object);
436             }
437             sub DeleteVpcEndpoints {
438 0     0 1 0 my $self = shift;
439 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVpcEndpoints', @_);
440 0         0 return $self->caller->do_call($self, $call_object);
441             }
442             sub DeleteVpcPeeringConnection {
443 0     0 1 0 my $self = shift;
444 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVpcPeeringConnection', @_);
445 0         0 return $self->caller->do_call($self, $call_object);
446             }
447             sub DeleteVpnConnection {
448 0     0 1 0 my $self = shift;
449 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVpnConnection', @_);
450 0         0 return $self->caller->do_call($self, $call_object);
451             }
452             sub DeleteVpnConnectionRoute {
453 0     0 1 0 my $self = shift;
454 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVpnConnectionRoute', @_);
455 0         0 return $self->caller->do_call($self, $call_object);
456             }
457             sub DeleteVpnGateway {
458 0     0 1 0 my $self = shift;
459 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeleteVpnGateway', @_);
460 0         0 return $self->caller->do_call($self, $call_object);
461             }
462             sub DeregisterImage {
463 0     0 1 0 my $self = shift;
464 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DeregisterImage', @_);
465 0         0 return $self->caller->do_call($self, $call_object);
466             }
467             sub DescribeAccountAttributes {
468 1     1 1 528 my $self = shift;
469 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeAccountAttributes', @_);
470 1         414 return $self->caller->do_call($self, $call_object);
471             }
472             sub DescribeAddresses {
473 1     1 1 335 my $self = shift;
474 1         10 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeAddresses', @_);
475 1         630 return $self->caller->do_call($self, $call_object);
476             }
477             sub DescribeAvailabilityZones {
478 1     1 1 322 my $self = shift;
479 1         16 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeAvailabilityZones', @_);
480 1         605 return $self->caller->do_call($self, $call_object);
481             }
482             sub DescribeBundleTasks {
483 1     1 1 263 my $self = shift;
484 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeBundleTasks', @_);
485 1         557 return $self->caller->do_call($self, $call_object);
486             }
487             sub DescribeClassicLinkInstances {
488 0     0 1 0 my $self = shift;
489 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeClassicLinkInstances', @_);
490 0         0 return $self->caller->do_call($self, $call_object);
491             }
492             sub DescribeConversionTasks {
493 0     0 1 0 my $self = shift;
494 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeConversionTasks', @_);
495 0         0 return $self->caller->do_call($self, $call_object);
496             }
497             sub DescribeCustomerGateways {
498 1     1 1 254 my $self = shift;
499 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeCustomerGateways', @_);
500 1         509 return $self->caller->do_call($self, $call_object);
501             }
502             sub DescribeDhcpOptions {
503 1     1 1 274 my $self = shift;
504 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeDhcpOptions', @_);
505 1         500 return $self->caller->do_call($self, $call_object);
506             }
507             sub DescribeEgressOnlyInternetGateways {
508 0     0 1 0 my $self = shift;
509 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeEgressOnlyInternetGateways', @_);
510 0         0 return $self->caller->do_call($self, $call_object);
511             }
512             sub DescribeElasticGpus {
513 0     0 1 0 my $self = shift;
514 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeElasticGpus', @_);
515 0         0 return $self->caller->do_call($self, $call_object);
516             }
517             sub DescribeExportTasks {
518 1     1 1 188 my $self = shift;
519 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeExportTasks', @_);
520 1         294 return $self->caller->do_call($self, $call_object);
521             }
522             sub DescribeFlowLogs {
523 0     0 1 0 my $self = shift;
524 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeFlowLogs', @_);
525 0         0 return $self->caller->do_call($self, $call_object);
526             }
527             sub DescribeFpgaImageAttribute {
528 0     0 1 0 my $self = shift;
529 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeFpgaImageAttribute', @_);
530 0         0 return $self->caller->do_call($self, $call_object);
531             }
532             sub DescribeFpgaImages {
533 0     0 1 0 my $self = shift;
534 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeFpgaImages', @_);
535 0         0 return $self->caller->do_call($self, $call_object);
536             }
537             sub DescribeHostReservationOfferings {
538 0     0 1 0 my $self = shift;
539 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeHostReservationOfferings', @_);
540 0         0 return $self->caller->do_call($self, $call_object);
541             }
542             sub DescribeHostReservations {
543 0     0 1 0 my $self = shift;
544 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeHostReservations', @_);
545 0         0 return $self->caller->do_call($self, $call_object);
546             }
547             sub DescribeHosts {
548 0     0 1 0 my $self = shift;
549 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeHosts', @_);
550 0         0 return $self->caller->do_call($self, $call_object);
551             }
552             sub DescribeIamInstanceProfileAssociations {
553 0     0 1 0 my $self = shift;
554 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeIamInstanceProfileAssociations', @_);
555 0         0 return $self->caller->do_call($self, $call_object);
556             }
557             sub DescribeIdentityIdFormat {
558 0     0 1 0 my $self = shift;
559 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeIdentityIdFormat', @_);
560 0         0 return $self->caller->do_call($self, $call_object);
561             }
562             sub DescribeIdFormat {
563 0     0 1 0 my $self = shift;
564 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeIdFormat', @_);
565 0         0 return $self->caller->do_call($self, $call_object);
566             }
567             sub DescribeImageAttribute {
568 0     0 1 0 my $self = shift;
569 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeImageAttribute', @_);
570 0         0 return $self->caller->do_call($self, $call_object);
571             }
572             sub DescribeImages {
573 0     0 1 0 my $self = shift;
574 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeImages', @_);
575 0         0 return $self->caller->do_call($self, $call_object);
576             }
577             sub DescribeImportImageTasks {
578 0     0 1 0 my $self = shift;
579 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeImportImageTasks', @_);
580 0         0 return $self->caller->do_call($self, $call_object);
581             }
582             sub DescribeImportSnapshotTasks {
583 0     0 1 0 my $self = shift;
584 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeImportSnapshotTasks', @_);
585 0         0 return $self->caller->do_call($self, $call_object);
586             }
587             sub DescribeInstanceAttribute {
588 1     1 1 406 my $self = shift;
589 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeInstanceAttribute', @_);
590 1         872 return $self->caller->do_call($self, $call_object);
591             }
592             sub DescribeInstances {
593 9     9 1 328 my $self = shift;
594 9         51 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeInstances', @_);
595 9         6784 return $self->caller->do_call($self, $call_object);
596             }
597             sub DescribeInstanceStatus {
598 1     1 1 380 my $self = shift;
599 1         11 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeInstanceStatus', @_);
600 1         866 return $self->caller->do_call($self, $call_object);
601             }
602             sub DescribeInternetGateways {
603 1     1 1 247 my $self = shift;
604 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeInternetGateways', @_);
605 1         512 return $self->caller->do_call($self, $call_object);
606             }
607             sub DescribeKeyPairs {
608 1     1 1 262 my $self = shift;
609 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeKeyPairs', @_);
610 1         511 return $self->caller->do_call($self, $call_object);
611             }
612             sub DescribeMovingAddresses {
613 0     0 1 0 my $self = shift;
614 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeMovingAddresses', @_);
615 0         0 return $self->caller->do_call($self, $call_object);
616             }
617             sub DescribeNatGateways {
618 0     0 1 0 my $self = shift;
619 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeNatGateways', @_);
620 0         0 return $self->caller->do_call($self, $call_object);
621             }
622             sub DescribeNetworkAcls {
623 1     1 1 255 my $self = shift;
624 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeNetworkAcls', @_);
625 1         500 return $self->caller->do_call($self, $call_object);
626             }
627             sub DescribeNetworkInterfaceAttribute {
628 0     0 1 0 my $self = shift;
629 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeNetworkInterfaceAttribute', @_);
630 0         0 return $self->caller->do_call($self, $call_object);
631             }
632             sub DescribeNetworkInterfacePermissions {
633 0     0 1 0 my $self = shift;
634 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeNetworkInterfacePermissions', @_);
635 0         0 return $self->caller->do_call($self, $call_object);
636             }
637             sub DescribeNetworkInterfaces {
638 1     1 1 252 my $self = shift;
639 1         9 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeNetworkInterfaces', @_);
640 1         503 return $self->caller->do_call($self, $call_object);
641             }
642             sub DescribePlacementGroups {
643 1     1 1 243 my $self = shift;
644 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::DescribePlacementGroups', @_);
645 1         554 return $self->caller->do_call($self, $call_object);
646             }
647             sub DescribePrefixLists {
648 0     0 1 0 my $self = shift;
649 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribePrefixLists', @_);
650 0         0 return $self->caller->do_call($self, $call_object);
651             }
652             sub DescribeRegions {
653 1     1 1 246 my $self = shift;
654 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeRegions', @_);
655 1         491 return $self->caller->do_call($self, $call_object);
656             }
657             sub DescribeReservedInstances {
658 1     1 1 319 my $self = shift;
659 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeReservedInstances', @_);
660 1         760 return $self->caller->do_call($self, $call_object);
661             }
662             sub DescribeReservedInstancesListings {
663 0     0 1 0 my $self = shift;
664 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeReservedInstancesListings', @_);
665 0         0 return $self->caller->do_call($self, $call_object);
666             }
667             sub DescribeReservedInstancesModifications {
668 0     0 1 0 my $self = shift;
669 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeReservedInstancesModifications', @_);
670 0         0 return $self->caller->do_call($self, $call_object);
671             }
672             sub DescribeReservedInstancesOfferings {
673 1     1 1 665 my $self = shift;
674 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeReservedInstancesOfferings', @_);
675 1         1776 return $self->caller->do_call($self, $call_object);
676             }
677             sub DescribeRouteTables {
678 1     1 1 330 my $self = shift;
679 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeRouteTables', @_);
680 1         544 return $self->caller->do_call($self, $call_object);
681             }
682             sub DescribeScheduledInstanceAvailability {
683 0     0 1 0 my $self = shift;
684 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeScheduledInstanceAvailability', @_);
685 0         0 return $self->caller->do_call($self, $call_object);
686             }
687             sub DescribeScheduledInstances {
688 0     0 1 0 my $self = shift;
689 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeScheduledInstances', @_);
690 0         0 return $self->caller->do_call($self, $call_object);
691             }
692             sub DescribeSecurityGroupReferences {
693 0     0 1 0 my $self = shift;
694 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSecurityGroupReferences', @_);
695 0         0 return $self->caller->do_call($self, $call_object);
696             }
697             sub DescribeSecurityGroups {
698 1     1 1 278 my $self = shift;
699 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSecurityGroups', @_);
700 1         600 return $self->caller->do_call($self, $call_object);
701             }
702             sub DescribeSnapshotAttribute {
703 0     0 1 0 my $self = shift;
704 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSnapshotAttribute', @_);
705 0         0 return $self->caller->do_call($self, $call_object);
706             }
707             sub DescribeSnapshots {
708 1     1 1 368 my $self = shift;
709 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSnapshots', @_);
710 1         919 return $self->caller->do_call($self, $call_object);
711             }
712             sub DescribeSpotDatafeedSubscription {
713 0     0 1 0 my $self = shift;
714 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSpotDatafeedSubscription', @_);
715 0         0 return $self->caller->do_call($self, $call_object);
716             }
717             sub DescribeSpotFleetInstances {
718 0     0 1 0 my $self = shift;
719 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSpotFleetInstances', @_);
720 0         0 return $self->caller->do_call($self, $call_object);
721             }
722             sub DescribeSpotFleetRequestHistory {
723 0     0 1 0 my $self = shift;
724 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSpotFleetRequestHistory', @_);
725 0         0 return $self->caller->do_call($self, $call_object);
726             }
727             sub DescribeSpotFleetRequests {
728 0     0 1 0 my $self = shift;
729 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSpotFleetRequests', @_);
730 0         0 return $self->caller->do_call($self, $call_object);
731             }
732             sub DescribeSpotInstanceRequests {
733 1     1 1 250 my $self = shift;
734 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSpotInstanceRequests', @_);
735 1         502 return $self->caller->do_call($self, $call_object);
736             }
737             sub DescribeSpotPriceHistory {
738 1     1 1 427 my $self = shift;
739 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSpotPriceHistory', @_);
740 1         1109 return $self->caller->do_call($self, $call_object);
741             }
742             sub DescribeStaleSecurityGroups {
743 0     0 1 0 my $self = shift;
744 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeStaleSecurityGroups', @_);
745 0         0 return $self->caller->do_call($self, $call_object);
746             }
747             sub DescribeSubnets {
748 1     1 1 247 my $self = shift;
749 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeSubnets', @_);
750 1         478 return $self->caller->do_call($self, $call_object);
751             }
752             sub DescribeTags {
753 1     1 1 264 my $self = shift;
754 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeTags', @_);
755 1         592 return $self->caller->do_call($self, $call_object);
756             }
757             sub DescribeVolumeAttribute {
758 0     0 1 0 my $self = shift;
759 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVolumeAttribute', @_);
760 0         0 return $self->caller->do_call($self, $call_object);
761             }
762             sub DescribeVolumes {
763 1     1 1 302 my $self = shift;
764 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVolumes', @_);
765 1         698 return $self->caller->do_call($self, $call_object);
766             }
767             sub DescribeVolumesModifications {
768 0     0 1 0 my $self = shift;
769 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVolumesModifications', @_);
770 0         0 return $self->caller->do_call($self, $call_object);
771             }
772             sub DescribeVolumeStatus {
773 1     1 1 316 my $self = shift;
774 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVolumeStatus', @_);
775 1         716 return $self->caller->do_call($self, $call_object);
776             }
777             sub DescribeVpcAttribute {
778 0     0 1 0 my $self = shift;
779 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcAttribute', @_);
780 0         0 return $self->caller->do_call($self, $call_object);
781             }
782             sub DescribeVpcClassicLink {
783 0     0 1 0 my $self = shift;
784 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcClassicLink', @_);
785 0         0 return $self->caller->do_call($self, $call_object);
786             }
787             sub DescribeVpcClassicLinkDnsSupport {
788 0     0 1 0 my $self = shift;
789 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcClassicLinkDnsSupport', @_);
790 0         0 return $self->caller->do_call($self, $call_object);
791             }
792             sub DescribeVpcEndpoints {
793 0     0 1 0 my $self = shift;
794 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcEndpoints', @_);
795 0         0 return $self->caller->do_call($self, $call_object);
796             }
797             sub DescribeVpcEndpointServices {
798 0     0 1 0 my $self = shift;
799 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcEndpointServices', @_);
800 0         0 return $self->caller->do_call($self, $call_object);
801             }
802             sub DescribeVpcPeeringConnections {
803 0     0 1 0 my $self = shift;
804 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcPeeringConnections', @_);
805 0         0 return $self->caller->do_call($self, $call_object);
806             }
807             sub DescribeVpcs {
808 1     1 1 271 my $self = shift;
809 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpcs', @_);
810 1         493 return $self->caller->do_call($self, $call_object);
811             }
812             sub DescribeVpnConnections {
813 1     1 1 232 my $self = shift;
814 1         5 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpnConnections', @_);
815 1         476 return $self->caller->do_call($self, $call_object);
816             }
817             sub DescribeVpnGateways {
818 1     1 1 233 my $self = shift;
819 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::DescribeVpnGateways', @_);
820 1         481 return $self->caller->do_call($self, $call_object);
821             }
822             sub DetachClassicLinkVpc {
823 0     0 1 0 my $self = shift;
824 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DetachClassicLinkVpc', @_);
825 0         0 return $self->caller->do_call($self, $call_object);
826             }
827             sub DetachInternetGateway {
828 0     0 1 0 my $self = shift;
829 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DetachInternetGateway', @_);
830 0         0 return $self->caller->do_call($self, $call_object);
831             }
832             sub DetachNetworkInterface {
833 1     1 1 312 my $self = shift;
834 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::DetachNetworkInterface', @_);
835 1         641 return $self->caller->do_call($self, $call_object);
836             }
837             sub DetachVolume {
838 1     1 1 414 my $self = shift;
839 1         5 my $call_object = $self->new_with_coercions('Paws::EC2::DetachVolume', @_);
840 1         909 return $self->caller->do_call($self, $call_object);
841             }
842             sub DetachVpnGateway {
843 0     0 1 0 my $self = shift;
844 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DetachVpnGateway', @_);
845 0         0 return $self->caller->do_call($self, $call_object);
846             }
847             sub DisableVgwRoutePropagation {
848 0     0 1 0 my $self = shift;
849 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisableVgwRoutePropagation', @_);
850 0         0 return $self->caller->do_call($self, $call_object);
851             }
852             sub DisableVpcClassicLink {
853 0     0 1 0 my $self = shift;
854 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisableVpcClassicLink', @_);
855 0         0 return $self->caller->do_call($self, $call_object);
856             }
857             sub DisableVpcClassicLinkDnsSupport {
858 0     0 1 0 my $self = shift;
859 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisableVpcClassicLinkDnsSupport', @_);
860 0         0 return $self->caller->do_call($self, $call_object);
861             }
862             sub DisassociateAddress {
863 0     0 1 0 my $self = shift;
864 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisassociateAddress', @_);
865 0         0 return $self->caller->do_call($self, $call_object);
866             }
867             sub DisassociateIamInstanceProfile {
868 0     0 1 0 my $self = shift;
869 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisassociateIamInstanceProfile', @_);
870 0         0 return $self->caller->do_call($self, $call_object);
871             }
872             sub DisassociateRouteTable {
873 0     0 1 0 my $self = shift;
874 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisassociateRouteTable', @_);
875 0         0 return $self->caller->do_call($self, $call_object);
876             }
877             sub DisassociateSubnetCidrBlock {
878 0     0 1 0 my $self = shift;
879 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisassociateSubnetCidrBlock', @_);
880 0         0 return $self->caller->do_call($self, $call_object);
881             }
882             sub DisassociateVpcCidrBlock {
883 0     0 1 0 my $self = shift;
884 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::DisassociateVpcCidrBlock', @_);
885 0         0 return $self->caller->do_call($self, $call_object);
886             }
887             sub EnableVgwRoutePropagation {
888 0     0 1 0 my $self = shift;
889 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::EnableVgwRoutePropagation', @_);
890 0         0 return $self->caller->do_call($self, $call_object);
891             }
892             sub EnableVolumeIO {
893 0     0 1 0 my $self = shift;
894 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::EnableVolumeIO', @_);
895 0         0 return $self->caller->do_call($self, $call_object);
896             }
897             sub EnableVpcClassicLink {
898 0     0 1 0 my $self = shift;
899 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::EnableVpcClassicLink', @_);
900 0         0 return $self->caller->do_call($self, $call_object);
901             }
902             sub EnableVpcClassicLinkDnsSupport {
903 0     0 1 0 my $self = shift;
904 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::EnableVpcClassicLinkDnsSupport', @_);
905 0         0 return $self->caller->do_call($self, $call_object);
906             }
907             sub GetConsoleOutput {
908 1     1 1 270 my $self = shift;
909 1         5 my $call_object = $self->new_with_coercions('Paws::EC2::GetConsoleOutput', @_);
910 1         530 return $self->caller->do_call($self, $call_object);
911             }
912             sub GetConsoleScreenshot {
913 0     0 1 0 my $self = shift;
914 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::GetConsoleScreenshot', @_);
915 0         0 return $self->caller->do_call($self, $call_object);
916             }
917             sub GetHostReservationPurchasePreview {
918 0     0 1 0 my $self = shift;
919 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::GetHostReservationPurchasePreview', @_);
920 0         0 return $self->caller->do_call($self, $call_object);
921             }
922             sub GetPasswordData {
923 1     1 1 275 my $self = shift;
924 1         5 my $call_object = $self->new_with_coercions('Paws::EC2::GetPasswordData', @_);
925 1         528 return $self->caller->do_call($self, $call_object);
926             }
927             sub GetReservedInstancesExchangeQuote {
928 0     0 1 0 my $self = shift;
929 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::GetReservedInstancesExchangeQuote', @_);
930 0         0 return $self->caller->do_call($self, $call_object);
931             }
932             sub ImportImage {
933 0     0 1 0 my $self = shift;
934 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ImportImage', @_);
935 0         0 return $self->caller->do_call($self, $call_object);
936             }
937             sub ImportInstance {
938 1     1 1 411 my $self = shift;
939 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::ImportInstance', @_);
940 1         846 return $self->caller->do_call($self, $call_object);
941             }
942             sub ImportKeyPair {
943 1     1 1 374 my $self = shift;
944 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::ImportKeyPair', @_);
945 1         787 return $self->caller->do_call($self, $call_object);
946             }
947             sub ImportSnapshot {
948 0     0 1 0 my $self = shift;
949 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ImportSnapshot', @_);
950 0         0 return $self->caller->do_call($self, $call_object);
951             }
952             sub ImportVolume {
953 1     1 1 297 my $self = shift;
954 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::ImportVolume', @_);
955 1         1210 return $self->caller->do_call($self, $call_object);
956             }
957             sub ModifyFpgaImageAttribute {
958 0     0 1 0 my $self = shift;
959 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyFpgaImageAttribute', @_);
960 0         0 return $self->caller->do_call($self, $call_object);
961             }
962             sub ModifyHosts {
963 0     0 1 0 my $self = shift;
964 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyHosts', @_);
965 0         0 return $self->caller->do_call($self, $call_object);
966             }
967             sub ModifyIdentityIdFormat {
968 0     0 1 0 my $self = shift;
969 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyIdentityIdFormat', @_);
970 0         0 return $self->caller->do_call($self, $call_object);
971             }
972             sub ModifyIdFormat {
973 0     0 1 0 my $self = shift;
974 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyIdFormat', @_);
975 0         0 return $self->caller->do_call($self, $call_object);
976             }
977             sub ModifyImageAttribute {
978 0     0 1 0 my $self = shift;
979 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyImageAttribute', @_);
980 0         0 return $self->caller->do_call($self, $call_object);
981             }
982             sub ModifyInstanceAttribute {
983 0     0 1 0 my $self = shift;
984 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyInstanceAttribute', @_);
985 0         0 return $self->caller->do_call($self, $call_object);
986             }
987             sub ModifyInstancePlacement {
988 0     0 1 0 my $self = shift;
989 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyInstancePlacement', @_);
990 0         0 return $self->caller->do_call($self, $call_object);
991             }
992             sub ModifyNetworkInterfaceAttribute {
993 0     0 1 0 my $self = shift;
994 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyNetworkInterfaceAttribute', @_);
995 0         0 return $self->caller->do_call($self, $call_object);
996             }
997             sub ModifyReservedInstances {
998 0     0 1 0 my $self = shift;
999 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyReservedInstances', @_);
1000 0         0 return $self->caller->do_call($self, $call_object);
1001             }
1002             sub ModifySnapshotAttribute {
1003 1     1 1 444 my $self = shift;
1004 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::ModifySnapshotAttribute', @_);
1005 1         1064 return $self->caller->do_call($self, $call_object);
1006             }
1007             sub ModifySpotFleetRequest {
1008 0     0 1 0 my $self = shift;
1009 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifySpotFleetRequest', @_);
1010 0         0 return $self->caller->do_call($self, $call_object);
1011             }
1012             sub ModifySubnetAttribute {
1013 0     0 1 0 my $self = shift;
1014 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifySubnetAttribute', @_);
1015 0         0 return $self->caller->do_call($self, $call_object);
1016             }
1017             sub ModifyVolume {
1018 0     0 1 0 my $self = shift;
1019 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyVolume', @_);
1020 0         0 return $self->caller->do_call($self, $call_object);
1021             }
1022             sub ModifyVolumeAttribute {
1023 0     0 1 0 my $self = shift;
1024 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyVolumeAttribute', @_);
1025 0         0 return $self->caller->do_call($self, $call_object);
1026             }
1027             sub ModifyVpcAttribute {
1028 0     0 1 0 my $self = shift;
1029 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyVpcAttribute', @_);
1030 0         0 return $self->caller->do_call($self, $call_object);
1031             }
1032             sub ModifyVpcEndpoint {
1033 0     0 1 0 my $self = shift;
1034 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyVpcEndpoint', @_);
1035 0         0 return $self->caller->do_call($self, $call_object);
1036             }
1037             sub ModifyVpcPeeringConnectionOptions {
1038 0     0 1 0 my $self = shift;
1039 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ModifyVpcPeeringConnectionOptions', @_);
1040 0         0 return $self->caller->do_call($self, $call_object);
1041             }
1042             sub MonitorInstances {
1043 1     1 1 299 my $self = shift;
1044 1         5 my $call_object = $self->new_with_coercions('Paws::EC2::MonitorInstances', @_);
1045 1         619 return $self->caller->do_call($self, $call_object);
1046             }
1047             sub MoveAddressToVpc {
1048 0     0 1 0 my $self = shift;
1049 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::MoveAddressToVpc', @_);
1050 0         0 return $self->caller->do_call($self, $call_object);
1051             }
1052             sub PurchaseHostReservation {
1053 0     0 1 0 my $self = shift;
1054 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::PurchaseHostReservation', @_);
1055 0         0 return $self->caller->do_call($self, $call_object);
1056             }
1057             sub PurchaseReservedInstancesOffering {
1058 0     0 1 0 my $self = shift;
1059 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::PurchaseReservedInstancesOffering', @_);
1060 0         0 return $self->caller->do_call($self, $call_object);
1061             }
1062             sub PurchaseScheduledInstances {
1063 0     0 1 0 my $self = shift;
1064 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::PurchaseScheduledInstances', @_);
1065 0         0 return $self->caller->do_call($self, $call_object);
1066             }
1067             sub RebootInstances {
1068 0     0 1 0 my $self = shift;
1069 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RebootInstances', @_);
1070 0         0 return $self->caller->do_call($self, $call_object);
1071             }
1072             sub RegisterImage {
1073 1     1 1 668 my $self = shift;
1074 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::RegisterImage', @_);
1075 1         1675 return $self->caller->do_call($self, $call_object);
1076             }
1077             sub RejectVpcPeeringConnection {
1078 0     0 1 0 my $self = shift;
1079 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RejectVpcPeeringConnection', @_);
1080 0         0 return $self->caller->do_call($self, $call_object);
1081             }
1082             sub ReleaseAddress {
1083 0     0 1 0 my $self = shift;
1084 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReleaseAddress', @_);
1085 0         0 return $self->caller->do_call($self, $call_object);
1086             }
1087             sub ReleaseHosts {
1088 0     0 1 0 my $self = shift;
1089 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReleaseHosts', @_);
1090 0         0 return $self->caller->do_call($self, $call_object);
1091             }
1092             sub ReplaceIamInstanceProfileAssociation {
1093 0     0 1 0 my $self = shift;
1094 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReplaceIamInstanceProfileAssociation', @_);
1095 0         0 return $self->caller->do_call($self, $call_object);
1096             }
1097             sub ReplaceNetworkAclAssociation {
1098 1     1 1 423 my $self = shift;
1099 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::ReplaceNetworkAclAssociation', @_);
1100 1         789 return $self->caller->do_call($self, $call_object);
1101             }
1102             sub ReplaceNetworkAclEntry {
1103 0     0 1 0 my $self = shift;
1104 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReplaceNetworkAclEntry', @_);
1105 0         0 return $self->caller->do_call($self, $call_object);
1106             }
1107             sub ReplaceRoute {
1108 0     0 1 0 my $self = shift;
1109 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReplaceRoute', @_);
1110 0         0 return $self->caller->do_call($self, $call_object);
1111             }
1112             sub ReplaceRouteTableAssociation {
1113 0     0 1 0 my $self = shift;
1114 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReplaceRouteTableAssociation', @_);
1115 0         0 return $self->caller->do_call($self, $call_object);
1116             }
1117             sub ReportInstanceStatus {
1118 0     0 1 0 my $self = shift;
1119 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ReportInstanceStatus', @_);
1120 0         0 return $self->caller->do_call($self, $call_object);
1121             }
1122             sub RequestSpotFleet {
1123 0     0 1 0 my $self = shift;
1124 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RequestSpotFleet', @_);
1125 0         0 return $self->caller->do_call($self, $call_object);
1126             }
1127             sub RequestSpotInstances {
1128 1     1 1 576 my $self = shift;
1129 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::RequestSpotInstances', @_);
1130 1         1612 return $self->caller->do_call($self, $call_object);
1131             }
1132             sub ResetFpgaImageAttribute {
1133 0     0 1 0 my $self = shift;
1134 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ResetFpgaImageAttribute', @_);
1135 0         0 return $self->caller->do_call($self, $call_object);
1136             }
1137             sub ResetImageAttribute {
1138 0     0 1 0 my $self = shift;
1139 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ResetImageAttribute', @_);
1140 0         0 return $self->caller->do_call($self, $call_object);
1141             }
1142             sub ResetInstanceAttribute {
1143 0     0 1 0 my $self = shift;
1144 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ResetInstanceAttribute', @_);
1145 0         0 return $self->caller->do_call($self, $call_object);
1146             }
1147             sub ResetNetworkInterfaceAttribute {
1148 0     0 1 0 my $self = shift;
1149 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ResetNetworkInterfaceAttribute', @_);
1150 0         0 return $self->caller->do_call($self, $call_object);
1151             }
1152             sub ResetSnapshotAttribute {
1153 0     0 1 0 my $self = shift;
1154 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::ResetSnapshotAttribute', @_);
1155 0         0 return $self->caller->do_call($self, $call_object);
1156             }
1157             sub RestoreAddressToClassic {
1158 0     0 1 0 my $self = shift;
1159 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RestoreAddressToClassic', @_);
1160 0         0 return $self->caller->do_call($self, $call_object);
1161             }
1162             sub RevokeSecurityGroupEgress {
1163 0     0 1 0 my $self = shift;
1164 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RevokeSecurityGroupEgress', @_);
1165 0         0 return $self->caller->do_call($self, $call_object);
1166             }
1167             sub RevokeSecurityGroupIngress {
1168 0     0 1 0 my $self = shift;
1169 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RevokeSecurityGroupIngress', @_);
1170 0         0 return $self->caller->do_call($self, $call_object);
1171             }
1172             sub RunInstances {
1173 2     2 1 1613 my $self = shift;
1174 2         13 my $call_object = $self->new_with_coercions('Paws::EC2::RunInstances', @_);
1175 2         7554 return $self->caller->do_call($self, $call_object);
1176             }
1177             sub RunScheduledInstances {
1178 0     0 1 0 my $self = shift;
1179 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::RunScheduledInstances', @_);
1180 0         0 return $self->caller->do_call($self, $call_object);
1181             }
1182             sub StartInstances {
1183 1     1 1 343 my $self = shift;
1184 1         8 my $call_object = $self->new_with_coercions('Paws::EC2::StartInstances', @_);
1185 1         699 return $self->caller->do_call($self, $call_object);
1186             }
1187             sub StopInstances {
1188 1     1 1 323 my $self = shift;
1189 1         7 my $call_object = $self->new_with_coercions('Paws::EC2::StopInstances', @_);
1190 1         737 return $self->caller->do_call($self, $call_object);
1191             }
1192             sub TerminateInstances {
1193 0     0 1 0 my $self = shift;
1194 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::TerminateInstances', @_);
1195 0         0 return $self->caller->do_call($self, $call_object);
1196             }
1197             sub UnassignIpv6Addresses {
1198 0     0 1 0 my $self = shift;
1199 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::UnassignIpv6Addresses', @_);
1200 0         0 return $self->caller->do_call($self, $call_object);
1201             }
1202             sub UnassignPrivateIpAddresses {
1203 0     0 1 0 my $self = shift;
1204 0         0 my $call_object = $self->new_with_coercions('Paws::EC2::UnassignPrivateIpAddresses', @_);
1205 0         0 return $self->caller->do_call($self, $call_object);
1206             }
1207             sub UnmonitorInstances {
1208 1     1 1 292 my $self = shift;
1209 1         6 my $call_object = $self->new_with_coercions('Paws::EC2::UnmonitorInstances', @_);
1210 1         599 return $self->caller->do_call($self, $call_object);
1211             }
1212             sub UpdateSecurityGroupRuleDescriptionsEgress {
1213 0     0 1   my $self = shift;
1214 0           my $call_object = $self->new_with_coercions('Paws::EC2::UpdateSecurityGroupRuleDescriptionsEgress', @_);
1215 0           return $self->caller->do_call($self, $call_object);
1216             }
1217             sub UpdateSecurityGroupRuleDescriptionsIngress {
1218 0     0 1   my $self = shift;
1219 0           my $call_object = $self->new_with_coercions('Paws::EC2::UpdateSecurityGroupRuleDescriptionsIngress', @_);
1220 0           return $self->caller->do_call($self, $call_object);
1221             }
1222             sub DescribeAllInstances {
1223 0     0 1   my $self = shift;
1224              
1225 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1226 0           my $result = $self->DescribeInstances(@_);
1227 0           my $next_result = $result;
1228              
1229 0 0         if (not defined $callback) {
1230 0           while ($next_result->NextToken) {
1231 0           $next_result = $self->DescribeInstances(@_, NextToken => $next_result->NextToken);
1232 0           push @{ $result->Reservations }, @{ $next_result->Reservations };
  0            
  0            
1233             }
1234 0           return $result;
1235             } else {
1236 0           while ($result->NextToken) {
1237 0           $callback->($_ => 'Reservations') foreach (@{ $result->Reservations });
  0            
1238 0           $result = $self->DescribeInstances(@_, NextToken => $result->NextToken);
1239             }
1240 0           $callback->($_ => 'Reservations') foreach (@{ $result->Reservations });
  0            
1241             }
1242              
1243             return undef
1244 0           }
1245             sub DescribeAllInstanceStatus {
1246 0     0 1   my $self = shift;
1247              
1248 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1249 0           my $result = $self->DescribeInstanceStatus(@_);
1250 0           my $next_result = $result;
1251              
1252 0 0         if (not defined $callback) {
1253 0           while ($next_result->NextToken) {
1254 0           $next_result = $self->DescribeInstanceStatus(@_, NextToken => $next_result->NextToken);
1255 0           push @{ $result->InstanceStatuses }, @{ $next_result->InstanceStatuses };
  0            
  0            
1256             }
1257 0           return $result;
1258             } else {
1259 0           while ($result->NextToken) {
1260 0           $callback->($_ => 'InstanceStatuses') foreach (@{ $result->InstanceStatuses });
  0            
1261 0           $result = $self->DescribeInstanceStatus(@_, NextToken => $result->NextToken);
1262             }
1263 0           $callback->($_ => 'InstanceStatuses') foreach (@{ $result->InstanceStatuses });
  0            
1264             }
1265              
1266             return undef
1267 0           }
1268             sub DescribeAllNatGateways {
1269 0     0 1   my $self = shift;
1270              
1271 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1272 0           my $result = $self->DescribeNatGateways(@_);
1273 0           my $next_result = $result;
1274              
1275 0 0         if (not defined $callback) {
1276 0           while ($next_result->NextToken) {
1277 0           $next_result = $self->DescribeNatGateways(@_, NextToken => $next_result->NextToken);
1278 0           push @{ $result->NatGateways }, @{ $next_result->NatGateways };
  0            
  0            
1279             }
1280 0           return $result;
1281             } else {
1282 0           while ($result->NextToken) {
1283 0           $callback->($_ => 'NatGateways') foreach (@{ $result->NatGateways });
  0            
1284 0           $result = $self->DescribeNatGateways(@_, NextToken => $result->NextToken);
1285             }
1286 0           $callback->($_ => 'NatGateways') foreach (@{ $result->NatGateways });
  0            
1287             }
1288              
1289             return undef
1290 0           }
1291             sub DescribeAllReservedInstancesModifications {
1292 0     0 1   my $self = shift;
1293              
1294 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1295 0           my $result = $self->DescribeReservedInstancesModifications(@_);
1296 0           my $next_result = $result;
1297              
1298 0 0         if (not defined $callback) {
1299 0           while ($next_result->NextToken) {
1300 0           $next_result = $self->DescribeReservedInstancesModifications(@_, NextToken => $next_result->NextToken);
1301 0           push @{ $result->ReservedInstancesModifications }, @{ $next_result->ReservedInstancesModifications };
  0            
  0            
1302             }
1303 0           return $result;
1304             } else {
1305 0           while ($result->NextToken) {
1306 0           $callback->($_ => 'ReservedInstancesModifications') foreach (@{ $result->ReservedInstancesModifications });
  0            
1307 0           $result = $self->DescribeReservedInstancesModifications(@_, NextToken => $result->NextToken);
1308             }
1309 0           $callback->($_ => 'ReservedInstancesModifications') foreach (@{ $result->ReservedInstancesModifications });
  0            
1310             }
1311              
1312             return undef
1313 0           }
1314             sub DescribeAllReservedInstancesOfferings {
1315 0     0 1   my $self = shift;
1316              
1317 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1318 0           my $result = $self->DescribeReservedInstancesOfferings(@_);
1319 0           my $next_result = $result;
1320              
1321 0 0         if (not defined $callback) {
1322 0           while ($next_result->NextToken) {
1323 0           $next_result = $self->DescribeReservedInstancesOfferings(@_, NextToken => $next_result->NextToken);
1324 0           push @{ $result->ReservedInstancesOfferings }, @{ $next_result->ReservedInstancesOfferings };
  0            
  0            
1325             }
1326 0           return $result;
1327             } else {
1328 0           while ($result->NextToken) {
1329 0           $callback->($_ => 'ReservedInstancesOfferings') foreach (@{ $result->ReservedInstancesOfferings });
  0            
1330 0           $result = $self->DescribeReservedInstancesOfferings(@_, NextToken => $result->NextToken);
1331             }
1332 0           $callback->($_ => 'ReservedInstancesOfferings') foreach (@{ $result->ReservedInstancesOfferings });
  0            
1333             }
1334              
1335             return undef
1336 0           }
1337             sub DescribeAllSnapshots {
1338 0     0 1   my $self = shift;
1339              
1340 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1341 0           my $result = $self->DescribeSnapshots(@_);
1342 0           my $next_result = $result;
1343              
1344 0 0         if (not defined $callback) {
1345 0           while ($next_result->NextToken) {
1346 0           $next_result = $self->DescribeSnapshots(@_, NextToken => $next_result->NextToken);
1347 0           push @{ $result->Snapshots }, @{ $next_result->Snapshots };
  0            
  0            
1348             }
1349 0           return $result;
1350             } else {
1351 0           while ($result->NextToken) {
1352 0           $callback->($_ => 'Snapshots') foreach (@{ $result->Snapshots });
  0            
1353 0           $result = $self->DescribeSnapshots(@_, NextToken => $result->NextToken);
1354             }
1355 0           $callback->($_ => 'Snapshots') foreach (@{ $result->Snapshots });
  0            
1356             }
1357              
1358             return undef
1359 0           }
1360             sub DescribeAllSpotFleetRequests {
1361 0     0 1   my $self = shift;
1362              
1363 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1364 0           my $result = $self->DescribeSpotFleetRequests(@_);
1365 0           my $next_result = $result;
1366              
1367 0 0         if (not defined $callback) {
1368 0           while ($next_result->NextToken) {
1369 0           $next_result = $self->DescribeSpotFleetRequests(@_, NextToken => $next_result->NextToken);
1370 0           push @{ $result->SpotFleetRequestConfigs }, @{ $next_result->SpotFleetRequestConfigs };
  0            
  0            
1371             }
1372 0           return $result;
1373             } else {
1374 0           while ($result->NextToken) {
1375 0           $callback->($_ => 'SpotFleetRequestConfigs') foreach (@{ $result->SpotFleetRequestConfigs });
  0            
1376 0           $result = $self->DescribeSpotFleetRequests(@_, NextToken => $result->NextToken);
1377             }
1378 0           $callback->($_ => 'SpotFleetRequestConfigs') foreach (@{ $result->SpotFleetRequestConfigs });
  0            
1379             }
1380              
1381             return undef
1382 0           }
1383             sub DescribeAllSpotPriceHistory {
1384 0     0 1   my $self = shift;
1385              
1386 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1387 0           my $result = $self->DescribeSpotPriceHistory(@_);
1388 0           my $next_result = $result;
1389              
1390 0 0         if (not defined $callback) {
1391 0           while ($next_result->NextToken) {
1392 0           $next_result = $self->DescribeSpotPriceHistory(@_, NextToken => $next_result->NextToken);
1393 0           push @{ $result->SpotPriceHistory }, @{ $next_result->SpotPriceHistory };
  0            
  0            
1394             }
1395 0           return $result;
1396             } else {
1397 0           while ($result->NextToken) {
1398 0           $callback->($_ => 'SpotPriceHistory') foreach (@{ $result->SpotPriceHistory });
  0            
1399 0           $result = $self->DescribeSpotPriceHistory(@_, NextToken => $result->NextToken);
1400             }
1401 0           $callback->($_ => 'SpotPriceHistory') foreach (@{ $result->SpotPriceHistory });
  0            
1402             }
1403              
1404             return undef
1405 0           }
1406             sub DescribeAllTags {
1407 0     0 1   my $self = shift;
1408              
1409 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1410 0           my $result = $self->DescribeTags(@_);
1411 0           my $next_result = $result;
1412              
1413 0 0         if (not defined $callback) {
1414 0           while ($next_result->NextToken) {
1415 0           $next_result = $self->DescribeTags(@_, NextToken => $next_result->NextToken);
1416 0           push @{ $result->Tags }, @{ $next_result->Tags };
  0            
  0            
1417             }
1418 0           return $result;
1419             } else {
1420 0           while ($result->NextToken) {
1421 0           $callback->($_ => 'Tags') foreach (@{ $result->Tags });
  0            
1422 0           $result = $self->DescribeTags(@_, NextToken => $result->NextToken);
1423             }
1424 0           $callback->($_ => 'Tags') foreach (@{ $result->Tags });
  0            
1425             }
1426              
1427             return undef
1428 0           }
1429             sub DescribeAllVolumes {
1430 0     0 1   my $self = shift;
1431              
1432 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1433 0           my $result = $self->DescribeVolumes(@_);
1434 0           my $next_result = $result;
1435              
1436 0 0         if (not defined $callback) {
1437 0           while ($next_result->NextToken) {
1438 0           $next_result = $self->DescribeVolumes(@_, NextToken => $next_result->NextToken);
1439 0           push @{ $result->Volumes }, @{ $next_result->Volumes };
  0            
  0            
1440             }
1441 0           return $result;
1442             } else {
1443 0           while ($result->NextToken) {
1444 0           $callback->($_ => 'Volumes') foreach (@{ $result->Volumes });
  0            
1445 0           $result = $self->DescribeVolumes(@_, NextToken => $result->NextToken);
1446             }
1447 0           $callback->($_ => 'Volumes') foreach (@{ $result->Volumes });
  0            
1448             }
1449              
1450             return undef
1451 0           }
1452             sub DescribeAllVolumeStatus {
1453 0     0 1   my $self = shift;
1454              
1455 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
1456 0           my $result = $self->DescribeVolumeStatus(@_);
1457 0           my $next_result = $result;
1458              
1459 0 0         if (not defined $callback) {
1460 0           while ($next_result->NextToken) {
1461 0           $next_result = $self->DescribeVolumeStatus(@_, NextToken => $next_result->NextToken);
1462 0           push @{ $result->VolumeStatuses }, @{ $next_result->VolumeStatuses };
  0            
  0            
1463             }
1464 0           return $result;
1465             } else {
1466 0           while ($result->NextToken) {
1467 0           $callback->($_ => 'VolumeStatuses') foreach (@{ $result->VolumeStatuses });
  0            
1468 0           $result = $self->DescribeVolumeStatus(@_, NextToken => $result->NextToken);
1469             }
1470 0           $callback->($_ => 'VolumeStatuses') foreach (@{ $result->VolumeStatuses });
  0            
1471             }
1472              
1473             return undef
1474 0           }
1475              
1476              
1477 0     0 0   sub operations { qw/AcceptReservedInstancesExchangeQuote AcceptVpcPeeringConnection AllocateAddress AllocateHosts AssignIpv6Addresses AssignPrivateIpAddresses AssociateAddress AssociateDhcpOptions AssociateIamInstanceProfile AssociateRouteTable AssociateSubnetCidrBlock AssociateVpcCidrBlock AttachClassicLinkVpc AttachInternetGateway AttachNetworkInterface AttachVolume AttachVpnGateway AuthorizeSecurityGroupEgress AuthorizeSecurityGroupIngress BundleInstance CancelBundleTask CancelConversionTask CancelExportTask CancelImportTask CancelReservedInstancesListing CancelSpotFleetRequests CancelSpotInstanceRequests ConfirmProductInstance CopyFpgaImage CopyImage CopySnapshot CreateCustomerGateway CreateDefaultVpc CreateDhcpOptions CreateEgressOnlyInternetGateway CreateFlowLogs CreateFpgaImage CreateImage CreateInstanceExportTask CreateInternetGateway CreateKeyPair CreateNatGateway CreateNetworkAcl CreateNetworkAclEntry CreateNetworkInterface CreateNetworkInterfacePermission CreatePlacementGroup CreateReservedInstancesListing CreateRoute CreateRouteTable CreateSecurityGroup CreateSnapshot CreateSpotDatafeedSubscription CreateSubnet CreateTags CreateVolume CreateVpc CreateVpcEndpoint CreateVpcPeeringConnection CreateVpnConnection CreateVpnConnectionRoute CreateVpnGateway DeleteCustomerGateway DeleteDhcpOptions DeleteEgressOnlyInternetGateway DeleteFlowLogs DeleteFpgaImage DeleteInternetGateway DeleteKeyPair DeleteNatGateway DeleteNetworkAcl DeleteNetworkAclEntry DeleteNetworkInterface DeleteNetworkInterfacePermission DeletePlacementGroup DeleteRoute DeleteRouteTable DeleteSecurityGroup DeleteSnapshot DeleteSpotDatafeedSubscription DeleteSubnet DeleteTags DeleteVolume DeleteVpc DeleteVpcEndpoints DeleteVpcPeeringConnection DeleteVpnConnection DeleteVpnConnectionRoute DeleteVpnGateway DeregisterImage DescribeAccountAttributes DescribeAddresses DescribeAvailabilityZones DescribeBundleTasks DescribeClassicLinkInstances DescribeConversionTasks DescribeCustomerGateways DescribeDhcpOptions DescribeEgressOnlyInternetGateways DescribeElasticGpus DescribeExportTasks DescribeFlowLogs DescribeFpgaImageAttribute DescribeFpgaImages DescribeHostReservationOfferings DescribeHostReservations DescribeHosts DescribeIamInstanceProfileAssociations DescribeIdentityIdFormat DescribeIdFormat DescribeImageAttribute DescribeImages DescribeImportImageTasks DescribeImportSnapshotTasks DescribeInstanceAttribute DescribeInstances DescribeInstanceStatus DescribeInternetGateways DescribeKeyPairs DescribeMovingAddresses DescribeNatGateways DescribeNetworkAcls DescribeNetworkInterfaceAttribute DescribeNetworkInterfacePermissions DescribeNetworkInterfaces DescribePlacementGroups DescribePrefixLists DescribeRegions DescribeReservedInstances DescribeReservedInstancesListings DescribeReservedInstancesModifications DescribeReservedInstancesOfferings DescribeRouteTables DescribeScheduledInstanceAvailability DescribeScheduledInstances DescribeSecurityGroupReferences DescribeSecurityGroups DescribeSnapshotAttribute DescribeSnapshots DescribeSpotDatafeedSubscription DescribeSpotFleetInstances DescribeSpotFleetRequestHistory DescribeSpotFleetRequests DescribeSpotInstanceRequests DescribeSpotPriceHistory DescribeStaleSecurityGroups DescribeSubnets DescribeTags DescribeVolumeAttribute DescribeVolumes DescribeVolumesModifications DescribeVolumeStatus DescribeVpcAttribute DescribeVpcClassicLink DescribeVpcClassicLinkDnsSupport DescribeVpcEndpoints DescribeVpcEndpointServices DescribeVpcPeeringConnections DescribeVpcs DescribeVpnConnections DescribeVpnGateways DetachClassicLinkVpc DetachInternetGateway DetachNetworkInterface DetachVolume DetachVpnGateway DisableVgwRoutePropagation DisableVpcClassicLink DisableVpcClassicLinkDnsSupport DisassociateAddress DisassociateIamInstanceProfile DisassociateRouteTable DisassociateSubnetCidrBlock DisassociateVpcCidrBlock EnableVgwRoutePropagation EnableVolumeIO EnableVpcClassicLink EnableVpcClassicLinkDnsSupport GetConsoleOutput GetConsoleScreenshot GetHostReservationPurchasePreview GetPasswordData GetReservedInstancesExchangeQuote ImportImage ImportInstance ImportKeyPair ImportSnapshot ImportVolume ModifyFpgaImageAttribute ModifyHosts ModifyIdentityIdFormat ModifyIdFormat ModifyImageAttribute ModifyInstanceAttribute ModifyInstancePlacement ModifyNetworkInterfaceAttribute ModifyReservedInstances ModifySnapshotAttribute ModifySpotFleetRequest ModifySubnetAttribute ModifyVolume ModifyVolumeAttribute ModifyVpcAttribute ModifyVpcEndpoint ModifyVpcPeeringConnectionOptions MonitorInstances MoveAddressToVpc PurchaseHostReservation PurchaseReservedInstancesOffering PurchaseScheduledInstances RebootInstances RegisterImage RejectVpcPeeringConnection ReleaseAddress ReleaseHosts ReplaceIamInstanceProfileAssociation ReplaceNetworkAclAssociation ReplaceNetworkAclEntry ReplaceRoute ReplaceRouteTableAssociation ReportInstanceStatus RequestSpotFleet RequestSpotInstances ResetFpgaImageAttribute ResetImageAttribute ResetInstanceAttribute ResetNetworkInterfaceAttribute ResetSnapshotAttribute RestoreAddressToClassic RevokeSecurityGroupEgress RevokeSecurityGroupIngress RunInstances RunScheduledInstances StartInstances StopInstances TerminateInstances UnassignIpv6Addresses UnassignPrivateIpAddresses UnmonitorInstances UpdateSecurityGroupRuleDescriptionsEgress UpdateSecurityGroupRuleDescriptionsIngress / }
1478              
1479             1;
1480              
1481             ### main pod documentation begin ###
1482              
1483             =head1 NAME
1484              
1485             Paws::EC2 - Perl Interface to AWS Amazon Elastic Compute Cloud
1486              
1487             =head1 SYNOPSIS
1488              
1489             use Paws;
1490              
1491             my $obj = Paws->service('EC2');
1492             my $res = $obj->Method(
1493             Arg1 => $val1,
1494             Arg2 => [ 'V1', 'V2' ],
1495             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
1496             # of the arguments type
1497             Arg3 => { Att1 => 'Val1' },
1498             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
1499             # the constructor of the arguments type
1500             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
1501             );
1502              
1503             =head1 DESCRIPTION
1504              
1505             Amazon Elastic Compute Cloud
1506              
1507             Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing
1508             capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2
1509             eliminates your need to invest in hardware up front, so you can develop
1510             and deploy applications faster.
1511              
1512             =head1 METHODS
1513              
1514             =head2 AcceptReservedInstancesExchangeQuote(ReservedInstanceIds => ArrayRef[Str|Undef], [DryRun => Bool, TargetConfigurations => ArrayRef[L<Paws::EC2::TargetConfigurationRequest>]])
1515              
1516             Each argument is described in detail in: L<Paws::EC2::AcceptReservedInstancesExchangeQuote>
1517              
1518             Returns: a L<Paws::EC2::AcceptReservedInstancesExchangeQuoteResult> instance
1519              
1520             Accepts the Convertible Reserved Instance exchange quote described in
1521             the GetReservedInstancesExchangeQuote call.
1522              
1523              
1524             =head2 AcceptVpcPeeringConnection([DryRun => Bool, VpcPeeringConnectionId => Str])
1525              
1526             Each argument is described in detail in: L<Paws::EC2::AcceptVpcPeeringConnection>
1527              
1528             Returns: a L<Paws::EC2::AcceptVpcPeeringConnectionResult> instance
1529              
1530             Accept a VPC peering connection request. To accept a request, the VPC
1531             peering connection must be in the C<pending-acceptance> state, and you
1532             must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to
1533             view your outstanding VPC peering connection requests.
1534              
1535              
1536             =head2 AllocateAddress([Address => Str, Domain => Str, DryRun => Bool])
1537              
1538             Each argument is described in detail in: L<Paws::EC2::AllocateAddress>
1539              
1540             Returns: a L<Paws::EC2::AllocateAddressResult> instance
1541              
1542             Allocates an Elastic IP address.
1543              
1544             An Elastic IP address is for use either in the EC2-Classic platform or
1545             in a VPC. By default, you can allocate 5 Elastic IP addresses for
1546             EC2-Classic per region and 5 Elastic IP addresses for EC2-VPC per
1547             region.
1548              
1549             If you release an Elastic IP address for use in a VPC, you might be
1550             able to recover it. To recover an Elastic IP address that you released,
1551             specify it in the C<Address> parameter. Note that you cannot recover an
1552             Elastic IP address that you released after it is allocated to another
1553             AWS account.
1554              
1555             For more information, see Elastic IP Addresses in the I<Amazon Elastic
1556             Compute Cloud User Guide>.
1557              
1558              
1559             =head2 AllocateHosts(AvailabilityZone => Str, InstanceType => Str, Quantity => Int, [AutoPlacement => Str, ClientToken => Str])
1560              
1561             Each argument is described in detail in: L<Paws::EC2::AllocateHosts>
1562              
1563             Returns: a L<Paws::EC2::AllocateHostsResult> instance
1564              
1565             Allocates a Dedicated Host to your account. At minimum you need to
1566             specify the instance size type, Availability Zone, and quantity of
1567             hosts you want to allocate.
1568              
1569              
1570             =head2 AssignIpv6Addresses(NetworkInterfaceId => Str, [Ipv6AddressCount => Int, Ipv6Addresses => ArrayRef[Str|Undef]])
1571              
1572             Each argument is described in detail in: L<Paws::EC2::AssignIpv6Addresses>
1573              
1574             Returns: a L<Paws::EC2::AssignIpv6AddressesResult> instance
1575              
1576             Assigns one or more IPv6 addresses to the specified network interface.
1577             You can specify one or more specific IPv6 addresses, or you can specify
1578             the number of IPv6 addresses to be automatically assigned from within
1579             the subnet's IPv6 CIDR block range. You can assign as many IPv6
1580             addresses to a network interface as you can assign private IPv4
1581             addresses, and the limit varies per instance type. For information, see
1582             IP Addresses Per Network Interface Per Instance Type in the I<Amazon
1583             Elastic Compute Cloud User Guide>.
1584              
1585              
1586             =head2 AssignPrivateIpAddresses(NetworkInterfaceId => Str, [AllowReassignment => Bool, PrivateIpAddresses => ArrayRef[Str|Undef], SecondaryPrivateIpAddressCount => Int])
1587              
1588             Each argument is described in detail in: L<Paws::EC2::AssignPrivateIpAddresses>
1589              
1590             Returns: nothing
1591              
1592             Assigns one or more secondary private IP addresses to the specified
1593             network interface. You can specify one or more specific secondary IP
1594             addresses, or you can specify the number of secondary IP addresses to
1595             be automatically assigned within the subnet's CIDR block range. The
1596             number of secondary IP addresses that you can assign to an instance
1597             varies by instance type. For information about instance types, see
1598             Instance Types in the I<Amazon Elastic Compute Cloud User Guide>. For
1599             more information about Elastic IP addresses, see Elastic IP Addresses
1600             in the I<Amazon Elastic Compute Cloud User Guide>.
1601              
1602             AssignPrivateIpAddresses is available only in EC2-VPC.
1603              
1604              
1605             =head2 AssociateAddress([AllocationId => Str, AllowReassociation => Bool, DryRun => Bool, InstanceId => Str, NetworkInterfaceId => Str, PrivateIpAddress => Str, PublicIp => Str])
1606              
1607             Each argument is described in detail in: L<Paws::EC2::AssociateAddress>
1608              
1609             Returns: a L<Paws::EC2::AssociateAddressResult> instance
1610              
1611             Associates an Elastic IP address with an instance or a network
1612             interface.
1613              
1614             An Elastic IP address is for use in either the EC2-Classic platform or
1615             in a VPC. For more information, see Elastic IP Addresses in the
1616             I<Amazon Elastic Compute Cloud User Guide>.
1617              
1618             [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address
1619             is already associated with a different instance, it is disassociated
1620             from that instance and associated with the specified instance. If you
1621             associate an Elastic IP address with an instance that has an existing
1622             Elastic IP address, the existing address is disassociated from the
1623             instance, but remains allocated to your account.
1624              
1625             [VPC in an EC2-Classic account] If you don't specify a private IP
1626             address, the Elastic IP address is associated with the primary IP
1627             address. If the Elastic IP address is already associated with a
1628             different instance or a network interface, you get an error unless you
1629             allow reassociation. You cannot associate an Elastic IP address with an
1630             instance or network interface that has an existing Elastic IP address.
1631              
1632             This is an idempotent operation. If you perform the operation more than
1633             once, Amazon EC2 doesn't return an error, and you may be charged for
1634             each time the Elastic IP address is remapped to the same instance. For
1635             more information, see the I<Elastic IP Addresses> section of Amazon EC2
1636             Pricing.
1637              
1638              
1639             =head2 AssociateDhcpOptions(DhcpOptionsId => Str, VpcId => Str, [DryRun => Bool])
1640              
1641             Each argument is described in detail in: L<Paws::EC2::AssociateDhcpOptions>
1642              
1643             Returns: nothing
1644              
1645             Associates a set of DHCP options (that you've previously created) with
1646             the specified VPC, or associates no DHCP options with the VPC.
1647              
1648             After you associate the options with the VPC, any existing instances
1649             and all new instances that you launch in that VPC use the options. You
1650             don't need to restart or relaunch the instances. They automatically
1651             pick up the changes within a few hours, depending on how frequently the
1652             instance renews its DHCP lease. You can explicitly renew the lease
1653             using the operating system on the instance.
1654              
1655             For more information, see DHCP Options Sets in the I<Amazon Virtual
1656             Private Cloud User Guide>.
1657              
1658              
1659             =head2 AssociateIamInstanceProfile(IamInstanceProfile => L<Paws::EC2::IamInstanceProfileSpecification>, InstanceId => Str)
1660              
1661             Each argument is described in detail in: L<Paws::EC2::AssociateIamInstanceProfile>
1662              
1663             Returns: a L<Paws::EC2::AssociateIamInstanceProfileResult> instance
1664              
1665             Associates an IAM instance profile with a running or stopped instance.
1666             You cannot associate more than one IAM instance profile with an
1667             instance.
1668              
1669              
1670             =head2 AssociateRouteTable(RouteTableId => Str, SubnetId => Str, [DryRun => Bool])
1671              
1672             Each argument is described in detail in: L<Paws::EC2::AssociateRouteTable>
1673              
1674             Returns: a L<Paws::EC2::AssociateRouteTableResult> instance
1675              
1676             Associates a subnet with a route table. The subnet and route table must
1677             be in the same VPC. This association causes traffic originating from
1678             the subnet to be routed according to the routes in the route table. The
1679             action returns an association ID, which you need in order to
1680             disassociate the route table from the subnet later. A route table can
1681             be associated with multiple subnets.
1682              
1683             For more information about route tables, see Route Tables in the
1684             I<Amazon Virtual Private Cloud User Guide>.
1685              
1686              
1687             =head2 AssociateSubnetCidrBlock(Ipv6CidrBlock => Str, SubnetId => Str)
1688              
1689             Each argument is described in detail in: L<Paws::EC2::AssociateSubnetCidrBlock>
1690              
1691             Returns: a L<Paws::EC2::AssociateSubnetCidrBlockResult> instance
1692              
1693             Associates a CIDR block with your subnet. You can only associate a
1694             single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a
1695             prefix length of /64.
1696              
1697              
1698             =head2 AssociateVpcCidrBlock(VpcId => Str, [AmazonProvidedIpv6CidrBlock => Bool, CidrBlock => Str])
1699              
1700             Each argument is described in detail in: L<Paws::EC2::AssociateVpcCidrBlock>
1701              
1702             Returns: a L<Paws::EC2::AssociateVpcCidrBlockResult> instance
1703              
1704             Associates a CIDR block with your VPC. You can associate a secondary
1705             IPv4 CIDR block, or you can associate an Amazon-provided IPv6 CIDR
1706             block. The IPv6 CIDR block size is fixed at /56.
1707              
1708             For more information about associating CIDR blocks with your VPC and
1709             applicable restrictions, see VPC and Subnet Sizing in the I<Amazon
1710             Virtual Private Cloud User Guide>.
1711              
1712              
1713             =head2 AttachClassicLinkVpc(Groups => ArrayRef[Str|Undef], InstanceId => Str, VpcId => Str, [DryRun => Bool])
1714              
1715             Each argument is described in detail in: L<Paws::EC2::AttachClassicLinkVpc>
1716              
1717             Returns: a L<Paws::EC2::AttachClassicLinkVpcResult> instance
1718              
1719             Links an EC2-Classic instance to a ClassicLink-enabled VPC through one
1720             or more of the VPC's security groups. You cannot link an EC2-Classic
1721             instance to more than one VPC at a time. You can only link an instance
1722             that's in the C<running> state. An instance is automatically unlinked
1723             from a VPC when it's stopped - you can link it to the VPC again when
1724             you restart it.
1725              
1726             After you've linked an instance, you cannot change the VPC security
1727             groups that are associated with it. To change the security groups, you
1728             must first unlink the instance, and then link it again.
1729              
1730             Linking your instance to a VPC is sometimes referred to as I<attaching>
1731             your instance.
1732              
1733              
1734             =head2 AttachInternetGateway(InternetGatewayId => Str, VpcId => Str, [DryRun => Bool])
1735              
1736             Each argument is described in detail in: L<Paws::EC2::AttachInternetGateway>
1737              
1738             Returns: nothing
1739              
1740             Attaches an Internet gateway to a VPC, enabling connectivity between
1741             the Internet and the VPC. For more information about your VPC and
1742             Internet gateway, see the Amazon Virtual Private Cloud User Guide.
1743              
1744              
1745             =head2 AttachNetworkInterface(DeviceIndex => Int, InstanceId => Str, NetworkInterfaceId => Str, [DryRun => Bool])
1746              
1747             Each argument is described in detail in: L<Paws::EC2::AttachNetworkInterface>
1748              
1749             Returns: a L<Paws::EC2::AttachNetworkInterfaceResult> instance
1750              
1751             Attaches a network interface to an instance.
1752              
1753              
1754             =head2 AttachVolume(Device => Str, InstanceId => Str, VolumeId => Str, [DryRun => Bool])
1755              
1756             Each argument is described in detail in: L<Paws::EC2::AttachVolume>
1757              
1758             Returns: a L<Paws::EC2::VolumeAttachment> instance
1759              
1760             Attaches an EBS volume to a running or stopped instance and exposes it
1761             to the instance with the specified device name.
1762              
1763             Encrypted EBS volumes may only be attached to instances that support
1764             Amazon EBS encryption. For more information, see Amazon EBS Encryption
1765             in the I<Amazon Elastic Compute Cloud User Guide>.
1766              
1767             For a list of supported device names, see Attaching an EBS Volume to an
1768             Instance. Any device names that aren't reserved for instance store
1769             volumes can be used for EBS volumes. For more information, see Amazon
1770             EC2 Instance Store in the I<Amazon Elastic Compute Cloud User Guide>.
1771              
1772             If a volume has an AWS Marketplace product code:
1773              
1774             =over
1775              
1776             =item *
1777              
1778             The volume can be attached only to a stopped instance.
1779              
1780             =item *
1781              
1782             AWS Marketplace product codes are copied from the volume to the
1783             instance.
1784              
1785             =item *
1786              
1787             You must be subscribed to the product.
1788              
1789             =item *
1790              
1791             The instance type and operating system of the instance must support the
1792             product. For example, you can't detach a volume from a Windows instance
1793             and attach it to a Linux instance.
1794              
1795             =back
1796              
1797             For an overview of the AWS Marketplace, see Introducing AWS
1798             Marketplace.
1799              
1800             For more information about EBS volumes, see Attaching Amazon EBS
1801             Volumes in the I<Amazon Elastic Compute Cloud User Guide>.
1802              
1803              
1804             =head2 AttachVpnGateway(VpcId => Str, VpnGatewayId => Str, [DryRun => Bool])
1805              
1806             Each argument is described in detail in: L<Paws::EC2::AttachVpnGateway>
1807              
1808             Returns: a L<Paws::EC2::AttachVpnGatewayResult> instance
1809              
1810             Attaches a virtual private gateway to a VPC. You can attach one virtual
1811             private gateway to one VPC at a time.
1812              
1813             For more information, see Adding a Hardware Virtual Private Gateway to
1814             Your VPC in the I<Amazon Virtual Private Cloud User Guide>.
1815              
1816              
1817             =head2 AuthorizeSecurityGroupEgress(GroupId => Str, [CidrIp => Str, DryRun => Bool, FromPort => Int, IpPermissions => ArrayRef[L<Paws::EC2::IpPermission>], IpProtocol => Str, SourceSecurityGroupName => Str, SourceSecurityGroupOwnerId => Str, ToPort => Int])
1818              
1819             Each argument is described in detail in: L<Paws::EC2::AuthorizeSecurityGroupEgress>
1820              
1821             Returns: nothing
1822              
1823             [EC2-VPC only] Adds one or more egress rules to a security group for
1824             use with a VPC. Specifically, this action permits instances to send
1825             traffic to one or more destination IPv4 or IPv6 CIDR address ranges, or
1826             to one or more destination security groups for the same VPC. This
1827             action doesn't apply to security groups for use in EC2-Classic. For
1828             more information, see Security Groups for Your VPC in the I<Amazon
1829             Virtual Private Cloud User Guide>. For more information about security
1830             group limits, see Amazon VPC Limits.
1831              
1832             Each rule consists of the protocol (for example, TCP), plus either a
1833             CIDR range or a source group. For the TCP and UDP protocols, you must
1834             also specify the destination port or port range. For the ICMP protocol,
1835             you must also specify the ICMP type and code. You can use -1 for the
1836             type or code to mean all types or all codes. You can optionally specify
1837             a description for the rule.
1838              
1839             Rule changes are propagated to affected instances as quickly as
1840             possible. However, a small delay might occur.
1841              
1842              
1843             =head2 AuthorizeSecurityGroupIngress([CidrIp => Str, DryRun => Bool, FromPort => Int, GroupId => Str, GroupName => Str, IpPermissions => ArrayRef[L<Paws::EC2::IpPermission>], IpProtocol => Str, SourceSecurityGroupName => Str, SourceSecurityGroupOwnerId => Str, ToPort => Int])
1844              
1845             Each argument is described in detail in: L<Paws::EC2::AuthorizeSecurityGroupIngress>
1846              
1847             Returns: nothing
1848              
1849             Adds one or more ingress rules to a security group.
1850              
1851             Rule changes are propagated to instances within the security group as
1852             quickly as possible. However, a small delay might occur.
1853              
1854             [EC2-Classic] This action gives one or more IPv4 CIDR address ranges
1855             permission to access a security group in your account, or gives one or
1856             more security groups (called the I<source groups>) permission to access
1857             a security group for your account. A source group can be for your own
1858             AWS account, or another. You can have up to 100 rules per group.
1859              
1860             [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address
1861             ranges permission to access a security group in your VPC, or gives one
1862             or more other security groups (called the I<source groups>) permission
1863             to access a security group for your VPC. The security groups must all
1864             be for the same VPC or a peer VPC in a VPC peering connection. For more
1865             information about VPC security group limits, see Amazon VPC Limits.
1866              
1867             You can optionally specify a description for the security group rule.
1868              
1869              
1870             =head2 BundleInstance(InstanceId => Str, Storage => L<Paws::EC2::Storage>, [DryRun => Bool])
1871              
1872             Each argument is described in detail in: L<Paws::EC2::BundleInstance>
1873              
1874             Returns: a L<Paws::EC2::BundleInstanceResult> instance
1875              
1876             Bundles an Amazon instance store-backed Windows instance.
1877              
1878             During bundling, only the root device volume (C:\) is bundled. Data on
1879             other instance store volumes is not preserved.
1880              
1881             This action is not applicable for Linux/Unix instances or Windows
1882             instances that are backed by Amazon EBS.
1883              
1884             For more information, see Creating an Instance Store-Backed Windows
1885             AMI.
1886              
1887              
1888             =head2 CancelBundleTask(BundleId => Str, [DryRun => Bool])
1889              
1890             Each argument is described in detail in: L<Paws::EC2::CancelBundleTask>
1891              
1892             Returns: a L<Paws::EC2::CancelBundleTaskResult> instance
1893              
1894             Cancels a bundling operation for an instance store-backed Windows
1895             instance.
1896              
1897              
1898             =head2 CancelConversionTask(ConversionTaskId => Str, [DryRun => Bool, ReasonMessage => Str])
1899              
1900             Each argument is described in detail in: L<Paws::EC2::CancelConversionTask>
1901              
1902             Returns: nothing
1903              
1904             Cancels an active conversion task. The task can be the import of an
1905             instance or volume. The action removes all artifacts of the conversion,
1906             including a partially uploaded volume or instance. If the conversion is
1907             complete or is in the process of transferring the final disk image, the
1908             command fails and returns an exception.
1909              
1910             For more information, see Importing a Virtual Machine Using the Amazon
1911             EC2 CLI.
1912              
1913              
1914             =head2 CancelExportTask(ExportTaskId => Str)
1915              
1916             Each argument is described in detail in: L<Paws::EC2::CancelExportTask>
1917              
1918             Returns: nothing
1919              
1920             Cancels an active export task. The request removes all artifacts of the
1921             export, including any partially-created Amazon S3 objects. If the
1922             export task is complete or is in the process of transferring the final
1923             disk image, the command fails and returns an error.
1924              
1925              
1926             =head2 CancelImportTask([CancelReason => Str, DryRun => Bool, ImportTaskId => Str])
1927              
1928             Each argument is described in detail in: L<Paws::EC2::CancelImportTask>
1929              
1930             Returns: a L<Paws::EC2::CancelImportTaskResult> instance
1931              
1932             Cancels an in-process import virtual machine or import snapshot task.
1933              
1934              
1935             =head2 CancelReservedInstancesListing(ReservedInstancesListingId => Str)
1936              
1937             Each argument is described in detail in: L<Paws::EC2::CancelReservedInstancesListing>
1938              
1939             Returns: a L<Paws::EC2::CancelReservedInstancesListingResult> instance
1940              
1941             Cancels the specified Reserved Instance listing in the Reserved
1942             Instance Marketplace.
1943              
1944             For more information, see Reserved Instance Marketplace in the I<Amazon
1945             Elastic Compute Cloud User Guide>.
1946              
1947              
1948             =head2 CancelSpotFleetRequests(SpotFleetRequestIds => ArrayRef[Str|Undef], TerminateInstances => Bool, [DryRun => Bool])
1949              
1950             Each argument is described in detail in: L<Paws::EC2::CancelSpotFleetRequests>
1951              
1952             Returns: a L<Paws::EC2::CancelSpotFleetRequestsResponse> instance
1953              
1954             Cancels the specified Spot fleet requests.
1955              
1956             After you cancel a Spot fleet request, the Spot fleet launches no new
1957             Spot instances. You must specify whether the Spot fleet should also
1958             terminate its Spot instances. If you terminate the instances, the Spot
1959             fleet request enters the C<cancelled_terminating> state. Otherwise, the
1960             Spot fleet request enters the C<cancelled_running> state and the
1961             instances continue to run until they are interrupted or you terminate
1962             them manually.
1963              
1964              
1965             =head2 CancelSpotInstanceRequests(SpotInstanceRequestIds => ArrayRef[Str|Undef], [DryRun => Bool])
1966              
1967             Each argument is described in detail in: L<Paws::EC2::CancelSpotInstanceRequests>
1968              
1969             Returns: a L<Paws::EC2::CancelSpotInstanceRequestsResult> instance
1970              
1971             Cancels one or more Spot instance requests. Spot instances are
1972             instances that Amazon EC2 starts on your behalf when the bid price that
1973             you specify exceeds the current Spot price. Amazon EC2 periodically
1974             sets the Spot price based on available Spot instance capacity and
1975             current Spot instance requests. For more information, see Spot Instance
1976             Requests in the I<Amazon Elastic Compute Cloud User Guide>.
1977              
1978             Canceling a Spot instance request does not terminate running Spot
1979             instances associated with the request.
1980              
1981              
1982             =head2 ConfirmProductInstance(InstanceId => Str, ProductCode => Str, [DryRun => Bool])
1983              
1984             Each argument is described in detail in: L<Paws::EC2::ConfirmProductInstance>
1985              
1986             Returns: a L<Paws::EC2::ConfirmProductInstanceResult> instance
1987              
1988             Determines whether a product code is associated with an instance. This
1989             action can only be used by the owner of the product code. It is useful
1990             when a product code owner must verify whether another user's instance
1991             is eligible for support.
1992              
1993              
1994             =head2 CopyFpgaImage(SourceFpgaImageId => Str, SourceRegion => Str, [ClientToken => Str, Description => Str, DryRun => Bool, Name => Str])
1995              
1996             Each argument is described in detail in: L<Paws::EC2::CopyFpgaImage>
1997              
1998             Returns: a L<Paws::EC2::CopyFpgaImageResult> instance
1999              
2000             Copies the specified Amazon FPGA Image (AFI) to the current region.
2001              
2002              
2003             =head2 CopyImage(Name => Str, SourceImageId => Str, SourceRegion => Str, [ClientToken => Str, Description => Str, DryRun => Bool, Encrypted => Bool, KmsKeyId => Str])
2004              
2005             Each argument is described in detail in: L<Paws::EC2::CopyImage>
2006              
2007             Returns: a L<Paws::EC2::CopyImageResult> instance
2008              
2009             Initiates the copy of an AMI from the specified source region to the
2010             current region. You specify the destination region by using its
2011             endpoint when making the request.
2012              
2013             For more information about the prerequisites and limits when copying an
2014             AMI, see Copying an AMI in the I<Amazon Elastic Compute Cloud User
2015             Guide>.
2016              
2017              
2018             =head2 CopySnapshot(SourceRegion => Str, SourceSnapshotId => Str, [Description => Str, DestinationRegion => Str, DryRun => Bool, Encrypted => Bool, KmsKeyId => Str, PresignedUrl => Str])
2019              
2020             Each argument is described in detail in: L<Paws::EC2::CopySnapshot>
2021              
2022             Returns: a L<Paws::EC2::CopySnapshotResult> instance
2023              
2024             Copies a point-in-time snapshot of an EBS volume and stores it in
2025             Amazon S3. You can copy the snapshot within the same region or from one
2026             region to another. You can use the snapshot to create EBS volumes or
2027             Amazon Machine Images (AMIs). The snapshot is copied to the regional
2028             endpoint that you send the HTTP request to.
2029              
2030             Copies of encrypted EBS snapshots remain encrypted. Copies of
2031             unencrypted snapshots remain unencrypted, unless the C<Encrypted> flag
2032             is specified during the snapshot copy operation. By default, encrypted
2033             snapshot copies use the default AWS Key Management Service (AWS KMS)
2034             customer master key (CMK); however, you can specify a non-default CMK
2035             with the C<KmsKeyId> parameter.
2036              
2037             To copy an encrypted snapshot that has been shared from another
2038             account, you must have permissions for the CMK used to encrypt the
2039             snapshot.
2040              
2041             Snapshots created by the CopySnapshot action have an arbitrary volume
2042             ID that should not be used for any purpose.
2043              
2044             For more information, see Copying an Amazon EBS Snapshot in the
2045             I<Amazon Elastic Compute Cloud User Guide>.
2046              
2047              
2048             =head2 CreateCustomerGateway(BgpAsn => Int, PublicIp => Str, Type => Str, [DryRun => Bool])
2049              
2050             Each argument is described in detail in: L<Paws::EC2::CreateCustomerGateway>
2051              
2052             Returns: a L<Paws::EC2::CreateCustomerGatewayResult> instance
2053              
2054             Provides information to AWS about your VPN customer gateway device. The
2055             customer gateway is the appliance at your end of the VPN connection.
2056             (The device on the AWS side of the VPN connection is the virtual
2057             private gateway.) You must provide the Internet-routable IP address of
2058             the customer gateway's external interface. The IP address must be
2059             static and may be behind a device performing network address
2060             translation (NAT).
2061              
2062             For devices that use Border Gateway Protocol (BGP), you can also
2063             provide the device's BGP Autonomous System Number (ASN). You can use an
2064             existing ASN assigned to your network. If you don't have an ASN
2065             already, you can use a private ASN (in the 64512 - 65534 range).
2066              
2067             Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534,
2068             with the exception of 7224, which is reserved in the C<us-east-1>
2069             region, and 9059, which is reserved in the C<eu-west-1> region.
2070              
2071             For more information about VPN customer gateways, see Adding a Hardware
2072             Virtual Private Gateway to Your VPC in the I<Amazon Virtual Private
2073             Cloud User Guide>.
2074              
2075             You cannot create more than one customer gateway with the same VPN
2076             type, IP address, and BGP ASN parameter values. If you run an identical
2077             request more than one time, the first request creates the customer
2078             gateway, and subsequent requests return information about the existing
2079             customer gateway. The subsequent requests do not create new customer
2080             gateway resources.
2081              
2082              
2083             =head2 CreateDefaultVpc([DryRun => Bool])
2084              
2085             Each argument is described in detail in: L<Paws::EC2::CreateDefaultVpc>
2086              
2087             Returns: a L<Paws::EC2::CreateDefaultVpcResult> instance
2088              
2089             Creates a default VPC with a size C</16> IPv4 CIDR block and a default
2090             subnet in each Availability Zone. For more information about the
2091             components of a default VPC, see Default VPC and Default Subnets in the
2092             I<Amazon Virtual Private Cloud User Guide>. You cannot specify the
2093             components of the default VPC yourself.
2094              
2095             You can create a default VPC if you deleted your previous default VPC.
2096             You cannot have more than one default VPC per region.
2097              
2098             If your account supports EC2-Classic, you cannot use this action to
2099             create a default VPC in a region that supports EC2-Classic. If you want
2100             a default VPC in a region that supports EC2-Classic, see "I really want
2101             a default VPC for my existing EC2 account. Is that possible?" in the
2102             Default VPCs FAQ.
2103              
2104              
2105             =head2 CreateDhcpOptions(DhcpConfigurations => ArrayRef[L<Paws::EC2::NewDhcpConfiguration>], [DryRun => Bool])
2106              
2107             Each argument is described in detail in: L<Paws::EC2::CreateDhcpOptions>
2108              
2109             Returns: a L<Paws::EC2::CreateDhcpOptionsResult> instance
2110              
2111             Creates a set of DHCP options for your VPC. After creating the set, you
2112             must associate it with the VPC, causing all existing and new instances
2113             that you launch in the VPC to use this set of DHCP options. The
2114             following are the individual DHCP options you can specify. For more
2115             information about the options, see RFC 2132.
2116              
2117             =over
2118              
2119             =item *
2120              
2121             C<domain-name-servers> - The IP addresses of up to four domain name
2122             servers, or AmazonProvidedDNS. The default DHCP option set specifies
2123             AmazonProvidedDNS. If specifying more than one domain name server,
2124             specify the IP addresses in a single parameter, separated by commas. If
2125             you want your instance to receive a custom DNS hostname as specified in
2126             C<domain-name>, you must set C<domain-name-servers> to a custom DNS
2127             server.
2128              
2129             =item *
2130              
2131             C<domain-name> - If you're using AmazonProvidedDNS in C<us-east-1>,
2132             specify C<ec2.internal>. If you're using AmazonProvidedDNS in another
2133             region, specify C<region.compute.internal> (for example,
2134             C<ap-northeast-1.compute.internal>). Otherwise, specify a domain name
2135             (for example, C<MyCompany.com>). This value is used to complete
2136             unqualified DNS hostnames. B<Important>: Some Linux operating systems
2137             accept multiple domain names separated by spaces. However, Windows and
2138             other Linux operating systems treat the value as a single domain, which
2139             results in unexpected behavior. If your DHCP options set is associated
2140             with a VPC that has instances with multiple operating systems, specify
2141             only one domain name.
2142              
2143             =item *
2144              
2145             C<ntp-servers> - The IP addresses of up to four Network Time Protocol
2146             (NTP) servers.
2147              
2148             =item *
2149              
2150             C<netbios-name-servers> - The IP addresses of up to four NetBIOS name
2151             servers.
2152              
2153             =item *
2154              
2155             C<netbios-node-type> - The NetBIOS node type (1, 2, 4, or 8). We
2156             recommend that you specify 2 (broadcast and multicast are not currently
2157             supported). For more information about these node types, see RFC 2132.
2158              
2159             =back
2160              
2161             Your VPC automatically starts out with a set of DHCP options that
2162             includes only a DNS server that we provide (AmazonProvidedDNS). If you
2163             create a set of options, and if your VPC has an Internet gateway, make
2164             sure to set the C<domain-name-servers> option either to
2165             C<AmazonProvidedDNS> or to a domain name server of your choice. For
2166             more information about DHCP options, see DHCP Options Sets in the
2167             I<Amazon Virtual Private Cloud User Guide>.
2168              
2169              
2170             =head2 CreateEgressOnlyInternetGateway(VpcId => Str, [ClientToken => Str, DryRun => Bool])
2171              
2172             Each argument is described in detail in: L<Paws::EC2::CreateEgressOnlyInternetGateway>
2173              
2174             Returns: a L<Paws::EC2::CreateEgressOnlyInternetGatewayResult> instance
2175              
2176             [IPv6 only] Creates an egress-only Internet gateway for your VPC. An
2177             egress-only Internet gateway is used to enable outbound communication
2178             over IPv6 from instances in your VPC to the Internet, and prevents
2179             hosts outside of your VPC from initiating an IPv6 connection with your
2180             instance.
2181              
2182              
2183             =head2 CreateFlowLogs(DeliverLogsPermissionArn => Str, LogGroupName => Str, ResourceIds => ArrayRef[Str|Undef], ResourceType => Str, TrafficType => Str, [ClientToken => Str])
2184              
2185             Each argument is described in detail in: L<Paws::EC2::CreateFlowLogs>
2186              
2187             Returns: a L<Paws::EC2::CreateFlowLogsResult> instance
2188              
2189             Creates one or more flow logs to capture IP traffic for a specific
2190             network interface, subnet, or VPC. Flow logs are delivered to a
2191             specified log group in Amazon CloudWatch Logs. If you specify a VPC or
2192             subnet in the request, a log stream is created in CloudWatch Logs for
2193             each network interface in the subnet or VPC. Log streams can include
2194             information about accepted and rejected traffic to a network interface.
2195             You can view the data in your log streams using Amazon CloudWatch Logs.
2196              
2197             In your request, you must also specify an IAM role that has permission
2198             to publish logs to CloudWatch Logs.
2199              
2200              
2201             =head2 CreateFpgaImage(InputStorageLocation => L<Paws::EC2::StorageLocation>, [ClientToken => Str, Description => Str, DryRun => Bool, LogsStorageLocation => L<Paws::EC2::StorageLocation>, Name => Str])
2202              
2203             Each argument is described in detail in: L<Paws::EC2::CreateFpgaImage>
2204              
2205             Returns: a L<Paws::EC2::CreateFpgaImageResult> instance
2206              
2207             Creates an Amazon FPGA Image (AFI) from the specified design checkpoint
2208             (DCP).
2209              
2210             The create operation is asynchronous. To verify that the AFI is ready
2211             for use, check the output logs.
2212              
2213             An AFI contains the FPGA bitstream that is ready to download to an
2214             FPGA. You can securely deploy an AFI on one or more FPGA-accelerated
2215             instances. For more information, see the AWS FPGA Hardware Development
2216             Kit.
2217              
2218              
2219             =head2 CreateImage(InstanceId => Str, Name => Str, [BlockDeviceMappings => ArrayRef[L<Paws::EC2::BlockDeviceMapping>], Description => Str, DryRun => Bool, NoReboot => Bool])
2220              
2221             Each argument is described in detail in: L<Paws::EC2::CreateImage>
2222              
2223             Returns: a L<Paws::EC2::CreateImageResult> instance
2224              
2225             Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance
2226             that is either running or stopped.
2227              
2228             If you customized your instance with instance store volumes or EBS
2229             volumes in addition to the root device volume, the new AMI contains
2230             block device mapping information for those volumes. When you launch an
2231             instance from this new AMI, the instance automatically launches with
2232             those additional volumes.
2233              
2234             For more information, see Creating Amazon EBS-Backed Linux AMIs in the
2235             I<Amazon Elastic Compute Cloud User Guide>.
2236              
2237              
2238             =head2 CreateInstanceExportTask(InstanceId => Str, [Description => Str, ExportToS3Task => L<Paws::EC2::ExportToS3TaskSpecification>, TargetEnvironment => Str])
2239              
2240             Each argument is described in detail in: L<Paws::EC2::CreateInstanceExportTask>
2241              
2242             Returns: a L<Paws::EC2::CreateInstanceExportTaskResult> instance
2243              
2244             Exports a running or stopped instance to an S3 bucket.
2245              
2246             For information about the supported operating systems, image formats,
2247             and known limitations for the types of instances you can export, see
2248             Exporting an Instance as a VM Using VM Import/Export in the I<VM
2249             Import/Export User Guide>.
2250              
2251              
2252             =head2 CreateInternetGateway([DryRun => Bool])
2253              
2254             Each argument is described in detail in: L<Paws::EC2::CreateInternetGateway>
2255              
2256             Returns: a L<Paws::EC2::CreateInternetGatewayResult> instance
2257              
2258             Creates an Internet gateway for use with a VPC. After creating the
2259             Internet gateway, you attach it to a VPC using AttachInternetGateway.
2260              
2261             For more information about your VPC and Internet gateway, see the
2262             Amazon Virtual Private Cloud User Guide.
2263              
2264              
2265             =head2 CreateKeyPair(KeyName => Str, [DryRun => Bool])
2266              
2267             Each argument is described in detail in: L<Paws::EC2::CreateKeyPair>
2268              
2269             Returns: a L<Paws::EC2::KeyPair> instance
2270              
2271             Creates a 2048-bit RSA key pair with the specified name. Amazon EC2
2272             stores the public key and displays the private key for you to save to a
2273             file. The private key is returned as an unencrypted PEM encoded PKCS#8
2274             private key. If a key with the specified name already exists, Amazon
2275             EC2 returns an error.
2276              
2277             You can have up to five thousand key pairs per region.
2278              
2279             The key pair returned to you is available only in the region in which
2280             you create it. To create a key pair that is available in all regions,
2281             use ImportKeyPair.
2282              
2283             For more information about key pairs, see Key Pairs in the I<Amazon
2284             Elastic Compute Cloud User Guide>.
2285              
2286              
2287             =head2 CreateNatGateway(AllocationId => Str, SubnetId => Str, [ClientToken => Str])
2288              
2289             Each argument is described in detail in: L<Paws::EC2::CreateNatGateway>
2290              
2291             Returns: a L<Paws::EC2::CreateNatGatewayResult> instance
2292              
2293             Creates a NAT gateway in the specified subnet. A NAT gateway can be
2294             used to enable instances in a private subnet to connect to the
2295             Internet. This action creates a network interface in the specified
2296             subnet with a private IP address from the IP address range of the
2297             subnet. For more information, see NAT Gateways in the I<Amazon Virtual
2298             Private Cloud User Guide>.
2299              
2300              
2301             =head2 CreateNetworkAcl(VpcId => Str, [DryRun => Bool])
2302              
2303             Each argument is described in detail in: L<Paws::EC2::CreateNetworkAcl>
2304              
2305             Returns: a L<Paws::EC2::CreateNetworkAclResult> instance
2306              
2307             Creates a network ACL in a VPC. Network ACLs provide an optional layer
2308             of security (in addition to security groups) for the instances in your
2309             VPC.
2310              
2311             For more information about network ACLs, see Network ACLs in the
2312             I<Amazon Virtual Private Cloud User Guide>.
2313              
2314              
2315             =head2 CreateNetworkAclEntry(Egress => Bool, NetworkAclId => Str, Protocol => Str, RuleAction => Str, RuleNumber => Int, [CidrBlock => Str, DryRun => Bool, IcmpTypeCode => L<Paws::EC2::IcmpTypeCode>, Ipv6CidrBlock => Str, PortRange => L<Paws::EC2::PortRange>])
2316              
2317             Each argument is described in detail in: L<Paws::EC2::CreateNetworkAclEntry>
2318              
2319             Returns: nothing
2320              
2321             Creates an entry (a rule) in a network ACL with the specified rule
2322             number. Each network ACL has a set of numbered ingress rules and a
2323             separate set of numbered egress rules. When determining whether a
2324             packet should be allowed in or out of a subnet associated with the ACL,
2325             we process the entries in the ACL according to the rule numbers, in
2326             ascending order. Each network ACL has a set of ingress rules and a
2327             separate set of egress rules.
2328              
2329             We recommend that you leave room between the rule numbers (for example,
2330             100, 110, 120, ...), and not number them one right after the other (for
2331             example, 101, 102, 103, ...). This makes it easier to add a rule
2332             between existing ones without having to renumber the rules.
2333              
2334             After you add an entry, you can't modify it; you must either replace
2335             it, or create an entry and delete the old one.
2336              
2337             For more information about network ACLs, see Network ACLs in the
2338             I<Amazon Virtual Private Cloud User Guide>.
2339              
2340              
2341             =head2 CreateNetworkInterface(SubnetId => Str, [Description => Str, DryRun => Bool, Groups => ArrayRef[Str|Undef], Ipv6AddressCount => Int, Ipv6Addresses => ArrayRef[L<Paws::EC2::InstanceIpv6Address>], PrivateIpAddress => Str, PrivateIpAddresses => ArrayRef[L<Paws::EC2::PrivateIpAddressSpecification>], SecondaryPrivateIpAddressCount => Int])
2342              
2343             Each argument is described in detail in: L<Paws::EC2::CreateNetworkInterface>
2344              
2345             Returns: a L<Paws::EC2::CreateNetworkInterfaceResult> instance
2346              
2347             Creates a network interface in the specified subnet.
2348              
2349             For more information about network interfaces, see Elastic Network
2350             Interfaces in the I<Amazon Virtual Private Cloud User Guide>.
2351              
2352              
2353             =head2 CreateNetworkInterfacePermission(NetworkInterfaceId => Str, Permission => Str, [AwsAccountId => Str, AwsService => Str, DryRun => Bool])
2354              
2355             Each argument is described in detail in: L<Paws::EC2::CreateNetworkInterfacePermission>
2356              
2357             Returns: a L<Paws::EC2::CreateNetworkInterfacePermissionResult> instance
2358              
2359             Grants an AWS authorized partner account permission to attach the
2360             specified network interface to an instance in their account.
2361              
2362             You can grant permission to a single AWS account only, and only one
2363             account at a time.
2364              
2365              
2366             =head2 CreatePlacementGroup(GroupName => Str, Strategy => Str, [DryRun => Bool])
2367              
2368             Each argument is described in detail in: L<Paws::EC2::CreatePlacementGroup>
2369              
2370             Returns: nothing
2371              
2372             Creates a placement group that you launch cluster instances into. Give
2373             the group a name that's unique within the scope of your account.
2374              
2375             For more information about placement groups and cluster instances, see
2376             Cluster Instances in the I<Amazon Elastic Compute Cloud User Guide>.
2377              
2378              
2379             =head2 CreateReservedInstancesListing(ClientToken => Str, InstanceCount => Int, PriceSchedules => ArrayRef[L<Paws::EC2::PriceScheduleSpecification>], ReservedInstancesId => Str)
2380              
2381             Each argument is described in detail in: L<Paws::EC2::CreateReservedInstancesListing>
2382              
2383             Returns: a L<Paws::EC2::CreateReservedInstancesListingResult> instance
2384              
2385             Creates a listing for Amazon EC2 Standard Reserved Instances to be sold
2386             in the Reserved Instance Marketplace. You can submit one Standard
2387             Reserved Instance listing at a time. To get a list of your Standard
2388             Reserved Instances, you can use the DescribeReservedInstances
2389             operation.
2390              
2391             Only Standard Reserved Instances with a capacity reservation can be
2392             sold in the Reserved Instance Marketplace. Convertible Reserved
2393             Instances and Standard Reserved Instances with a regional benefit
2394             cannot be sold.
2395              
2396             The Reserved Instance Marketplace matches sellers who want to resell
2397             Standard Reserved Instance capacity that they no longer need with
2398             buyers who want to purchase additional capacity. Reserved Instances
2399             bought and sold through the Reserved Instance Marketplace work like any
2400             other Reserved Instances.
2401              
2402             To sell your Standard Reserved Instances, you must first register as a
2403             seller in the Reserved Instance Marketplace. After completing the
2404             registration process, you can create a Reserved Instance Marketplace
2405             listing of some or all of your Standard Reserved Instances, and specify
2406             the upfront price to receive for them. Your Standard Reserved Instance
2407             listings then become available for purchase. To view the details of
2408             your Standard Reserved Instance listing, you can use the
2409             DescribeReservedInstancesListings operation.
2410              
2411             For more information, see Reserved Instance Marketplace in the I<Amazon
2412             Elastic Compute Cloud User Guide>.
2413              
2414              
2415             =head2 CreateRoute(RouteTableId => Str, [DestinationCidrBlock => Str, DestinationIpv6CidrBlock => Str, DryRun => Bool, EgressOnlyInternetGatewayId => Str, GatewayId => Str, InstanceId => Str, NatGatewayId => Str, NetworkInterfaceId => Str, VpcPeeringConnectionId => Str])
2416              
2417             Each argument is described in detail in: L<Paws::EC2::CreateRoute>
2418              
2419             Returns: a L<Paws::EC2::CreateRouteResult> instance
2420              
2421             Creates a route in a route table within a VPC.
2422              
2423             You must specify one of the following targets: Internet gateway or
2424             virtual private gateway, NAT instance, NAT gateway, VPC peering
2425             connection, network interface, or egress-only Internet gateway.
2426              
2427             When determining how to route traffic, we use the route with the most
2428             specific match. For example, traffic is destined for the IPv4 address
2429             C<192.0.2.3>, and the route table includes the following two IPv4
2430             routes:
2431              
2432             =over
2433              
2434             =item *
2435              
2436             C<192.0.2.0/24> (goes to some target A)
2437              
2438             =item *
2439              
2440             C<192.0.2.0/28> (goes to some target B)
2441              
2442             =back
2443              
2444             Both routes apply to the traffic destined for C<192.0.2.3>. However,
2445             the second route in the list covers a smaller number of IP addresses
2446             and is therefore more specific, so we use that route to determine where
2447             to target the traffic.
2448              
2449             For more information about route tables, see Route Tables in the
2450             I<Amazon Virtual Private Cloud User Guide>.
2451              
2452              
2453             =head2 CreateRouteTable(VpcId => Str, [DryRun => Bool])
2454              
2455             Each argument is described in detail in: L<Paws::EC2::CreateRouteTable>
2456              
2457             Returns: a L<Paws::EC2::CreateRouteTableResult> instance
2458              
2459             Creates a route table for the specified VPC. After you create a route
2460             table, you can add routes and associate the table with a subnet.
2461              
2462             For more information about route tables, see Route Tables in the
2463             I<Amazon Virtual Private Cloud User Guide>.
2464              
2465              
2466             =head2 CreateSecurityGroup(Description => Str, GroupName => Str, [DryRun => Bool, VpcId => Str])
2467              
2468             Each argument is described in detail in: L<Paws::EC2::CreateSecurityGroup>
2469              
2470             Returns: a L<Paws::EC2::CreateSecurityGroupResult> instance
2471              
2472             Creates a security group.
2473              
2474             A security group is for use with instances either in the EC2-Classic
2475             platform or in a specific VPC. For more information, see Amazon EC2
2476             Security Groups in the I<Amazon Elastic Compute Cloud User Guide> and
2477             Security Groups for Your VPC in the I<Amazon Virtual Private Cloud User
2478             Guide>.
2479              
2480             EC2-Classic: You can have up to 500 security groups.
2481              
2482             EC2-VPC: You can create up to 500 security groups per VPC.
2483              
2484             When you create a security group, you specify a friendly name of your
2485             choice. You can have a security group for use in EC2-Classic with the
2486             same name as a security group for use in a VPC. However, you can't have
2487             two security groups for use in EC2-Classic with the same name or two
2488             security groups for use in a VPC with the same name.
2489              
2490             You have a default security group for use in EC2-Classic and a default
2491             security group for use in your VPC. If you don't specify a security
2492             group when you launch an instance, the instance is launched into the
2493             appropriate default security group. A default security group includes a
2494             default rule that grants instances unrestricted network access to each
2495             other.
2496              
2497             You can add or remove rules from your security groups using
2498             AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress,
2499             RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
2500              
2501              
2502             =head2 CreateSnapshot(VolumeId => Str, [Description => Str, DryRun => Bool])
2503              
2504             Each argument is described in detail in: L<Paws::EC2::CreateSnapshot>
2505              
2506             Returns: a L<Paws::EC2::Snapshot> instance
2507              
2508             Creates a snapshot of an EBS volume and stores it in Amazon S3. You can
2509             use snapshots for backups, to make copies of EBS volumes, and to save
2510             data before shutting down an instance.
2511              
2512             When a snapshot is created, any AWS Marketplace product codes that are
2513             associated with the source volume are propagated to the snapshot.
2514              
2515             You can take a snapshot of an attached volume that is in use. However,
2516             snapshots only capture data that has been written to your EBS volume at
2517             the time the snapshot command is issued; this may exclude any data that
2518             has been cached by any applications or the operating system. If you can
2519             pause any file systems on the volume long enough to take a snapshot,
2520             your snapshot should be complete. However, if you cannot pause all file
2521             writes to the volume, you should unmount the volume from within the
2522             instance, issue the snapshot command, and then remount the volume to
2523             ensure a consistent and complete snapshot. You may remount and use your
2524             volume while the snapshot status is C<pending>.
2525              
2526             To create a snapshot for EBS volumes that serve as root devices, you
2527             should stop the instance before taking the snapshot.
2528              
2529             Snapshots that are taken from encrypted volumes are automatically
2530             encrypted. Volumes that are created from encrypted snapshots are also
2531             automatically encrypted. Your encrypted volumes and any associated
2532             snapshots always remain protected.
2533              
2534             For more information, see Amazon Elastic Block Store and Amazon EBS
2535             Encryption in the I<Amazon Elastic Compute Cloud User Guide>.
2536              
2537              
2538             =head2 CreateSpotDatafeedSubscription(Bucket => Str, [DryRun => Bool, Prefix => Str])
2539              
2540             Each argument is described in detail in: L<Paws::EC2::CreateSpotDatafeedSubscription>
2541              
2542             Returns: a L<Paws::EC2::CreateSpotDatafeedSubscriptionResult> instance
2543              
2544             Creates a data feed for Spot instances, enabling you to view Spot
2545             instance usage logs. You can create one data feed per AWS account. For
2546             more information, see Spot Instance Data Feed in the I<Amazon Elastic
2547             Compute Cloud User Guide>.
2548              
2549              
2550             =head2 CreateSubnet(CidrBlock => Str, VpcId => Str, [AvailabilityZone => Str, DryRun => Bool, Ipv6CidrBlock => Str])
2551              
2552             Each argument is described in detail in: L<Paws::EC2::CreateSubnet>
2553              
2554             Returns: a L<Paws::EC2::CreateSubnetResult> instance
2555              
2556             Creates a subnet in an existing VPC.
2557              
2558             When you create each subnet, you provide the VPC ID and the IPv4 CIDR
2559             block you want for the subnet. After you create a subnet, you can't
2560             change its CIDR block. The size of the subnet's IPv4 CIDR block can be
2561             the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR
2562             block. If you create more than one subnet in a VPC, the subnets' CIDR
2563             blocks must not overlap. The smallest IPv4 subnet (and VPC) you can
2564             create uses a /28 netmask (16 IPv4 addresses), and the largest uses a
2565             /16 netmask (65,536 IPv4 addresses).
2566              
2567             If you've associated an IPv6 CIDR block with your VPC, you can create a
2568             subnet with an IPv6 CIDR block that uses a /64 prefix length.
2569              
2570             AWS reserves both the first four and the last IPv4 address in each
2571             subnet's CIDR block. They're not available for use.
2572              
2573             If you add more than one subnet to a VPC, they're set up in a star
2574             topology with a logical router in the middle.
2575              
2576             If you launch an instance in a VPC using an Amazon EBS-backed AMI, the
2577             IP address doesn't change if you stop and restart the instance (unlike
2578             a similar instance launched outside a VPC, which gets a new IP address
2579             when restarted). It's therefore possible to have a subnet with no
2580             running instances (they're all stopped), but no remaining IP addresses
2581             available.
2582              
2583             For more information about subnets, see Your VPC and Subnets in the
2584             I<Amazon Virtual Private Cloud User Guide>.
2585              
2586              
2587             =head2 CreateTags(Resources => ArrayRef[Str|Undef], Tags => ArrayRef[L<Paws::EC2::Tag>], [DryRun => Bool])
2588              
2589             Each argument is described in detail in: L<Paws::EC2::CreateTags>
2590              
2591             Returns: nothing
2592              
2593             Adds or overwrites one or more tags for the specified Amazon EC2
2594             resource or resources. Each resource can have a maximum of 50 tags.
2595             Each tag consists of a key and optional value. Tag keys must be unique
2596             per resource.
2597              
2598             For more information about tags, see Tagging Your Resources in the
2599             I<Amazon Elastic Compute Cloud User Guide>. For more information about
2600             creating IAM policies that control users' access to resources based on
2601             tags, see Supported Resource-Level Permissions for Amazon EC2 API
2602             Actions in the I<Amazon Elastic Compute Cloud User Guide>.
2603              
2604              
2605             =head2 CreateVolume(AvailabilityZone => Str, [DryRun => Bool, Encrypted => Bool, Iops => Int, KmsKeyId => Str, Size => Int, SnapshotId => Str, TagSpecifications => ArrayRef[L<Paws::EC2::TagSpecification>], VolumeType => Str])
2606              
2607             Each argument is described in detail in: L<Paws::EC2::CreateVolume>
2608              
2609             Returns: a L<Paws::EC2::Volume> instance
2610              
2611             Creates an EBS volume that can be attached to an instance in the same
2612             Availability Zone. The volume is created in the regional endpoint that
2613             you send the HTTP request to. For more information see Regions and
2614             Endpoints.
2615              
2616             You can create a new empty volume or restore a volume from an EBS
2617             snapshot. Any AWS Marketplace product codes from the snapshot are
2618             propagated to the volume.
2619              
2620             You can create encrypted volumes with the C<Encrypted> parameter.
2621             Encrypted volumes may only be attached to instances that support Amazon
2622             EBS encryption. Volumes that are created from encrypted snapshots are
2623             also automatically encrypted. For more information, see Amazon EBS
2624             Encryption in the I<Amazon Elastic Compute Cloud User Guide>.
2625              
2626             You can tag your volumes during creation. For more information, see
2627             Tagging Your Amazon EC2 Resources.
2628              
2629             For more information, see Creating an Amazon EBS Volume in the I<Amazon
2630             Elastic Compute Cloud User Guide>.
2631              
2632              
2633             =head2 CreateVpc(CidrBlock => Str, [AmazonProvidedIpv6CidrBlock => Bool, DryRun => Bool, InstanceTenancy => Str])
2634              
2635             Each argument is described in detail in: L<Paws::EC2::CreateVpc>
2636              
2637             Returns: a L<Paws::EC2::CreateVpcResult> instance
2638              
2639             Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you
2640             can create uses a /28 netmask (16 IPv4 addresses), and the largest uses
2641             a /16 netmask (65,536 IPv4 addresses). To help you decide how big to
2642             make your VPC, see Your VPC and Subnets in the I<Amazon Virtual Private
2643             Cloud User Guide>.
2644              
2645             You can optionally request an Amazon-provided IPv6 CIDR block for the
2646             VPC. The IPv6 CIDR block uses a /56 prefix length, and is allocated
2647             from Amazon's pool of IPv6 addresses. You cannot choose the IPv6 range
2648             for your VPC.
2649              
2650             By default, each instance you launch in the VPC has the default DHCP
2651             options, which includes only a default DNS server that we provide
2652             (AmazonProvidedDNS). For more information about DHCP options, see DHCP
2653             Options Sets in the I<Amazon Virtual Private Cloud User Guide>.
2654              
2655             You can specify the instance tenancy value for the VPC when you create
2656             it. You can't change this value for the VPC after you create it. For
2657             more information, see Dedicated Instances in the I<Amazon Elastic
2658             Compute Cloud User Guide>.
2659              
2660              
2661             =head2 CreateVpcEndpoint(ServiceName => Str, VpcId => Str, [ClientToken => Str, DryRun => Bool, PolicyDocument => Str, RouteTableIds => ArrayRef[Str|Undef]])
2662              
2663             Each argument is described in detail in: L<Paws::EC2::CreateVpcEndpoint>
2664              
2665             Returns: a L<Paws::EC2::CreateVpcEndpointResult> instance
2666              
2667             Creates a VPC endpoint for a specified AWS service. An endpoint enables
2668             you to create a private connection between your VPC and another AWS
2669             service in your account. You can specify an endpoint policy to attach
2670             to the endpoint that will control access to the service from your VPC.
2671             You can also specify the VPC route tables that use the endpoint.
2672              
2673             Use DescribeVpcEndpointServices to get a list of supported AWS
2674             services.
2675              
2676              
2677             =head2 CreateVpcPeeringConnection([DryRun => Bool, PeerOwnerId => Str, PeerVpcId => Str, VpcId => Str])
2678              
2679             Each argument is described in detail in: L<Paws::EC2::CreateVpcPeeringConnection>
2680              
2681             Returns: a L<Paws::EC2::CreateVpcPeeringConnectionResult> instance
2682              
2683             Requests a VPC peering connection between two VPCs: a requester VPC
2684             that you own and a peer VPC with which to create the connection. The
2685             peer VPC can belong to another AWS account. The requester VPC and peer
2686             VPC cannot have overlapping CIDR blocks.
2687              
2688             The owner of the peer VPC must accept the peering request to activate
2689             the peering connection. The VPC peering connection request expires
2690             after 7 days, after which it cannot be accepted or rejected.
2691              
2692             If you try to create a VPC peering connection between VPCs that have
2693             overlapping CIDR blocks, the VPC peering connection status goes to
2694             C<failed>.
2695              
2696              
2697             =head2 CreateVpnConnection(CustomerGatewayId => Str, Type => Str, VpnGatewayId => Str, [DryRun => Bool, Options => L<Paws::EC2::VpnConnectionOptionsSpecification>])
2698              
2699             Each argument is described in detail in: L<Paws::EC2::CreateVpnConnection>
2700              
2701             Returns: a L<Paws::EC2::CreateVpnConnectionResult> instance
2702              
2703             Creates a VPN connection between an existing virtual private gateway
2704             and a VPN customer gateway. The only supported connection type is
2705             C<ipsec.1>.
2706              
2707             The response includes information that you need to give to your network
2708             administrator to configure your customer gateway.
2709              
2710             We strongly recommend that you use HTTPS when calling this operation
2711             because the response contains sensitive cryptographic information for
2712             configuring your customer gateway.
2713              
2714             If you decide to shut down your VPN connection for any reason and later
2715             create a new VPN connection, you must reconfigure your customer gateway
2716             with the new information returned from this call.
2717              
2718             This is an idempotent operation. If you perform the operation more than
2719             once, Amazon EC2 doesn't return an error.
2720              
2721             For more information, see AWS Managed VPN Connections in the I<Amazon
2722             Virtual Private Cloud User Guide>.
2723              
2724              
2725             =head2 CreateVpnConnectionRoute(DestinationCidrBlock => Str, VpnConnectionId => Str)
2726              
2727             Each argument is described in detail in: L<Paws::EC2::CreateVpnConnectionRoute>
2728              
2729             Returns: nothing
2730              
2731             Creates a static route associated with a VPN connection between an
2732             existing virtual private gateway and a VPN customer gateway. The static
2733             route allows traffic to be routed from the virtual private gateway to
2734             the VPN customer gateway.
2735              
2736             For more information about VPN connections, see Adding a Hardware
2737             Virtual Private Gateway to Your VPC in the I<Amazon Virtual Private
2738             Cloud User Guide>.
2739              
2740              
2741             =head2 CreateVpnGateway(Type => Str, [AvailabilityZone => Str, DryRun => Bool])
2742              
2743             Each argument is described in detail in: L<Paws::EC2::CreateVpnGateway>
2744              
2745             Returns: a L<Paws::EC2::CreateVpnGatewayResult> instance
2746              
2747             Creates a virtual private gateway. A virtual private gateway is the
2748             endpoint on the VPC side of your VPN connection. You can create a
2749             virtual private gateway before creating the VPC itself.
2750              
2751             For more information about virtual private gateways, see Adding a
2752             Hardware Virtual Private Gateway to Your VPC in the I<Amazon Virtual
2753             Private Cloud User Guide>.
2754              
2755              
2756             =head2 DeleteCustomerGateway(CustomerGatewayId => Str, [DryRun => Bool])
2757              
2758             Each argument is described in detail in: L<Paws::EC2::DeleteCustomerGateway>
2759              
2760             Returns: nothing
2761              
2762             Deletes the specified customer gateway. You must delete the VPN
2763             connection before you can delete the customer gateway.
2764              
2765              
2766             =head2 DeleteDhcpOptions(DhcpOptionsId => Str, [DryRun => Bool])
2767              
2768             Each argument is described in detail in: L<Paws::EC2::DeleteDhcpOptions>
2769              
2770             Returns: nothing
2771              
2772             Deletes the specified set of DHCP options. You must disassociate the
2773             set of DHCP options before you can delete it. You can disassociate the
2774             set of DHCP options by associating either a new set of options or the
2775             default set of options with the VPC.
2776              
2777              
2778             =head2 DeleteEgressOnlyInternetGateway(EgressOnlyInternetGatewayId => Str, [DryRun => Bool])
2779              
2780             Each argument is described in detail in: L<Paws::EC2::DeleteEgressOnlyInternetGateway>
2781              
2782             Returns: a L<Paws::EC2::DeleteEgressOnlyInternetGatewayResult> instance
2783              
2784             Deletes an egress-only Internet gateway.
2785              
2786              
2787             =head2 DeleteFlowLogs(FlowLogIds => ArrayRef[Str|Undef])
2788              
2789             Each argument is described in detail in: L<Paws::EC2::DeleteFlowLogs>
2790              
2791             Returns: a L<Paws::EC2::DeleteFlowLogsResult> instance
2792              
2793             Deletes one or more flow logs.
2794              
2795              
2796             =head2 DeleteFpgaImage(FpgaImageId => Str, [DryRun => Bool])
2797              
2798             Each argument is described in detail in: L<Paws::EC2::DeleteFpgaImage>
2799              
2800             Returns: a L<Paws::EC2::DeleteFpgaImageResult> instance
2801              
2802             Deletes the specified Amazon FPGA Image (AFI).
2803              
2804              
2805             =head2 DeleteInternetGateway(InternetGatewayId => Str, [DryRun => Bool])
2806              
2807             Each argument is described in detail in: L<Paws::EC2::DeleteInternetGateway>
2808              
2809             Returns: nothing
2810              
2811             Deletes the specified Internet gateway. You must detach the Internet
2812             gateway from the VPC before you can delete it.
2813              
2814              
2815             =head2 DeleteKeyPair(KeyName => Str, [DryRun => Bool])
2816              
2817             Each argument is described in detail in: L<Paws::EC2::DeleteKeyPair>
2818              
2819             Returns: nothing
2820              
2821             Deletes the specified key pair, by removing the public key from Amazon
2822             EC2.
2823              
2824              
2825             =head2 DeleteNatGateway(NatGatewayId => Str)
2826              
2827             Each argument is described in detail in: L<Paws::EC2::DeleteNatGateway>
2828              
2829             Returns: a L<Paws::EC2::DeleteNatGatewayResult> instance
2830              
2831             Deletes the specified NAT gateway. Deleting a NAT gateway disassociates
2832             its Elastic IP address, but does not release the address from your
2833             account. Deleting a NAT gateway does not delete any NAT gateway routes
2834             in your route tables.
2835              
2836              
2837             =head2 DeleteNetworkAcl(NetworkAclId => Str, [DryRun => Bool])
2838              
2839             Each argument is described in detail in: L<Paws::EC2::DeleteNetworkAcl>
2840              
2841             Returns: nothing
2842              
2843             Deletes the specified network ACL. You can't delete the ACL if it's
2844             associated with any subnets. You can't delete the default network ACL.
2845              
2846              
2847             =head2 DeleteNetworkAclEntry(Egress => Bool, NetworkAclId => Str, RuleNumber => Int, [DryRun => Bool])
2848              
2849             Each argument is described in detail in: L<Paws::EC2::DeleteNetworkAclEntry>
2850              
2851             Returns: nothing
2852              
2853             Deletes the specified ingress or egress entry (rule) from the specified
2854             network ACL.
2855              
2856              
2857             =head2 DeleteNetworkInterface(NetworkInterfaceId => Str, [DryRun => Bool])
2858              
2859             Each argument is described in detail in: L<Paws::EC2::DeleteNetworkInterface>
2860              
2861             Returns: nothing
2862              
2863             Deletes the specified network interface. You must detach the network
2864             interface before you can delete it.
2865              
2866              
2867             =head2 DeleteNetworkInterfacePermission(NetworkInterfacePermissionId => Str, [DryRun => Bool, Force => Bool])
2868              
2869             Each argument is described in detail in: L<Paws::EC2::DeleteNetworkInterfacePermission>
2870              
2871             Returns: a L<Paws::EC2::DeleteNetworkInterfacePermissionResult> instance
2872              
2873             Deletes a permission for a network interface. By default, you cannot
2874             delete the permission if the account for which you're removing the
2875             permission has attached the network interface to an instance. However,
2876             you can force delete the permission, regardless of any attachment.
2877              
2878              
2879             =head2 DeletePlacementGroup(GroupName => Str, [DryRun => Bool])
2880              
2881             Each argument is described in detail in: L<Paws::EC2::DeletePlacementGroup>
2882              
2883             Returns: nothing
2884              
2885             Deletes the specified placement group. You must terminate all instances
2886             in the placement group before you can delete the placement group. For
2887             more information about placement groups and cluster instances, see
2888             Cluster Instances in the I<Amazon Elastic Compute Cloud User Guide>.
2889              
2890              
2891             =head2 DeleteRoute(RouteTableId => Str, [DestinationCidrBlock => Str, DestinationIpv6CidrBlock => Str, DryRun => Bool])
2892              
2893             Each argument is described in detail in: L<Paws::EC2::DeleteRoute>
2894              
2895             Returns: nothing
2896              
2897             Deletes the specified route from the specified route table.
2898              
2899              
2900             =head2 DeleteRouteTable(RouteTableId => Str, [DryRun => Bool])
2901              
2902             Each argument is described in detail in: L<Paws::EC2::DeleteRouteTable>
2903              
2904             Returns: nothing
2905              
2906             Deletes the specified route table. You must disassociate the route
2907             table from any subnets before you can delete it. You can't delete the
2908             main route table.
2909              
2910              
2911             =head2 DeleteSecurityGroup([DryRun => Bool, GroupId => Str, GroupName => Str])
2912              
2913             Each argument is described in detail in: L<Paws::EC2::DeleteSecurityGroup>
2914              
2915             Returns: nothing
2916              
2917             Deletes a security group.
2918              
2919             If you attempt to delete a security group that is associated with an
2920             instance, or is referenced by another security group, the operation
2921             fails with C<InvalidGroup.InUse> in EC2-Classic or
2922             C<DependencyViolation> in EC2-VPC.
2923              
2924              
2925             =head2 DeleteSnapshot(SnapshotId => Str, [DryRun => Bool])
2926              
2927             Each argument is described in detail in: L<Paws::EC2::DeleteSnapshot>
2928              
2929             Returns: nothing
2930              
2931             Deletes the specified snapshot.
2932              
2933             When you make periodic snapshots of a volume, the snapshots are
2934             incremental, and only the blocks on the device that have changed since
2935             your last snapshot are saved in the new snapshot. When you delete a
2936             snapshot, only the data not needed for any other snapshot is removed.
2937             So regardless of which prior snapshots have been deleted, all active
2938             snapshots will have access to all the information needed to restore the
2939             volume.
2940              
2941             You cannot delete a snapshot of the root device of an EBS volume used
2942             by a registered AMI. You must first de-register the AMI before you can
2943             delete the snapshot.
2944              
2945             For more information, see Deleting an Amazon EBS Snapshot in the
2946             I<Amazon Elastic Compute Cloud User Guide>.
2947              
2948              
2949             =head2 DeleteSpotDatafeedSubscription([DryRun => Bool])
2950              
2951             Each argument is described in detail in: L<Paws::EC2::DeleteSpotDatafeedSubscription>
2952              
2953             Returns: nothing
2954              
2955             Deletes the data feed for Spot instances.
2956              
2957              
2958             =head2 DeleteSubnet(SubnetId => Str, [DryRun => Bool])
2959              
2960             Each argument is described in detail in: L<Paws::EC2::DeleteSubnet>
2961              
2962             Returns: nothing
2963              
2964             Deletes the specified subnet. You must terminate all running instances
2965             in the subnet before you can delete the subnet.
2966              
2967              
2968             =head2 DeleteTags(Resources => ArrayRef[Str|Undef], [DryRun => Bool, Tags => ArrayRef[L<Paws::EC2::Tag>]])
2969              
2970             Each argument is described in detail in: L<Paws::EC2::DeleteTags>
2971              
2972             Returns: nothing
2973              
2974             Deletes the specified set of tags from the specified set of resources.
2975              
2976             To list the current tags, use DescribeTags. For more information about
2977             tags, see Tagging Your Resources in the I<Amazon Elastic Compute Cloud
2978             User Guide>.
2979              
2980              
2981             =head2 DeleteVolume(VolumeId => Str, [DryRun => Bool])
2982              
2983             Each argument is described in detail in: L<Paws::EC2::DeleteVolume>
2984              
2985             Returns: nothing
2986              
2987             Deletes the specified EBS volume. The volume must be in the
2988             C<available> state (not attached to an instance).
2989              
2990             The volume may remain in the C<deleting> state for several minutes.
2991              
2992             For more information, see Deleting an Amazon EBS Volume in the I<Amazon
2993             Elastic Compute Cloud User Guide>.
2994              
2995              
2996             =head2 DeleteVpc(VpcId => Str, [DryRun => Bool])
2997              
2998             Each argument is described in detail in: L<Paws::EC2::DeleteVpc>
2999              
3000             Returns: nothing
3001              
3002             Deletes the specified VPC. You must detach or delete all gateways and
3003             resources that are associated with the VPC before you can delete it.
3004             For example, you must terminate all instances running in the VPC,
3005             delete all security groups associated with the VPC (except the default
3006             one), delete all route tables associated with the VPC (except the
3007             default one), and so on.
3008              
3009              
3010             =head2 DeleteVpcEndpoints(VpcEndpointIds => ArrayRef[Str|Undef], [DryRun => Bool])
3011              
3012             Each argument is described in detail in: L<Paws::EC2::DeleteVpcEndpoints>
3013              
3014             Returns: a L<Paws::EC2::DeleteVpcEndpointsResult> instance
3015              
3016             Deletes one or more specified VPC endpoints. Deleting the endpoint also
3017             deletes the endpoint routes in the route tables that were associated
3018             with the endpoint.
3019              
3020              
3021             =head2 DeleteVpcPeeringConnection(VpcPeeringConnectionId => Str, [DryRun => Bool])
3022              
3023             Each argument is described in detail in: L<Paws::EC2::DeleteVpcPeeringConnection>
3024              
3025             Returns: a L<Paws::EC2::DeleteVpcPeeringConnectionResult> instance
3026              
3027             Deletes a VPC peering connection. Either the owner of the requester VPC
3028             or the owner of the peer VPC can delete the VPC peering connection if
3029             it's in the C<active> state. The owner of the requester VPC can delete
3030             a VPC peering connection in the C<pending-acceptance> state.
3031              
3032              
3033             =head2 DeleteVpnConnection(VpnConnectionId => Str, [DryRun => Bool])
3034              
3035             Each argument is described in detail in: L<Paws::EC2::DeleteVpnConnection>
3036              
3037             Returns: nothing
3038              
3039             Deletes the specified VPN connection.
3040              
3041             If you're deleting the VPC and its associated components, we recommend
3042             that you detach the virtual private gateway from the VPC and delete the
3043             VPC before deleting the VPN connection. If you believe that the tunnel
3044             credentials for your VPN connection have been compromised, you can
3045             delete the VPN connection and create a new one that has new keys,
3046             without needing to delete the VPC or virtual private gateway. If you
3047             create a new VPN connection, you must reconfigure the customer gateway
3048             using the new configuration information returned with the new VPN
3049             connection ID.
3050              
3051              
3052             =head2 DeleteVpnConnectionRoute(DestinationCidrBlock => Str, VpnConnectionId => Str)
3053              
3054             Each argument is described in detail in: L<Paws::EC2::DeleteVpnConnectionRoute>
3055              
3056             Returns: nothing
3057              
3058             Deletes the specified static route associated with a VPN connection
3059             between an existing virtual private gateway and a VPN customer gateway.
3060             The static route allows traffic to be routed from the virtual private
3061             gateway to the VPN customer gateway.
3062              
3063              
3064             =head2 DeleteVpnGateway(VpnGatewayId => Str, [DryRun => Bool])
3065              
3066             Each argument is described in detail in: L<Paws::EC2::DeleteVpnGateway>
3067              
3068             Returns: nothing
3069              
3070             Deletes the specified virtual private gateway. We recommend that before
3071             you delete a virtual private gateway, you detach it from the VPC and
3072             delete the VPN connection. Note that you don't need to delete the
3073             virtual private gateway if you plan to delete and recreate the VPN
3074             connection between your VPC and your network.
3075              
3076              
3077             =head2 DeregisterImage(ImageId => Str, [DryRun => Bool])
3078              
3079             Each argument is described in detail in: L<Paws::EC2::DeregisterImage>
3080              
3081             Returns: nothing
3082              
3083             Deregisters the specified AMI. After you deregister an AMI, it can't be
3084             used to launch new instances; however, it doesn't affect any instances
3085             that you've already launched from the AMI. You'll continue to incur
3086             usage costs for those instances until you terminate them.
3087              
3088             When you deregister an Amazon EBS-backed AMI, it doesn't affect the
3089             snapshot that was created for the root volume of the instance during
3090             the AMI creation process. When you deregister an instance store-backed
3091             AMI, it doesn't affect the files that you uploaded to Amazon S3 when
3092             you created the AMI.
3093              
3094              
3095             =head2 DescribeAccountAttributes([AttributeNames => ArrayRef[Str|Undef], DryRun => Bool])
3096              
3097             Each argument is described in detail in: L<Paws::EC2::DescribeAccountAttributes>
3098              
3099             Returns: a L<Paws::EC2::DescribeAccountAttributesResult> instance
3100              
3101             Describes attributes of your AWS account. The following are the
3102             supported account attributes:
3103              
3104             =over
3105              
3106             =item *
3107              
3108             C<supported-platforms>: Indicates whether your account can launch
3109             instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.
3110              
3111             =item *
3112              
3113             C<default-vpc>: The ID of the default VPC for your account, or C<none>.
3114              
3115             =item *
3116              
3117             C<max-instances>: The maximum number of On-Demand instances that you
3118             can run.
3119              
3120             =item *
3121              
3122             C<vpc-max-security-groups-per-interface>: The maximum number of
3123             security groups that you can assign to a network interface.
3124              
3125             =item *
3126              
3127             C<max-elastic-ips>: The maximum number of Elastic IP addresses that you
3128             can allocate for use with EC2-Classic.
3129              
3130             =item *
3131              
3132             C<vpc-max-elastic-ips>: The maximum number of Elastic IP addresses that
3133             you can allocate for use with EC2-VPC.
3134              
3135             =back
3136              
3137              
3138              
3139             =head2 DescribeAddresses([AllocationIds => ArrayRef[Str|Undef], DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], PublicIps => ArrayRef[Str|Undef]])
3140              
3141             Each argument is described in detail in: L<Paws::EC2::DescribeAddresses>
3142              
3143             Returns: a L<Paws::EC2::DescribeAddressesResult> instance
3144              
3145             Describes one or more of your Elastic IP addresses.
3146              
3147             An Elastic IP address is for use in either the EC2-Classic platform or
3148             in a VPC. For more information, see Elastic IP Addresses in the
3149             I<Amazon Elastic Compute Cloud User Guide>.
3150              
3151              
3152             =head2 DescribeAvailabilityZones([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], ZoneNames => ArrayRef[Str|Undef]])
3153              
3154             Each argument is described in detail in: L<Paws::EC2::DescribeAvailabilityZones>
3155              
3156             Returns: a L<Paws::EC2::DescribeAvailabilityZonesResult> instance
3157              
3158             Describes one or more of the Availability Zones that are available to
3159             you. The results include zones only for the region you're currently
3160             using. If there is an event impacting an Availability Zone, you can use
3161             this request to view the state and any provided message for that
3162             Availability Zone.
3163              
3164             For more information, see Regions and Availability Zones in the
3165             I<Amazon Elastic Compute Cloud User Guide>.
3166              
3167              
3168             =head2 DescribeBundleTasks([BundleIds => ArrayRef[Str|Undef], DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>]])
3169              
3170             Each argument is described in detail in: L<Paws::EC2::DescribeBundleTasks>
3171              
3172             Returns: a L<Paws::EC2::DescribeBundleTasksResult> instance
3173              
3174             Describes one or more of your bundling tasks.
3175              
3176             Completed bundle tasks are listed for only a limited time. If your
3177             bundle task is no longer in the list, you can still register an AMI
3178             from it. Just use C<RegisterImage> with the Amazon S3 bucket name and
3179             image manifest name you provided to the bundle task.
3180              
3181              
3182             =head2 DescribeClassicLinkInstances([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3183              
3184             Each argument is described in detail in: L<Paws::EC2::DescribeClassicLinkInstances>
3185              
3186             Returns: a L<Paws::EC2::DescribeClassicLinkInstancesResult> instance
3187              
3188             Describes one or more of your linked EC2-Classic instances. This
3189             request only returns information about EC2-Classic instances linked to
3190             a VPC through ClassicLink; you cannot use this request to return
3191             information about other instances.
3192              
3193              
3194             =head2 DescribeConversionTasks([ConversionTaskIds => ArrayRef[Str|Undef], DryRun => Bool])
3195              
3196             Each argument is described in detail in: L<Paws::EC2::DescribeConversionTasks>
3197              
3198             Returns: a L<Paws::EC2::DescribeConversionTasksResult> instance
3199              
3200             Describes one or more of your conversion tasks. For more information,
3201             see the VM Import/Export User Guide.
3202              
3203             For information about the import manifest referenced by this API
3204             action, see VM Import Manifest.
3205              
3206              
3207             =head2 DescribeCustomerGateways([CustomerGatewayIds => ArrayRef[Str|Undef], DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>]])
3208              
3209             Each argument is described in detail in: L<Paws::EC2::DescribeCustomerGateways>
3210              
3211             Returns: a L<Paws::EC2::DescribeCustomerGatewaysResult> instance
3212              
3213             Describes one or more of your VPN customer gateways.
3214              
3215             For more information about VPN customer gateways, see Adding a Hardware
3216             Virtual Private Gateway to Your VPC in the I<Amazon Virtual Private
3217             Cloud User Guide>.
3218              
3219              
3220             =head2 DescribeDhcpOptions([DhcpOptionsIds => ArrayRef[Str|Undef], DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>]])
3221              
3222             Each argument is described in detail in: L<Paws::EC2::DescribeDhcpOptions>
3223              
3224             Returns: a L<Paws::EC2::DescribeDhcpOptionsResult> instance
3225              
3226             Describes one or more of your DHCP options sets.
3227              
3228             For more information about DHCP options sets, see DHCP Options Sets in
3229             the I<Amazon Virtual Private Cloud User Guide>.
3230              
3231              
3232             =head2 DescribeEgressOnlyInternetGateways([DryRun => Bool, EgressOnlyInternetGatewayIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3233              
3234             Each argument is described in detail in: L<Paws::EC2::DescribeEgressOnlyInternetGateways>
3235              
3236             Returns: a L<Paws::EC2::DescribeEgressOnlyInternetGatewaysResult> instance
3237              
3238             Describes one or more of your egress-only Internet gateways.
3239              
3240              
3241             =head2 DescribeElasticGpus([DryRun => Bool, ElasticGpuIds => ArrayRef[Str|Undef], Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str])
3242              
3243             Each argument is described in detail in: L<Paws::EC2::DescribeElasticGpus>
3244              
3245             Returns: a L<Paws::EC2::DescribeElasticGpusResult> instance
3246              
3247             Describes the Elastic GPUs associated with your instances. For more
3248             information about Elastic GPUs, see Amazon EC2 Elastic GPUs.
3249              
3250              
3251             =head2 DescribeExportTasks([ExportTaskIds => ArrayRef[Str|Undef]])
3252              
3253             Each argument is described in detail in: L<Paws::EC2::DescribeExportTasks>
3254              
3255             Returns: a L<Paws::EC2::DescribeExportTasksResult> instance
3256              
3257             Describes one or more of your export tasks.
3258              
3259              
3260             =head2 DescribeFlowLogs([Filter => ArrayRef[L<Paws::EC2::Filter>], FlowLogIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3261              
3262             Each argument is described in detail in: L<Paws::EC2::DescribeFlowLogs>
3263              
3264             Returns: a L<Paws::EC2::DescribeFlowLogsResult> instance
3265              
3266             Describes one or more flow logs. To view the information in your flow
3267             logs (the log streams for the network interfaces), you must use the
3268             CloudWatch Logs console or the CloudWatch Logs API.
3269              
3270              
3271             =head2 DescribeFpgaImageAttribute(Attribute => Str, FpgaImageId => Str, [DryRun => Bool])
3272              
3273             Each argument is described in detail in: L<Paws::EC2::DescribeFpgaImageAttribute>
3274              
3275             Returns: a L<Paws::EC2::DescribeFpgaImageAttributeResult> instance
3276              
3277             Describes the specified attribute of the specified Amazon FPGA Image
3278             (AFI).
3279              
3280              
3281             =head2 DescribeFpgaImages([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], FpgaImageIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str, Owners => ArrayRef[Str|Undef]])
3282              
3283             Each argument is described in detail in: L<Paws::EC2::DescribeFpgaImages>
3284              
3285             Returns: a L<Paws::EC2::DescribeFpgaImagesResult> instance
3286              
3287             Describes one or more available Amazon FPGA Images (AFIs). These
3288             include public AFIs, private AFIs that you own, and AFIs owned by other
3289             AWS accounts for which you have load permissions.
3290              
3291              
3292             =head2 DescribeHostReservationOfferings([Filter => ArrayRef[L<Paws::EC2::Filter>], MaxDuration => Int, MaxResults => Int, MinDuration => Int, NextToken => Str, OfferingId => Str])
3293              
3294             Each argument is described in detail in: L<Paws::EC2::DescribeHostReservationOfferings>
3295              
3296             Returns: a L<Paws::EC2::DescribeHostReservationOfferingsResult> instance
3297              
3298             Describes the Dedicated Host Reservations that are available to
3299             purchase.
3300              
3301             The results describe all the Dedicated Host Reservation offerings,
3302             including offerings that may not match the instance family and region
3303             of your Dedicated Hosts. When purchasing an offering, ensure that the
3304             the instance family and region of the offering matches that of the
3305             Dedicated Host/s it will be associated with. For an overview of
3306             supported instance types, see Dedicated Hosts Overview in the I<Amazon
3307             Elastic Compute Cloud User Guide>.
3308              
3309              
3310             =head2 DescribeHostReservations([Filter => ArrayRef[L<Paws::EC2::Filter>], HostReservationIdSet => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3311              
3312             Each argument is described in detail in: L<Paws::EC2::DescribeHostReservations>
3313              
3314             Returns: a L<Paws::EC2::DescribeHostReservationsResult> instance
3315              
3316             Describes Dedicated Host Reservations which are associated with
3317             Dedicated Hosts in your account.
3318              
3319              
3320             =head2 DescribeHosts([Filter => ArrayRef[L<Paws::EC2::Filter>], HostIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3321              
3322             Each argument is described in detail in: L<Paws::EC2::DescribeHosts>
3323              
3324             Returns: a L<Paws::EC2::DescribeHostsResult> instance
3325              
3326             Describes one or more of your Dedicated Hosts.
3327              
3328             The results describe only the Dedicated Hosts in the region you're
3329             currently using. All listed instances consume capacity on your
3330             Dedicated Host. Dedicated Hosts that have recently been released will
3331             be listed with the state C<released>.
3332              
3333              
3334             =head2 DescribeIamInstanceProfileAssociations([AssociationIds => ArrayRef[Str|Undef], Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str])
3335              
3336             Each argument is described in detail in: L<Paws::EC2::DescribeIamInstanceProfileAssociations>
3337              
3338             Returns: a L<Paws::EC2::DescribeIamInstanceProfileAssociationsResult> instance
3339              
3340             Describes your IAM instance profile associations.
3341              
3342              
3343             =head2 DescribeIdentityIdFormat(PrincipalArn => Str, [Resource => Str])
3344              
3345             Each argument is described in detail in: L<Paws::EC2::DescribeIdentityIdFormat>
3346              
3347             Returns: a L<Paws::EC2::DescribeIdentityIdFormatResult> instance
3348              
3349             Describes the ID format settings for resources for the specified IAM
3350             user, IAM role, or root user. For example, you can view the resource
3351             types that are enabled for longer IDs. This request only returns
3352             information about resource types whose ID formats can be modified; it
3353             does not return information about other resource types. For more
3354             information, see Resource IDs in the I<Amazon Elastic Compute Cloud
3355             User Guide>.
3356              
3357             The following resource types support longer IDs: C<instance> |
3358             C<reservation> | C<snapshot> | C<volume>.
3359              
3360             These settings apply to the principal specified in the request. They do
3361             not apply to the principal that makes the request.
3362              
3363              
3364             =head2 DescribeIdFormat([Resource => Str])
3365              
3366             Each argument is described in detail in: L<Paws::EC2::DescribeIdFormat>
3367              
3368             Returns: a L<Paws::EC2::DescribeIdFormatResult> instance
3369              
3370             Describes the ID format settings for your resources on a per-region
3371             basis, for example, to view which resource types are enabled for longer
3372             IDs. This request only returns information about resource types whose
3373             ID formats can be modified; it does not return information about other
3374             resource types.
3375              
3376             The following resource types support longer IDs: C<instance> |
3377             C<reservation> | C<snapshot> | C<volume>.
3378              
3379             These settings apply to the IAM user who makes the request; they do not
3380             apply to the entire AWS account. By default, an IAM user defaults to
3381             the same settings as the root user, unless they explicitly override the
3382             settings by running the ModifyIdFormat command. Resources created with
3383             longer IDs are visible to all IAM users, regardless of these settings
3384             and provided that they have permission to use the relevant C<Describe>
3385             command for the resource type.
3386              
3387              
3388             =head2 DescribeImageAttribute(Attribute => Str, ImageId => Str, [DryRun => Bool])
3389              
3390             Each argument is described in detail in: L<Paws::EC2::DescribeImageAttribute>
3391              
3392             Returns: a L<Paws::EC2::ImageAttribute> instance
3393              
3394             Describes the specified attribute of the specified AMI. You can specify
3395             only one attribute at a time.
3396              
3397              
3398             =head2 DescribeImages([DryRun => Bool, ExecutableUsers => ArrayRef[Str|Undef], Filters => ArrayRef[L<Paws::EC2::Filter>], ImageIds => ArrayRef[Str|Undef], Owners => ArrayRef[Str|Undef]])
3399              
3400             Each argument is described in detail in: L<Paws::EC2::DescribeImages>
3401              
3402             Returns: a L<Paws::EC2::DescribeImagesResult> instance
3403              
3404             Describes one or more of the images (AMIs, AKIs, and ARIs) available to
3405             you. Images available to you include public images, private images that
3406             you own, and private images owned by other AWS accounts but for which
3407             you have explicit launch permissions.
3408              
3409             Deregistered images are included in the returned results for an
3410             unspecified interval after deregistration.
3411              
3412              
3413             =head2 DescribeImportImageTasks([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], ImportTaskIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3414              
3415             Each argument is described in detail in: L<Paws::EC2::DescribeImportImageTasks>
3416              
3417             Returns: a L<Paws::EC2::DescribeImportImageTasksResult> instance
3418              
3419             Displays details about an import virtual machine or import snapshot
3420             tasks that are already created.
3421              
3422              
3423             =head2 DescribeImportSnapshotTasks([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], ImportTaskIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3424              
3425             Each argument is described in detail in: L<Paws::EC2::DescribeImportSnapshotTasks>
3426              
3427             Returns: a L<Paws::EC2::DescribeImportSnapshotTasksResult> instance
3428              
3429             Describes your import snapshot tasks.
3430              
3431              
3432             =head2 DescribeInstanceAttribute(Attribute => Str, InstanceId => Str, [DryRun => Bool])
3433              
3434             Each argument is described in detail in: L<Paws::EC2::DescribeInstanceAttribute>
3435              
3436             Returns: a L<Paws::EC2::InstanceAttribute> instance
3437              
3438             Describes the specified attribute of the specified instance. You can
3439             specify only one attribute at a time. Valid attribute values are:
3440             C<instanceType> | C<kernel> | C<ramdisk> | C<userData> |
3441             C<disableApiTermination> | C<instanceInitiatedShutdownBehavior> |
3442             C<rootDeviceName> | C<blockDeviceMapping> | C<productCodes> |
3443             C<sourceDestCheck> | C<groupSet> | C<ebsOptimized> | C<sriovNetSupport>
3444              
3445              
3446             =head2 DescribeInstances([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3447              
3448             Each argument is described in detail in: L<Paws::EC2::DescribeInstances>
3449              
3450             Returns: a L<Paws::EC2::DescribeInstancesResult> instance
3451              
3452             Describes one or more of your instances.
3453              
3454             If you specify one or more instance IDs, Amazon EC2 returns information
3455             for those instances. If you do not specify instance IDs, Amazon EC2
3456             returns information for all relevant instances. If you specify an
3457             instance ID that is not valid, an error is returned. If you specify an
3458             instance that you do not own, it is not included in the returned
3459             results.
3460              
3461             Recently terminated instances might appear in the returned results.
3462             This interval is usually less than one hour.
3463              
3464             If you describe instances in the rare case where an Availability Zone
3465             is experiencing a service disruption and you specify instance IDs that
3466             are in the affected zone, or do not specify any instance IDs at all,
3467             the call fails. If you describe instances and specify only instance IDs
3468             that are in an unaffected zone, the call works normally.
3469              
3470              
3471             =head2 DescribeInstanceStatus([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], IncludeAllInstances => Bool, InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
3472              
3473             Each argument is described in detail in: L<Paws::EC2::DescribeInstanceStatus>
3474              
3475             Returns: a L<Paws::EC2::DescribeInstanceStatusResult> instance
3476              
3477             Describes the status of one or more instances. By default, only running
3478             instances are described, unless you specifically indicate to return the
3479             status of all instances.
3480              
3481             Instance status includes the following components:
3482              
3483             =over
3484              
3485             =item *
3486              
3487             B<Status checks> - Amazon EC2 performs status checks on running EC2
3488             instances to identify hardware and software issues. For more
3489             information, see Status Checks for Your Instances and Troubleshooting
3490             Instances with Failed Status Checks in the I<Amazon Elastic Compute
3491             Cloud User Guide>.
3492              
3493             =item *
3494              
3495             B<Scheduled events> - Amazon EC2 can schedule events (such as reboot,
3496             stop, or terminate) for your instances related to hardware issues,
3497             software updates, or system maintenance. For more information, see
3498             Scheduled Events for Your Instances in the I<Amazon Elastic Compute
3499             Cloud User Guide>.
3500              
3501             =item *
3502              
3503             B<Instance state> - You can manage your instances from the moment you
3504             launch them through their termination. For more information, see
3505             Instance Lifecycle in the I<Amazon Elastic Compute Cloud User Guide>.
3506              
3507             =back
3508              
3509              
3510              
3511             =head2 DescribeInternetGateways([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], InternetGatewayIds => ArrayRef[Str|Undef]])
3512              
3513             Each argument is described in detail in: L<Paws::EC2::DescribeInternetGateways>
3514              
3515             Returns: a L<Paws::EC2::DescribeInternetGatewaysResult> instance
3516              
3517             Describes one or more of your Internet gateways.
3518              
3519              
3520             =head2 DescribeKeyPairs([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], KeyNames => ArrayRef[Str|Undef]])
3521              
3522             Each argument is described in detail in: L<Paws::EC2::DescribeKeyPairs>
3523              
3524             Returns: a L<Paws::EC2::DescribeKeyPairsResult> instance
3525              
3526             Describes one or more of your key pairs.
3527              
3528             For more information about key pairs, see Key Pairs in the I<Amazon
3529             Elastic Compute Cloud User Guide>.
3530              
3531              
3532             =head2 DescribeMovingAddresses([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, PublicIps => ArrayRef[Str|Undef]])
3533              
3534             Each argument is described in detail in: L<Paws::EC2::DescribeMovingAddresses>
3535              
3536             Returns: a L<Paws::EC2::DescribeMovingAddressesResult> instance
3537              
3538             Describes your Elastic IP addresses that are being moved to the EC2-VPC
3539             platform, or that are being restored to the EC2-Classic platform. This
3540             request does not return information about any other Elastic IP
3541             addresses in your account.
3542              
3543              
3544             =head2 DescribeNatGateways([Filter => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NatGatewayIds => ArrayRef[Str|Undef], NextToken => Str])
3545              
3546             Each argument is described in detail in: L<Paws::EC2::DescribeNatGateways>
3547              
3548             Returns: a L<Paws::EC2::DescribeNatGatewaysResult> instance
3549              
3550             Describes one or more of the your NAT gateways.
3551              
3552              
3553             =head2 DescribeNetworkAcls([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], NetworkAclIds => ArrayRef[Str|Undef]])
3554              
3555             Each argument is described in detail in: L<Paws::EC2::DescribeNetworkAcls>
3556              
3557             Returns: a L<Paws::EC2::DescribeNetworkAclsResult> instance
3558              
3559             Describes one or more of your network ACLs.
3560              
3561             For more information about network ACLs, see Network ACLs in the
3562             I<Amazon Virtual Private Cloud User Guide>.
3563              
3564              
3565             =head2 DescribeNetworkInterfaceAttribute(NetworkInterfaceId => Str, [Attribute => Str, DryRun => Bool])
3566              
3567             Each argument is described in detail in: L<Paws::EC2::DescribeNetworkInterfaceAttribute>
3568              
3569             Returns: a L<Paws::EC2::DescribeNetworkInterfaceAttributeResult> instance
3570              
3571             Describes a network interface attribute. You can specify only one
3572             attribute at a time.
3573              
3574              
3575             =head2 DescribeNetworkInterfacePermissions([Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NetworkInterfacePermissionIds => ArrayRef[Str|Undef], NextToken => Str])
3576              
3577             Each argument is described in detail in: L<Paws::EC2::DescribeNetworkInterfacePermissions>
3578              
3579             Returns: a L<Paws::EC2::DescribeNetworkInterfacePermissionsResult> instance
3580              
3581             Describes the permissions for your network interfaces.
3582              
3583              
3584             =head2 DescribeNetworkInterfaces([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], NetworkInterfaceIds => ArrayRef[Str|Undef]])
3585              
3586             Each argument is described in detail in: L<Paws::EC2::DescribeNetworkInterfaces>
3587              
3588             Returns: a L<Paws::EC2::DescribeNetworkInterfacesResult> instance
3589              
3590             Describes one or more of your network interfaces.
3591              
3592              
3593             =head2 DescribePlacementGroups([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], GroupNames => ArrayRef[Str|Undef]])
3594              
3595             Each argument is described in detail in: L<Paws::EC2::DescribePlacementGroups>
3596              
3597             Returns: a L<Paws::EC2::DescribePlacementGroupsResult> instance
3598              
3599             Describes one or more of your placement groups. For more information
3600             about placement groups and cluster instances, see Cluster Instances in
3601             the I<Amazon Elastic Compute Cloud User Guide>.
3602              
3603              
3604             =head2 DescribePrefixLists([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, PrefixListIds => ArrayRef[Str|Undef]])
3605              
3606             Each argument is described in detail in: L<Paws::EC2::DescribePrefixLists>
3607              
3608             Returns: a L<Paws::EC2::DescribePrefixListsResult> instance
3609              
3610             Describes available AWS services in a prefix list format, which
3611             includes the prefix list name and prefix list ID of the service and the
3612             IP address range for the service. A prefix list ID is required for
3613             creating an outbound security group rule that allows traffic from a VPC
3614             to access an AWS service through a VPC endpoint.
3615              
3616              
3617             =head2 DescribeRegions([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], RegionNames => ArrayRef[Str|Undef]])
3618              
3619             Each argument is described in detail in: L<Paws::EC2::DescribeRegions>
3620              
3621             Returns: a L<Paws::EC2::DescribeRegionsResult> instance
3622              
3623             Describes one or more regions that are currently available to you.
3624              
3625             For a list of the regions supported by Amazon EC2, see Regions and
3626             Endpoints.
3627              
3628              
3629             =head2 DescribeReservedInstances([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], OfferingClass => Str, OfferingType => Str, ReservedInstancesIds => ArrayRef[Str|Undef]])
3630              
3631             Each argument is described in detail in: L<Paws::EC2::DescribeReservedInstances>
3632              
3633             Returns: a L<Paws::EC2::DescribeReservedInstancesResult> instance
3634              
3635             Describes one or more of the Reserved Instances that you purchased.
3636              
3637             For more information about Reserved Instances, see Reserved Instances
3638             in the I<Amazon Elastic Compute Cloud User Guide>.
3639              
3640              
3641             =head2 DescribeReservedInstancesListings([Filters => ArrayRef[L<Paws::EC2::Filter>], ReservedInstancesId => Str, ReservedInstancesListingId => Str])
3642              
3643             Each argument is described in detail in: L<Paws::EC2::DescribeReservedInstancesListings>
3644              
3645             Returns: a L<Paws::EC2::DescribeReservedInstancesListingsResult> instance
3646              
3647             Describes your account's Reserved Instance listings in the Reserved
3648             Instance Marketplace.
3649              
3650             The Reserved Instance Marketplace matches sellers who want to resell
3651             Reserved Instance capacity that they no longer need with buyers who
3652             want to purchase additional capacity. Reserved Instances bought and
3653             sold through the Reserved Instance Marketplace work like any other
3654             Reserved Instances.
3655              
3656             As a seller, you choose to list some or all of your Reserved Instances,
3657             and you specify the upfront price to receive for them. Your Reserved
3658             Instances are then listed in the Reserved Instance Marketplace and are
3659             available for purchase.
3660              
3661             As a buyer, you specify the configuration of the Reserved Instance to
3662             purchase, and the Marketplace matches what you're searching for with
3663             what's available. The Marketplace first sells the lowest priced
3664             Reserved Instances to you, and continues to sell available Reserved
3665             Instance listings to you until your demand is met. You are charged
3666             based on the total price of all of the listings that you purchase.
3667              
3668             For more information, see Reserved Instance Marketplace in the I<Amazon
3669             Elastic Compute Cloud User Guide>.
3670              
3671              
3672             =head2 DescribeReservedInstancesModifications([Filters => ArrayRef[L<Paws::EC2::Filter>], NextToken => Str, ReservedInstancesModificationIds => ArrayRef[Str|Undef]])
3673              
3674             Each argument is described in detail in: L<Paws::EC2::DescribeReservedInstancesModifications>
3675              
3676             Returns: a L<Paws::EC2::DescribeReservedInstancesModificationsResult> instance
3677              
3678             Describes the modifications made to your Reserved Instances. If no
3679             parameter is specified, information about all your Reserved Instances
3680             modification requests is returned. If a modification ID is specified,
3681             only information about the specific modification is returned.
3682              
3683             For more information, see Modifying Reserved Instances in the Amazon
3684             Elastic Compute Cloud User Guide.
3685              
3686              
3687             =head2 DescribeReservedInstancesOfferings([AvailabilityZone => Str, DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], IncludeMarketplace => Bool, InstanceTenancy => Str, InstanceType => Str, MaxDuration => Int, MaxInstanceCount => Int, MaxResults => Int, MinDuration => Int, NextToken => Str, OfferingClass => Str, OfferingType => Str, ProductDescription => Str, ReservedInstancesOfferingIds => ArrayRef[Str|Undef]])
3688              
3689             Each argument is described in detail in: L<Paws::EC2::DescribeReservedInstancesOfferings>
3690              
3691             Returns: a L<Paws::EC2::DescribeReservedInstancesOfferingsResult> instance
3692              
3693             Describes Reserved Instance offerings that are available for purchase.
3694             With Reserved Instances, you purchase the right to launch instances for
3695             a period of time. During that time period, you do not receive
3696             insufficient capacity errors, and you pay a lower usage rate than the
3697             rate charged for On-Demand instances for the actual time used.
3698              
3699             If you have listed your own Reserved Instances for sale in the Reserved
3700             Instance Marketplace, they will be excluded from these results. This is
3701             to ensure that you do not purchase your own Reserved Instances.
3702              
3703             For more information, see Reserved Instance Marketplace in the I<Amazon
3704             Elastic Compute Cloud User Guide>.
3705              
3706              
3707             =head2 DescribeRouteTables([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], RouteTableIds => ArrayRef[Str|Undef]])
3708              
3709             Each argument is described in detail in: L<Paws::EC2::DescribeRouteTables>
3710              
3711             Returns: a L<Paws::EC2::DescribeRouteTablesResult> instance
3712              
3713             Describes one or more of your route tables.
3714              
3715             Each subnet in your VPC must be associated with a route table. If a
3716             subnet is not explicitly associated with any route table, it is
3717             implicitly associated with the main route table. This command does not
3718             return the subnet ID for implicit associations.
3719              
3720             For more information about route tables, see Route Tables in the
3721             I<Amazon Virtual Private Cloud User Guide>.
3722              
3723              
3724             =head2 DescribeScheduledInstanceAvailability(FirstSlotStartTimeRange => L<Paws::EC2::SlotDateTimeRangeRequest>, Recurrence => L<Paws::EC2::ScheduledInstanceRecurrenceRequest>, [DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, MaxSlotDurationInHours => Int, MinSlotDurationInHours => Int, NextToken => Str])
3725              
3726             Each argument is described in detail in: L<Paws::EC2::DescribeScheduledInstanceAvailability>
3727              
3728             Returns: a L<Paws::EC2::DescribeScheduledInstanceAvailabilityResult> instance
3729              
3730             Finds available schedules that meet the specified criteria.
3731              
3732             You can search for an available schedule no more than 3 months in
3733             advance. You must meet the minimum required duration of 1,200 hours per
3734             year. For example, the minimum daily schedule is 4 hours, the minimum
3735             weekly schedule is 24 hours, and the minimum monthly schedule is 100
3736             hours.
3737              
3738             After you find a schedule that meets your needs, call
3739             PurchaseScheduledInstances to purchase Scheduled Instances with that
3740             schedule.
3741              
3742              
3743             =head2 DescribeScheduledInstances([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, ScheduledInstanceIds => ArrayRef[Str|Undef], SlotStartTimeRange => L<Paws::EC2::SlotStartTimeRangeRequest>])
3744              
3745             Each argument is described in detail in: L<Paws::EC2::DescribeScheduledInstances>
3746              
3747             Returns: a L<Paws::EC2::DescribeScheduledInstancesResult> instance
3748              
3749             Describes one or more of your Scheduled Instances.
3750              
3751              
3752             =head2 DescribeSecurityGroupReferences(GroupId => ArrayRef[Str|Undef], [DryRun => Bool])
3753              
3754             Each argument is described in detail in: L<Paws::EC2::DescribeSecurityGroupReferences>
3755              
3756             Returns: a L<Paws::EC2::DescribeSecurityGroupReferencesResult> instance
3757              
3758             [EC2-VPC only] Describes the VPCs on the other side of a VPC peering
3759             connection that are referencing the security groups you've specified in
3760             this request.
3761              
3762              
3763             =head2 DescribeSecurityGroups([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], GroupIds => ArrayRef[Str|Undef], GroupNames => ArrayRef[Str|Undef]])
3764              
3765             Each argument is described in detail in: L<Paws::EC2::DescribeSecurityGroups>
3766              
3767             Returns: a L<Paws::EC2::DescribeSecurityGroupsResult> instance
3768              
3769             Describes one or more of your security groups.
3770              
3771             A security group is for use with instances either in the EC2-Classic
3772             platform or in a specific VPC. For more information, see Amazon EC2
3773             Security Groups in the I<Amazon Elastic Compute Cloud User Guide> and
3774             Security Groups for Your VPC in the I<Amazon Virtual Private Cloud User
3775             Guide>.
3776              
3777              
3778             =head2 DescribeSnapshotAttribute(Attribute => Str, SnapshotId => Str, [DryRun => Bool])
3779              
3780             Each argument is described in detail in: L<Paws::EC2::DescribeSnapshotAttribute>
3781              
3782             Returns: a L<Paws::EC2::DescribeSnapshotAttributeResult> instance
3783              
3784             Describes the specified attribute of the specified snapshot. You can
3785             specify only one attribute at a time.
3786              
3787             For more information about EBS snapshots, see Amazon EBS Snapshots in
3788             the I<Amazon Elastic Compute Cloud User Guide>.
3789              
3790              
3791             =head2 DescribeSnapshots([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, OwnerIds => ArrayRef[Str|Undef], RestorableByUserIds => ArrayRef[Str|Undef], SnapshotIds => ArrayRef[Str|Undef]])
3792              
3793             Each argument is described in detail in: L<Paws::EC2::DescribeSnapshots>
3794              
3795             Returns: a L<Paws::EC2::DescribeSnapshotsResult> instance
3796              
3797             Describes one or more of the EBS snapshots available to you. Available
3798             snapshots include public snapshots available for any AWS account to
3799             launch, private snapshots that you own, and private snapshots owned by
3800             another AWS account but for which you've been given explicit create
3801             volume permissions.
3802              
3803             The create volume permissions fall into the following categories:
3804              
3805             =over
3806              
3807             =item *
3808              
3809             I<public>: The owner of the snapshot granted create volume permissions
3810             for the snapshot to the C<all> group. All AWS accounts have create
3811             volume permissions for these snapshots.
3812              
3813             =item *
3814              
3815             I<explicit>: The owner of the snapshot granted create volume
3816             permissions to a specific AWS account.
3817              
3818             =item *
3819              
3820             I<implicit>: An AWS account has implicit create volume permissions for
3821             all snapshots it owns.
3822              
3823             =back
3824              
3825             The list of snapshots returned can be modified by specifying snapshot
3826             IDs, snapshot owners, or AWS accounts with create volume permissions.
3827             If no options are specified, Amazon EC2 returns all snapshots for which
3828             you have create volume permissions.
3829              
3830             If you specify one or more snapshot IDs, only snapshots that have the
3831             specified IDs are returned. If you specify an invalid snapshot ID, an
3832             error is returned. If you specify a snapshot ID for which you do not
3833             have access, it is not included in the returned results.
3834              
3835             If you specify one or more snapshot owners using the C<OwnerIds>
3836             option, only snapshots from the specified owners and for which you have
3837             access are returned. The results can include the AWS account IDs of the
3838             specified owners, C<amazon> for snapshots owned by Amazon, or C<self>
3839             for snapshots that you own.
3840              
3841             If you specify a list of restorable users, only snapshots with create
3842             snapshot permissions for those users are returned. You can specify AWS
3843             account IDs (if you own the snapshots), C<self> for snapshots for which
3844             you own or have explicit permissions, or C<all> for public snapshots.
3845              
3846             If you are describing a long list of snapshots, you can paginate the
3847             output to make the list more manageable. The C<MaxResults> parameter
3848             sets the maximum number of results returned in a single page. If the
3849             list of results exceeds your C<MaxResults> value, then that number of
3850             results is returned along with a C<NextToken> value that can be passed
3851             to a subsequent C<DescribeSnapshots> request to retrieve the remaining
3852             results.
3853              
3854             For more information about EBS snapshots, see Amazon EBS Snapshots in
3855             the I<Amazon Elastic Compute Cloud User Guide>.
3856              
3857              
3858             =head2 DescribeSpotDatafeedSubscription([DryRun => Bool])
3859              
3860             Each argument is described in detail in: L<Paws::EC2::DescribeSpotDatafeedSubscription>
3861              
3862             Returns: a L<Paws::EC2::DescribeSpotDatafeedSubscriptionResult> instance
3863              
3864             Describes the data feed for Spot instances. For more information, see
3865             Spot Instance Data Feed in the I<Amazon Elastic Compute Cloud User
3866             Guide>.
3867              
3868              
3869             =head2 DescribeSpotFleetInstances(SpotFleetRequestId => Str, [DryRun => Bool, MaxResults => Int, NextToken => Str])
3870              
3871             Each argument is described in detail in: L<Paws::EC2::DescribeSpotFleetInstances>
3872              
3873             Returns: a L<Paws::EC2::DescribeSpotFleetInstancesResponse> instance
3874              
3875             Describes the running instances for the specified Spot fleet.
3876              
3877              
3878             =head2 DescribeSpotFleetRequestHistory(SpotFleetRequestId => Str, StartTime => Str, [DryRun => Bool, EventType => Str, MaxResults => Int, NextToken => Str])
3879              
3880             Each argument is described in detail in: L<Paws::EC2::DescribeSpotFleetRequestHistory>
3881              
3882             Returns: a L<Paws::EC2::DescribeSpotFleetRequestHistoryResponse> instance
3883              
3884             Describes the events for the specified Spot fleet request during the
3885             specified time.
3886              
3887             Spot fleet events are delayed by up to 30 seconds before they can be
3888             described. This ensures that you can query by the last evaluated time
3889             and not miss a recorded event.
3890              
3891              
3892             =head2 DescribeSpotFleetRequests([DryRun => Bool, MaxResults => Int, NextToken => Str, SpotFleetRequestIds => ArrayRef[Str|Undef]])
3893              
3894             Each argument is described in detail in: L<Paws::EC2::DescribeSpotFleetRequests>
3895              
3896             Returns: a L<Paws::EC2::DescribeSpotFleetRequestsResponse> instance
3897              
3898             Describes your Spot fleet requests.
3899              
3900             Spot fleet requests are deleted 48 hours after they are canceled and
3901             their instances are terminated.
3902              
3903              
3904             =head2 DescribeSpotInstanceRequests([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], SpotInstanceRequestIds => ArrayRef[Str|Undef]])
3905              
3906             Each argument is described in detail in: L<Paws::EC2::DescribeSpotInstanceRequests>
3907              
3908             Returns: a L<Paws::EC2::DescribeSpotInstanceRequestsResult> instance
3909              
3910             Describes the Spot instance requests that belong to your account. Spot
3911             instances are instances that Amazon EC2 launches when the bid price
3912             that you specify exceeds the current Spot price. Amazon EC2
3913             periodically sets the Spot price based on available Spot instance
3914             capacity and current Spot instance requests. For more information, see
3915             Spot Instance Requests in the I<Amazon Elastic Compute Cloud User
3916             Guide>.
3917              
3918             You can use C<DescribeSpotInstanceRequests> to find a running Spot
3919             instance by examining the response. If the status of the Spot instance
3920             is C<fulfilled>, the instance ID appears in the response and contains
3921             the identifier of the instance. Alternatively, you can use
3922             DescribeInstances with a filter to look for instances where the
3923             instance lifecycle is C<spot>.
3924              
3925             Spot instance requests are deleted 4 hours after they are canceled and
3926             their instances are terminated.
3927              
3928              
3929             =head2 DescribeSpotPriceHistory([AvailabilityZone => Str, DryRun => Bool, EndTime => Str, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceTypes => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str, ProductDescriptions => ArrayRef[Str|Undef], StartTime => Str])
3930              
3931             Each argument is described in detail in: L<Paws::EC2::DescribeSpotPriceHistory>
3932              
3933             Returns: a L<Paws::EC2::DescribeSpotPriceHistoryResult> instance
3934              
3935             Describes the Spot price history. For more information, see Spot
3936             Instance Pricing History in the I<Amazon Elastic Compute Cloud User
3937             Guide>.
3938              
3939             When you specify a start and end time, this operation returns the
3940             prices of the instance types within the time range that you specified
3941             and the time when the price changed. The price is valid within the time
3942             period that you specified; the response merely indicates the last time
3943             that the price changed.
3944              
3945              
3946             =head2 DescribeStaleSecurityGroups(VpcId => Str, [DryRun => Bool, MaxResults => Int, NextToken => Str])
3947              
3948             Each argument is described in detail in: L<Paws::EC2::DescribeStaleSecurityGroups>
3949              
3950             Returns: a L<Paws::EC2::DescribeStaleSecurityGroupsResult> instance
3951              
3952             [EC2-VPC only] Describes the stale security group rules for security
3953             groups in a specified VPC. Rules are stale when they reference a
3954             deleted security group in a peer VPC, or a security group in a peer VPC
3955             for which the VPC peering connection has been deleted.
3956              
3957              
3958             =head2 DescribeSubnets([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], SubnetIds => ArrayRef[Str|Undef]])
3959              
3960             Each argument is described in detail in: L<Paws::EC2::DescribeSubnets>
3961              
3962             Returns: a L<Paws::EC2::DescribeSubnetsResult> instance
3963              
3964             Describes one or more of your subnets.
3965              
3966             For more information about subnets, see Your VPC and Subnets in the
3967             I<Amazon Virtual Private Cloud User Guide>.
3968              
3969              
3970             =head2 DescribeTags([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str])
3971              
3972             Each argument is described in detail in: L<Paws::EC2::DescribeTags>
3973              
3974             Returns: a L<Paws::EC2::DescribeTagsResult> instance
3975              
3976             Describes one or more of the tags for your EC2 resources.
3977              
3978             For more information about tags, see Tagging Your Resources in the
3979             I<Amazon Elastic Compute Cloud User Guide>.
3980              
3981              
3982             =head2 DescribeVolumeAttribute(VolumeId => Str, [Attribute => Str, DryRun => Bool])
3983              
3984             Each argument is described in detail in: L<Paws::EC2::DescribeVolumeAttribute>
3985              
3986             Returns: a L<Paws::EC2::DescribeVolumeAttributeResult> instance
3987              
3988             Describes the specified attribute of the specified volume. You can
3989             specify only one attribute at a time.
3990              
3991             For more information about EBS volumes, see Amazon EBS Volumes in the
3992             I<Amazon Elastic Compute Cloud User Guide>.
3993              
3994              
3995             =head2 DescribeVolumes([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
3996              
3997             Each argument is described in detail in: L<Paws::EC2::DescribeVolumes>
3998              
3999             Returns: a L<Paws::EC2::DescribeVolumesResult> instance
4000              
4001             Describes the specified EBS volumes.
4002              
4003             If you are describing a long list of volumes, you can paginate the
4004             output to make the list more manageable. The C<MaxResults> parameter
4005             sets the maximum number of results returned in a single page. If the
4006             list of results exceeds your C<MaxResults> value, then that number of
4007             results is returned along with a C<NextToken> value that can be passed
4008             to a subsequent C<DescribeVolumes> request to retrieve the remaining
4009             results.
4010              
4011             For more information about EBS volumes, see Amazon EBS Volumes in the
4012             I<Amazon Elastic Compute Cloud User Guide>.
4013              
4014              
4015             =head2 DescribeVolumesModifications([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
4016              
4017             Each argument is described in detail in: L<Paws::EC2::DescribeVolumesModifications>
4018              
4019             Returns: a L<Paws::EC2::DescribeVolumesModificationsResult> instance
4020              
4021             Reports the current modification status of EBS volumes.
4022              
4023             Current-generation EBS volumes support modification of attributes
4024             including type, size, and (for C<io1> volumes) IOPS provisioning while
4025             either attached to or detached from an instance. Following an action
4026             from the API or the console to modify a volume, the status of the
4027             modification may be C<modifying>, C<optimizing>, C<completed>, or
4028             C<failed>. If a volume has never been modified, then certain elements
4029             of the returned C<VolumeModification> objects are null.
4030              
4031             You can also use CloudWatch Events to check the status of a
4032             modification to an EBS volume. For information about CloudWatch Events,
4033             see the Amazon CloudWatch Events User Guide. For more information, see
4034             Monitoring Volume Modifications".
4035              
4036              
4037             =head2 DescribeVolumeStatus([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
4038              
4039             Each argument is described in detail in: L<Paws::EC2::DescribeVolumeStatus>
4040              
4041             Returns: a L<Paws::EC2::DescribeVolumeStatusResult> instance
4042              
4043             Describes the status of the specified volumes. Volume status provides
4044             the result of the checks performed on your volumes to determine events
4045             that can impair the performance of your volumes. The performance of a
4046             volume can be affected if an issue occurs on the volume's underlying
4047             host. If the volume's underlying host experiences a power outage or
4048             system issue, after the system is restored, there could be data
4049             inconsistencies on the volume. Volume events notify you if this occurs.
4050             Volume actions notify you if any action needs to be taken in response
4051             to the event.
4052              
4053             The C<DescribeVolumeStatus> operation provides the following
4054             information about the specified volumes:
4055              
4056             I<Status>: Reflects the current status of the volume. The possible
4057             values are C<ok>, C<impaired> , C<warning>, or C<insufficient-data>. If
4058             all checks pass, the overall status of the volume is C<ok>. If the
4059             check fails, the overall status is C<impaired>. If the status is
4060             C<insufficient-data>, then the checks may still be taking place on your
4061             volume at the time. We recommend that you retry the request. For more
4062             information on volume status, see Monitoring the Status of Your
4063             Volumes.
4064              
4065             I<Events>: Reflect the cause of a volume status and may require you to
4066             take action. For example, if your volume returns an C<impaired> status,
4067             then the volume event might be C<potential-data-inconsistency>. This
4068             means that your volume has been affected by an issue with the
4069             underlying host, has all I/O operations disabled, and may have
4070             inconsistent data.
4071              
4072             I<Actions>: Reflect the actions you may have to take in response to an
4073             event. For example, if the status of the volume is C<impaired> and the
4074             volume event shows C<potential-data-inconsistency>, then the action
4075             shows C<enable-volume-io>. This means that you may want to enable the
4076             I/O operations for the volume by calling the EnableVolumeIO action and
4077             then check the volume for data consistency.
4078              
4079             Volume status is based on the volume status checks, and does not
4080             reflect the volume state. Therefore, volume status does not indicate
4081             volumes in the C<error> state (for example, when a volume is incapable
4082             of accepting I/O.)
4083              
4084              
4085             =head2 DescribeVpcAttribute(Attribute => Str, VpcId => Str, [DryRun => Bool])
4086              
4087             Each argument is described in detail in: L<Paws::EC2::DescribeVpcAttribute>
4088              
4089             Returns: a L<Paws::EC2::DescribeVpcAttributeResult> instance
4090              
4091             Describes the specified attribute of the specified VPC. You can specify
4092             only one attribute at a time.
4093              
4094              
4095             =head2 DescribeVpcClassicLink([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], VpcIds => ArrayRef[Str|Undef]])
4096              
4097             Each argument is described in detail in: L<Paws::EC2::DescribeVpcClassicLink>
4098              
4099             Returns: a L<Paws::EC2::DescribeVpcClassicLinkResult> instance
4100              
4101             Describes the ClassicLink status of one or more VPCs.
4102              
4103              
4104             =head2 DescribeVpcClassicLinkDnsSupport([MaxResults => Int, NextToken => Str, VpcIds => ArrayRef[Str|Undef]])
4105              
4106             Each argument is described in detail in: L<Paws::EC2::DescribeVpcClassicLinkDnsSupport>
4107              
4108             Returns: a L<Paws::EC2::DescribeVpcClassicLinkDnsSupportResult> instance
4109              
4110             Describes the ClassicLink DNS support status of one or more VPCs. If
4111             enabled, the DNS hostname of a linked EC2-Classic instance resolves to
4112             its private IP address when addressed from an instance in the VPC to
4113             which it's linked. Similarly, the DNS hostname of an instance in a VPC
4114             resolves to its private IP address when addressed from a linked
4115             EC2-Classic instance. For more information, see ClassicLink in the
4116             I<Amazon Elastic Compute Cloud User Guide>.
4117              
4118              
4119             =head2 DescribeVpcEndpoints([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VpcEndpointIds => ArrayRef[Str|Undef]])
4120              
4121             Each argument is described in detail in: L<Paws::EC2::DescribeVpcEndpoints>
4122              
4123             Returns: a L<Paws::EC2::DescribeVpcEndpointsResult> instance
4124              
4125             Describes one or more of your VPC endpoints.
4126              
4127              
4128             =head2 DescribeVpcEndpointServices([DryRun => Bool, MaxResults => Int, NextToken => Str])
4129              
4130             Each argument is described in detail in: L<Paws::EC2::DescribeVpcEndpointServices>
4131              
4132             Returns: a L<Paws::EC2::DescribeVpcEndpointServicesResult> instance
4133              
4134             Describes all supported AWS services that can be specified when
4135             creating a VPC endpoint.
4136              
4137              
4138             =head2 DescribeVpcPeeringConnections([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], VpcPeeringConnectionIds => ArrayRef[Str|Undef]])
4139              
4140             Each argument is described in detail in: L<Paws::EC2::DescribeVpcPeeringConnections>
4141              
4142             Returns: a L<Paws::EC2::DescribeVpcPeeringConnectionsResult> instance
4143              
4144             Describes one or more of your VPC peering connections.
4145              
4146              
4147             =head2 DescribeVpcs([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], VpcIds => ArrayRef[Str|Undef]])
4148              
4149             Each argument is described in detail in: L<Paws::EC2::DescribeVpcs>
4150              
4151             Returns: a L<Paws::EC2::DescribeVpcsResult> instance
4152              
4153             Describes one or more of your VPCs.
4154              
4155              
4156             =head2 DescribeVpnConnections([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], VpnConnectionIds => ArrayRef[Str|Undef]])
4157              
4158             Each argument is described in detail in: L<Paws::EC2::DescribeVpnConnections>
4159              
4160             Returns: a L<Paws::EC2::DescribeVpnConnectionsResult> instance
4161              
4162             Describes one or more of your VPN connections.
4163              
4164             For more information about VPN connections, see Adding a Hardware
4165             Virtual Private Gateway to Your VPC in the I<Amazon Virtual Private
4166             Cloud User Guide>.
4167              
4168              
4169             =head2 DescribeVpnGateways([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], VpnGatewayIds => ArrayRef[Str|Undef]])
4170              
4171             Each argument is described in detail in: L<Paws::EC2::DescribeVpnGateways>
4172              
4173             Returns: a L<Paws::EC2::DescribeVpnGatewaysResult> instance
4174              
4175             Describes one or more of your virtual private gateways.
4176              
4177             For more information about virtual private gateways, see Adding an
4178             IPsec Hardware VPN to Your VPC in the I<Amazon Virtual Private Cloud
4179             User Guide>.
4180              
4181              
4182             =head2 DetachClassicLinkVpc(InstanceId => Str, VpcId => Str, [DryRun => Bool])
4183              
4184             Each argument is described in detail in: L<Paws::EC2::DetachClassicLinkVpc>
4185              
4186             Returns: a L<Paws::EC2::DetachClassicLinkVpcResult> instance
4187              
4188             Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the
4189             instance has been unlinked, the VPC security groups are no longer
4190             associated with it. An instance is automatically unlinked from a VPC
4191             when it's stopped.
4192              
4193              
4194             =head2 DetachInternetGateway(InternetGatewayId => Str, VpcId => Str, [DryRun => Bool])
4195              
4196             Each argument is described in detail in: L<Paws::EC2::DetachInternetGateway>
4197              
4198             Returns: nothing
4199              
4200             Detaches an Internet gateway from a VPC, disabling connectivity between
4201             the Internet and the VPC. The VPC must not contain any running
4202             instances with Elastic IP addresses or public IPv4 addresses.
4203              
4204              
4205             =head2 DetachNetworkInterface(AttachmentId => Str, [DryRun => Bool, Force => Bool])
4206              
4207             Each argument is described in detail in: L<Paws::EC2::DetachNetworkInterface>
4208              
4209             Returns: nothing
4210              
4211             Detaches a network interface from an instance.
4212              
4213              
4214             =head2 DetachVolume(VolumeId => Str, [Device => Str, DryRun => Bool, Force => Bool, InstanceId => Str])
4215              
4216             Each argument is described in detail in: L<Paws::EC2::DetachVolume>
4217              
4218             Returns: a L<Paws::EC2::VolumeAttachment> instance
4219              
4220             Detaches an EBS volume from an instance. Make sure to unmount any file
4221             systems on the device within your operating system before detaching the
4222             volume. Failure to do so can result in the volume becoming stuck in the
4223             C<busy> state while detaching. If this happens, detachment can be
4224             delayed indefinitely until you unmount the volume, force detachment,
4225             reboot the instance, or all three. If an EBS volume is the root device
4226             of an instance, it can't be detached while the instance is running. To
4227             detach the root volume, stop the instance first.
4228              
4229             When a volume with an AWS Marketplace product code is detached from an
4230             instance, the product code is no longer associated with the instance.
4231              
4232             For more information, see Detaching an Amazon EBS Volume in the
4233             I<Amazon Elastic Compute Cloud User Guide>.
4234              
4235              
4236             =head2 DetachVpnGateway(VpcId => Str, VpnGatewayId => Str, [DryRun => Bool])
4237              
4238             Each argument is described in detail in: L<Paws::EC2::DetachVpnGateway>
4239              
4240             Returns: nothing
4241              
4242             Detaches a virtual private gateway from a VPC. You do this if you're
4243             planning to turn off the VPC and not use it anymore. You can confirm a
4244             virtual private gateway has been completely detached from a VPC by
4245             describing the virtual private gateway (any attachments to the virtual
4246             private gateway are also described).
4247              
4248             You must wait for the attachment's state to switch to C<detached>
4249             before you can delete the VPC or attach a different VPC to the virtual
4250             private gateway.
4251              
4252              
4253             =head2 DisableVgwRoutePropagation(GatewayId => Str, RouteTableId => Str)
4254              
4255             Each argument is described in detail in: L<Paws::EC2::DisableVgwRoutePropagation>
4256              
4257             Returns: nothing
4258              
4259             Disables a virtual private gateway (VGW) from propagating routes to a
4260             specified route table of a VPC.
4261              
4262              
4263             =head2 DisableVpcClassicLink(VpcId => Str, [DryRun => Bool])
4264              
4265             Each argument is described in detail in: L<Paws::EC2::DisableVpcClassicLink>
4266              
4267             Returns: a L<Paws::EC2::DisableVpcClassicLinkResult> instance
4268              
4269             Disables ClassicLink for a VPC. You cannot disable ClassicLink for a
4270             VPC that has EC2-Classic instances linked to it.
4271              
4272              
4273             =head2 DisableVpcClassicLinkDnsSupport([VpcId => Str])
4274              
4275             Each argument is described in detail in: L<Paws::EC2::DisableVpcClassicLinkDnsSupport>
4276              
4277             Returns: a L<Paws::EC2::DisableVpcClassicLinkDnsSupportResult> instance
4278              
4279             Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames
4280             resolve to public IP addresses when addressed between a linked
4281             EC2-Classic instance and instances in the VPC to which it's linked. For
4282             more information about ClassicLink, see ClassicLink in the I<Amazon
4283             Elastic Compute Cloud User Guide>.
4284              
4285              
4286             =head2 DisassociateAddress([AssociationId => Str, DryRun => Bool, PublicIp => Str])
4287              
4288             Each argument is described in detail in: L<Paws::EC2::DisassociateAddress>
4289              
4290             Returns: nothing
4291              
4292             Disassociates an Elastic IP address from the instance or network
4293             interface it's associated with.
4294              
4295             An Elastic IP address is for use in either the EC2-Classic platform or
4296             in a VPC. For more information, see Elastic IP Addresses in the
4297             I<Amazon Elastic Compute Cloud User Guide>.
4298              
4299             This is an idempotent operation. If you perform the operation more than
4300             once, Amazon EC2 doesn't return an error.
4301              
4302              
4303             =head2 DisassociateIamInstanceProfile(AssociationId => Str)
4304              
4305             Each argument is described in detail in: L<Paws::EC2::DisassociateIamInstanceProfile>
4306              
4307             Returns: a L<Paws::EC2::DisassociateIamInstanceProfileResult> instance
4308              
4309             Disassociates an IAM instance profile from a running or stopped
4310             instance.
4311              
4312             Use DescribeIamInstanceProfileAssociations to get the association ID.
4313              
4314              
4315             =head2 DisassociateRouteTable(AssociationId => Str, [DryRun => Bool])
4316              
4317             Each argument is described in detail in: L<Paws::EC2::DisassociateRouteTable>
4318              
4319             Returns: nothing
4320              
4321             Disassociates a subnet from a route table.
4322              
4323             After you perform this action, the subnet no longer uses the routes in
4324             the route table. Instead, it uses the routes in the VPC's main route
4325             table. For more information about route tables, see Route Tables in the
4326             I<Amazon Virtual Private Cloud User Guide>.
4327              
4328              
4329             =head2 DisassociateSubnetCidrBlock(AssociationId => Str)
4330              
4331             Each argument is described in detail in: L<Paws::EC2::DisassociateSubnetCidrBlock>
4332              
4333             Returns: a L<Paws::EC2::DisassociateSubnetCidrBlockResult> instance
4334              
4335             Disassociates a CIDR block from a subnet. Currently, you can
4336             disassociate an IPv6 CIDR block only. You must detach or delete all
4337             gateways and resources that are associated with the CIDR block before
4338             you can disassociate it.
4339              
4340              
4341             =head2 DisassociateVpcCidrBlock(AssociationId => Str)
4342              
4343             Each argument is described in detail in: L<Paws::EC2::DisassociateVpcCidrBlock>
4344              
4345             Returns: a L<Paws::EC2::DisassociateVpcCidrBlockResult> instance
4346              
4347             Disassociates a CIDR block from a VPC. To disassociate the CIDR block,
4348             you must specify its association ID. You can get the association ID by
4349             using DescribeVpcs. You must detach or delete all gateways and
4350             resources that are associated with the CIDR block before you can
4351             disassociate it.
4352              
4353             You cannot disassociate the CIDR block with which you originally
4354             created the VPC (the primary CIDR block).
4355              
4356              
4357             =head2 EnableVgwRoutePropagation(GatewayId => Str, RouteTableId => Str)
4358              
4359             Each argument is described in detail in: L<Paws::EC2::EnableVgwRoutePropagation>
4360              
4361             Returns: nothing
4362              
4363             Enables a virtual private gateway (VGW) to propagate routes to the
4364             specified route table of a VPC.
4365              
4366              
4367             =head2 EnableVolumeIO(VolumeId => Str, [DryRun => Bool])
4368              
4369             Each argument is described in detail in: L<Paws::EC2::EnableVolumeIO>
4370              
4371             Returns: nothing
4372              
4373             Enables I/O operations for a volume that had I/O operations disabled
4374             because the data on the volume was potentially inconsistent.
4375              
4376              
4377             =head2 EnableVpcClassicLink(VpcId => Str, [DryRun => Bool])
4378              
4379             Each argument is described in detail in: L<Paws::EC2::EnableVpcClassicLink>
4380              
4381             Returns: a L<Paws::EC2::EnableVpcClassicLinkResult> instance
4382              
4383             Enables a VPC for ClassicLink. You can then link EC2-Classic instances
4384             to your ClassicLink-enabled VPC to allow communication over private IP
4385             addresses. You cannot enable your VPC for ClassicLink if any of your
4386             VPC's route tables have existing routes for address ranges within the
4387             C<10.0.0.0/8> IP address range, excluding local routes for VPCs in the
4388             C<10.0.0.0/16> and C<10.1.0.0/16> IP address ranges. For more
4389             information, see ClassicLink in the I<Amazon Elastic Compute Cloud User
4390             Guide>.
4391              
4392              
4393             =head2 EnableVpcClassicLinkDnsSupport([VpcId => Str])
4394              
4395             Each argument is described in detail in: L<Paws::EC2::EnableVpcClassicLinkDnsSupport>
4396              
4397             Returns: a L<Paws::EC2::EnableVpcClassicLinkDnsSupportResult> instance
4398              
4399             Enables a VPC to support DNS hostname resolution for ClassicLink. If
4400             enabled, the DNS hostname of a linked EC2-Classic instance resolves to
4401             its private IP address when addressed from an instance in the VPC to
4402             which it's linked. Similarly, the DNS hostname of an instance in a VPC
4403             resolves to its private IP address when addressed from a linked
4404             EC2-Classic instance. For more information about ClassicLink, see
4405             ClassicLink in the I<Amazon Elastic Compute Cloud User Guide>.
4406              
4407              
4408             =head2 GetConsoleOutput(InstanceId => Str, [DryRun => Bool])
4409              
4410             Each argument is described in detail in: L<Paws::EC2::GetConsoleOutput>
4411              
4412             Returns: a L<Paws::EC2::GetConsoleOutputResult> instance
4413              
4414             Gets the console output for the specified instance.
4415              
4416             Instances do not have a physical monitor through which you can view
4417             their console output. They also lack physical controls that allow you
4418             to power up, reboot, or shut them down. To allow these actions, we
4419             provide them through the Amazon EC2 API and command line interface.
4420              
4421             Instance console output is buffered and posted shortly after instance
4422             boot, reboot, and termination. Amazon EC2 preserves the most recent 64
4423             KB output, which is available for at least one hour after the most
4424             recent post.
4425              
4426             For Linux instances, the instance console output displays the exact
4427             console output that would normally be displayed on a physical monitor
4428             attached to a computer. This output is buffered because the instance
4429             produces it and then posts it to a store where the instance's owner can
4430             retrieve it.
4431              
4432             For Windows instances, the instance console output includes output from
4433             the EC2Config service.
4434              
4435              
4436             =head2 GetConsoleScreenshot(InstanceId => Str, [DryRun => Bool, WakeUp => Bool])
4437              
4438             Each argument is described in detail in: L<Paws::EC2::GetConsoleScreenshot>
4439              
4440             Returns: a L<Paws::EC2::GetConsoleScreenshotResult> instance
4441              
4442             Retrieve a JPG-format screenshot of a running instance to help with
4443             troubleshooting.
4444              
4445             The returned content is Base64-encoded.
4446              
4447              
4448             =head2 GetHostReservationPurchasePreview(HostIdSet => ArrayRef[Str|Undef], OfferingId => Str)
4449              
4450             Each argument is described in detail in: L<Paws::EC2::GetHostReservationPurchasePreview>
4451              
4452             Returns: a L<Paws::EC2::GetHostReservationPurchasePreviewResult> instance
4453              
4454             Preview a reservation purchase with configurations that match those of
4455             your Dedicated Host. You must have active Dedicated Hosts in your
4456             account before you purchase a reservation.
4457              
4458             This is a preview of the PurchaseHostReservation action and does not
4459             result in the offering being purchased.
4460              
4461              
4462             =head2 GetPasswordData(InstanceId => Str, [DryRun => Bool])
4463              
4464             Each argument is described in detail in: L<Paws::EC2::GetPasswordData>
4465              
4466             Returns: a L<Paws::EC2::GetPasswordDataResult> instance
4467              
4468             Retrieves the encrypted administrator password for a running Windows
4469             instance.
4470              
4471             The Windows password is generated at boot by the C<EC2Config> service
4472             or C<EC2Launch> scripts (Windows Server 2016 and later). This usually
4473             only happens the first time an instance is launched. For more
4474             information, see EC2Config and EC2Launch in the Amazon Elastic Compute
4475             Cloud User Guide.
4476              
4477             For the C<EC2Config> service, the password is not generated for
4478             rebundled AMIs unless C<Ec2SetPassword> is enabled before bundling.
4479              
4480             The password is encrypted using the key pair that you specified when
4481             you launched the instance. You must provide the corresponding key pair
4482             file.
4483              
4484             When you launch an instance, password generation and encryption may
4485             take a few minutes. If you try to retrieve the password before it's
4486             available, the output returns an empty string. We recommend that you
4487             wait up to 15 minutes after launching an instance before trying to
4488             retrieve the generated password.
4489              
4490              
4491             =head2 GetReservedInstancesExchangeQuote(ReservedInstanceIds => ArrayRef[Str|Undef], [DryRun => Bool, TargetConfigurations => ArrayRef[L<Paws::EC2::TargetConfigurationRequest>]])
4492              
4493             Each argument is described in detail in: L<Paws::EC2::GetReservedInstancesExchangeQuote>
4494              
4495             Returns: a L<Paws::EC2::GetReservedInstancesExchangeQuoteResult> instance
4496              
4497             Returns details about the values and term of your specified Convertible
4498             Reserved Instances. When a target configuration is specified, it
4499             returns information about whether the exchange is valid and can be
4500             performed.
4501              
4502              
4503             =head2 ImportImage([Architecture => Str, ClientData => L<Paws::EC2::ClientData>, ClientToken => Str, Description => Str, DiskContainers => ArrayRef[L<Paws::EC2::ImageDiskContainer>], DryRun => Bool, Hypervisor => Str, LicenseType => Str, Platform => Str, RoleName => Str])
4504              
4505             Each argument is described in detail in: L<Paws::EC2::ImportImage>
4506              
4507             Returns: a L<Paws::EC2::ImportImageResult> instance
4508              
4509             Import single or multi-volume disk images or EBS snapshots into an
4510             Amazon Machine Image (AMI). For more information, see Importing a VM as
4511             an Image Using VM Import/Export in the I<VM Import/Export User Guide>.
4512              
4513              
4514             =head2 ImportInstance(Platform => Str, [Description => Str, DiskImages => ArrayRef[L<Paws::EC2::DiskImage>], DryRun => Bool, LaunchSpecification => L<Paws::EC2::ImportInstanceLaunchSpecification>])
4515              
4516             Each argument is described in detail in: L<Paws::EC2::ImportInstance>
4517              
4518             Returns: a L<Paws::EC2::ImportInstanceResult> instance
4519              
4520             Creates an import instance task using metadata from the specified disk
4521             image. C<ImportInstance> only supports single-volume VMs. To import
4522             multi-volume VMs, use ImportImage. For more information, see Importing
4523             a Virtual Machine Using the Amazon EC2 CLI.
4524              
4525             For information about the import manifest referenced by this API
4526             action, see VM Import Manifest.
4527              
4528              
4529             =head2 ImportKeyPair(KeyName => Str, PublicKeyMaterial => Str, [DryRun => Bool])
4530              
4531             Each argument is described in detail in: L<Paws::EC2::ImportKeyPair>
4532              
4533             Returns: a L<Paws::EC2::ImportKeyPairResult> instance
4534              
4535             Imports the public key from an RSA key pair that you created with a
4536             third-party tool. Compare this with CreateKeyPair, in which AWS creates
4537             the key pair and gives the keys to you (AWS keeps a copy of the public
4538             key). With ImportKeyPair, you create the key pair and give AWS just the
4539             public key. The private key is never transferred between you and AWS.
4540              
4541             For more information about key pairs, see Key Pairs in the I<Amazon
4542             Elastic Compute Cloud User Guide>.
4543              
4544              
4545             =head2 ImportSnapshot([ClientData => L<Paws::EC2::ClientData>, ClientToken => Str, Description => Str, DiskContainer => L<Paws::EC2::SnapshotDiskContainer>, DryRun => Bool, RoleName => Str])
4546              
4547             Each argument is described in detail in: L<Paws::EC2::ImportSnapshot>
4548              
4549             Returns: a L<Paws::EC2::ImportSnapshotResult> instance
4550              
4551             Imports a disk into an EBS snapshot.
4552              
4553              
4554             =head2 ImportVolume(AvailabilityZone => Str, Image => L<Paws::EC2::DiskImageDetail>, Volume => L<Paws::EC2::VolumeDetail>, [Description => Str, DryRun => Bool])
4555              
4556             Each argument is described in detail in: L<Paws::EC2::ImportVolume>
4557              
4558             Returns: a L<Paws::EC2::ImportVolumeResult> instance
4559              
4560             Creates an import volume task using metadata from the specified disk
4561             image.For more information, see Importing Disks to Amazon EBS.
4562              
4563             For information about the import manifest referenced by this API
4564             action, see VM Import Manifest.
4565              
4566              
4567             =head2 ModifyFpgaImageAttribute(FpgaImageId => Str, [Attribute => Str, Description => Str, DryRun => Bool, LoadPermission => L<Paws::EC2::LoadPermissionModifications>, Name => Str, OperationType => Str, ProductCodes => ArrayRef[Str|Undef], UserGroups => ArrayRef[Str|Undef], UserIds => ArrayRef[Str|Undef]])
4568              
4569             Each argument is described in detail in: L<Paws::EC2::ModifyFpgaImageAttribute>
4570              
4571             Returns: a L<Paws::EC2::ModifyFpgaImageAttributeResult> instance
4572              
4573             Modifies the specified attribute of the specified Amazon FPGA Image
4574             (AFI).
4575              
4576              
4577             =head2 ModifyHosts(AutoPlacement => Str, HostIds => ArrayRef[Str|Undef])
4578              
4579             Each argument is described in detail in: L<Paws::EC2::ModifyHosts>
4580              
4581             Returns: a L<Paws::EC2::ModifyHostsResult> instance
4582              
4583             Modify the auto-placement setting of a Dedicated Host. When
4584             auto-placement is enabled, AWS will place instances that you launch
4585             with a tenancy of C<host>, but without targeting a specific host ID,
4586             onto any available Dedicated Host in your account which has
4587             auto-placement enabled. When auto-placement is disabled, you need to
4588             provide a host ID if you want the instance to launch onto a specific
4589             host. If no host ID is provided, the instance will be launched onto a
4590             suitable host which has auto-placement enabled.
4591              
4592              
4593             =head2 ModifyIdentityIdFormat(PrincipalArn => Str, Resource => Str, UseLongIds => Bool)
4594              
4595             Each argument is described in detail in: L<Paws::EC2::ModifyIdentityIdFormat>
4596              
4597             Returns: nothing
4598              
4599             Modifies the ID format of a resource for a specified IAM user, IAM
4600             role, or the root user for an account; or all IAM users, IAM roles, and
4601             the root user for an account. You can specify that resources should
4602             receive longer IDs (17-character IDs) when they are created.
4603              
4604             The following resource types support longer IDs: C<instance> |
4605             C<reservation> | C<snapshot> | C<volume>. For more information, see
4606             Resource IDs in the I<Amazon Elastic Compute Cloud User Guide>.
4607              
4608             This setting applies to the principal specified in the request; it does
4609             not apply to the principal that makes the request.
4610              
4611             Resources created with longer IDs are visible to all IAM roles and
4612             users, regardless of these settings and provided that they have
4613             permission to use the relevant C<Describe> command for the resource
4614             type.
4615              
4616              
4617             =head2 ModifyIdFormat(Resource => Str, UseLongIds => Bool)
4618              
4619             Each argument is described in detail in: L<Paws::EC2::ModifyIdFormat>
4620              
4621             Returns: nothing
4622              
4623             Modifies the ID format for the specified resource on a per-region
4624             basis. You can specify that resources should receive longer IDs
4625             (17-character IDs) when they are created. The following resource types
4626             support longer IDs: C<instance> | C<reservation> | C<snapshot> |
4627             C<volume>.
4628              
4629             This setting applies to the IAM user who makes the request; it does not
4630             apply to the entire AWS account. By default, an IAM user defaults to
4631             the same settings as the root user. If you're using this action as the
4632             root user, then these settings apply to the entire account, unless an
4633             IAM user explicitly overrides these settings for themselves. For more
4634             information, see Resource IDs in the I<Amazon Elastic Compute Cloud
4635             User Guide>.
4636              
4637             Resources created with longer IDs are visible to all IAM roles and
4638             users, regardless of these settings and provided that they have
4639             permission to use the relevant C<Describe> command for the resource
4640             type.
4641              
4642              
4643             =head2 ModifyImageAttribute(ImageId => Str, [Attribute => Str, Description => L<Paws::EC2::AttributeValue>, DryRun => Bool, LaunchPermission => L<Paws::EC2::LaunchPermissionModifications>, OperationType => Str, ProductCodes => ArrayRef[Str|Undef], UserGroups => ArrayRef[Str|Undef], UserIds => ArrayRef[Str|Undef], Value => Str])
4644              
4645             Each argument is described in detail in: L<Paws::EC2::ModifyImageAttribute>
4646              
4647             Returns: nothing
4648              
4649             Modifies the specified attribute of the specified AMI. You can specify
4650             only one attribute at a time.
4651              
4652             AWS Marketplace product codes cannot be modified. Images with an AWS
4653             Marketplace product code cannot be made public.
4654              
4655             The SriovNetSupport enhanced networking attribute cannot be changed
4656             using this command. Instead, enable SriovNetSupport on an instance and
4657             create an AMI from the instance. This will result in an image with
4658             SriovNetSupport enabled.
4659              
4660              
4661             =head2 ModifyInstanceAttribute(InstanceId => Str, [Attribute => Str, BlockDeviceMappings => ArrayRef[L<Paws::EC2::InstanceBlockDeviceMappingSpecification>], DisableApiTermination => L<Paws::EC2::AttributeBooleanValue>, DryRun => Bool, EbsOptimized => L<Paws::EC2::AttributeBooleanValue>, EnaSupport => L<Paws::EC2::AttributeBooleanValue>, Groups => ArrayRef[Str|Undef], InstanceInitiatedShutdownBehavior => L<Paws::EC2::AttributeValue>, InstanceType => L<Paws::EC2::AttributeValue>, Kernel => L<Paws::EC2::AttributeValue>, Ramdisk => L<Paws::EC2::AttributeValue>, SourceDestCheck => L<Paws::EC2::AttributeBooleanValue>, SriovNetSupport => L<Paws::EC2::AttributeValue>, UserData => L<Paws::EC2::BlobAttributeValue>, Value => Str])
4662              
4663             Each argument is described in detail in: L<Paws::EC2::ModifyInstanceAttribute>
4664              
4665             Returns: nothing
4666              
4667             Modifies the specified attribute of the specified instance. You can
4668             specify only one attribute at a time.
4669              
4670             To modify some attributes, the instance must be stopped. For more
4671             information, see Modifying Attributes of a Stopped Instance in the
4672             I<Amazon Elastic Compute Cloud User Guide>.
4673              
4674              
4675             =head2 ModifyInstancePlacement(InstanceId => Str, [Affinity => Str, HostId => Str, Tenancy => Str])
4676              
4677             Each argument is described in detail in: L<Paws::EC2::ModifyInstancePlacement>
4678              
4679             Returns: a L<Paws::EC2::ModifyInstancePlacementResult> instance
4680              
4681             Set the instance affinity value for a specific stopped instance and
4682             modify the instance tenancy setting.
4683              
4684             Instance affinity is disabled by default. When instance affinity is
4685             C<host> and it is not associated with a specific Dedicated Host, the
4686             next time it is launched it will automatically be associated with the
4687             host it lands on. This relationship will persist if the instance is
4688             stopped/started, or rebooted.
4689              
4690             You can modify the host ID associated with a stopped instance. If a
4691             stopped instance has a new host ID association, the instance will
4692             target that host when restarted.
4693              
4694             You can modify the tenancy of a stopped instance with a tenancy of
4695             C<host> or C<dedicated>.
4696              
4697             Affinity, hostID, and tenancy are not required parameters, but at least
4698             one of them must be specified in the request. Affinity and tenancy can
4699             be modified in the same request, but tenancy can only be modified on
4700             instances that are stopped.
4701              
4702              
4703             =head2 ModifyNetworkInterfaceAttribute(NetworkInterfaceId => Str, [Attachment => L<Paws::EC2::NetworkInterfaceAttachmentChanges>, Description => L<Paws::EC2::AttributeValue>, DryRun => Bool, Groups => ArrayRef[Str|Undef], SourceDestCheck => L<Paws::EC2::AttributeBooleanValue>])
4704              
4705             Each argument is described in detail in: L<Paws::EC2::ModifyNetworkInterfaceAttribute>
4706              
4707             Returns: nothing
4708              
4709             Modifies the specified network interface attribute. You can specify
4710             only one attribute at a time.
4711              
4712              
4713             =head2 ModifyReservedInstances(ReservedInstancesIds => ArrayRef[Str|Undef], TargetConfigurations => ArrayRef[L<Paws::EC2::ReservedInstancesConfiguration>], [ClientToken => Str])
4714              
4715             Each argument is described in detail in: L<Paws::EC2::ModifyReservedInstances>
4716              
4717             Returns: a L<Paws::EC2::ModifyReservedInstancesResult> instance
4718              
4719             Modifies the Availability Zone, instance count, instance type, or
4720             network platform (EC2-Classic or EC2-VPC) of your Standard Reserved
4721             Instances. The Reserved Instances to be modified must be identical,
4722             except for Availability Zone, network platform, and instance type.
4723              
4724             For more information, see Modifying Reserved Instances in the Amazon
4725             Elastic Compute Cloud User Guide.
4726              
4727              
4728             =head2 ModifySnapshotAttribute(SnapshotId => Str, [Attribute => Str, CreateVolumePermission => L<Paws::EC2::CreateVolumePermissionModifications>, DryRun => Bool, GroupNames => ArrayRef[Str|Undef], OperationType => Str, UserIds => ArrayRef[Str|Undef]])
4729              
4730             Each argument is described in detail in: L<Paws::EC2::ModifySnapshotAttribute>
4731              
4732             Returns: nothing
4733              
4734             Adds or removes permission settings for the specified snapshot. You may
4735             add or remove specified AWS account IDs from a snapshot's list of
4736             create volume permissions, but you cannot do both in a single API call.
4737             If you need to both add and remove account IDs for a snapshot, you must
4738             use multiple API calls.
4739              
4740             Encrypted snapshots and snapshots with AWS Marketplace product codes
4741             cannot be made public. Snapshots encrypted with your default CMK cannot
4742             be shared with other accounts.
4743              
4744             For more information on modifying snapshot permissions, see Sharing
4745             Snapshots in the I<Amazon Elastic Compute Cloud User Guide>.
4746              
4747              
4748             =head2 ModifySpotFleetRequest(SpotFleetRequestId => Str, [ExcessCapacityTerminationPolicy => Str, TargetCapacity => Int])
4749              
4750             Each argument is described in detail in: L<Paws::EC2::ModifySpotFleetRequest>
4751              
4752             Returns: a L<Paws::EC2::ModifySpotFleetRequestResponse> instance
4753              
4754             Modifies the specified Spot fleet request.
4755              
4756             While the Spot fleet request is being modified, it is in the
4757             C<modifying> state.
4758              
4759             To scale up your Spot fleet, increase its target capacity. The Spot
4760             fleet launches the additional Spot instances according to the
4761             allocation strategy for the Spot fleet request. If the allocation
4762             strategy is C<lowestPrice>, the Spot fleet launches instances using the
4763             Spot pool with the lowest price. If the allocation strategy is
4764             C<diversified>, the Spot fleet distributes the instances across the
4765             Spot pools.
4766              
4767             To scale down your Spot fleet, decrease its target capacity. First, the
4768             Spot fleet cancels any open bids that exceed the new target capacity.
4769             You can request that the Spot fleet terminate Spot instances until the
4770             size of the fleet no longer exceeds the new target capacity. If the
4771             allocation strategy is C<lowestPrice>, the Spot fleet terminates the
4772             instances with the highest price per unit. If the allocation strategy
4773             is C<diversified>, the Spot fleet terminates instances across the Spot
4774             pools. Alternatively, you can request that the Spot fleet keep the
4775             fleet at its current size, but not replace any Spot instances that are
4776             interrupted or that you terminate manually.
4777              
4778              
4779             =head2 ModifySubnetAttribute(SubnetId => Str, [AssignIpv6AddressOnCreation => L<Paws::EC2::AttributeBooleanValue>, MapPublicIpOnLaunch => L<Paws::EC2::AttributeBooleanValue>])
4780              
4781             Each argument is described in detail in: L<Paws::EC2::ModifySubnetAttribute>
4782              
4783             Returns: nothing
4784              
4785             Modifies a subnet attribute. You can only modify one attribute at a
4786             time.
4787              
4788              
4789             =head2 ModifyVolume(VolumeId => Str, [DryRun => Bool, Iops => Int, Size => Int, VolumeType => Str])
4790              
4791             Each argument is described in detail in: L<Paws::EC2::ModifyVolume>
4792              
4793             Returns: a L<Paws::EC2::ModifyVolumeResult> instance
4794              
4795             You can modify several parameters of an existing EBS volume, including
4796             volume size, volume type, and IOPS capacity. If your EBS volume is
4797             attached to a current-generation EC2 instance type, you may be able to
4798             apply these changes without stopping the instance or detaching the
4799             volume from it. For more information about modifying an EBS volume
4800             running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume
4801             on Linux. For more information about modifying an EBS volume running
4802             Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on
4803             Windows.
4804              
4805             When you complete a resize operation on your volume, you need to extend
4806             the volume's file-system size to take advantage of the new storage
4807             capacity. For information about extending a Linux file system, see
4808             Extending a Linux File System. For information about extending a
4809             Windows file system, see Extending a Windows File System.
4810              
4811             You can use CloudWatch Events to check the status of a modification to
4812             an EBS volume. For information about CloudWatch Events, see the Amazon
4813             CloudWatch Events User Guide. You can also track the status of a
4814             modification using the DescribeVolumesModifications API. For
4815             information about tracking status changes using either method, see
4816             Monitoring Volume Modifications.
4817              
4818             With previous-generation instance types, resizing an EBS volume may
4819             require detaching and reattaching the volume or stopping and restarting
4820             the instance. For more information about modifying an EBS volume
4821             running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume
4822             on Linux. For more information about modifying an EBS volume running
4823             Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on
4824             Windows.
4825              
4826             If you reach the maximum volume modification rate per volume limit, you
4827             will need to wait at least six hours before applying further
4828             modifications to the affected EBS volume.
4829              
4830              
4831             =head2 ModifyVolumeAttribute(VolumeId => Str, [AutoEnableIO => L<Paws::EC2::AttributeBooleanValue>, DryRun => Bool])
4832              
4833             Each argument is described in detail in: L<Paws::EC2::ModifyVolumeAttribute>
4834              
4835             Returns: nothing
4836              
4837             Modifies a volume attribute.
4838              
4839             By default, all I/O operations for the volume are suspended when the
4840             data on the volume is determined to be potentially inconsistent, to
4841             prevent undetectable, latent data corruption. The I/O access to the
4842             volume can be resumed by first enabling I/O access and then checking
4843             the data consistency on your volume.
4844              
4845             You can change the default behavior to resume I/O operations. We
4846             recommend that you change this only for boot volumes or for volumes
4847             that are stateless or disposable.
4848              
4849              
4850             =head2 ModifyVpcAttribute(VpcId => Str, [EnableDnsHostnames => L<Paws::EC2::AttributeBooleanValue>, EnableDnsSupport => L<Paws::EC2::AttributeBooleanValue>])
4851              
4852             Each argument is described in detail in: L<Paws::EC2::ModifyVpcAttribute>
4853              
4854             Returns: nothing
4855              
4856             Modifies the specified attribute of the specified VPC.
4857              
4858              
4859             =head2 ModifyVpcEndpoint(VpcEndpointId => Str, [AddRouteTableIds => ArrayRef[Str|Undef], DryRun => Bool, PolicyDocument => Str, RemoveRouteTableIds => ArrayRef[Str|Undef], ResetPolicy => Bool])
4860              
4861             Each argument is described in detail in: L<Paws::EC2::ModifyVpcEndpoint>
4862              
4863             Returns: a L<Paws::EC2::ModifyVpcEndpointResult> instance
4864              
4865             Modifies attributes of a specified VPC endpoint. You can modify the
4866             policy associated with the endpoint, and you can add and remove route
4867             tables associated with the endpoint.
4868              
4869              
4870             =head2 ModifyVpcPeeringConnectionOptions(VpcPeeringConnectionId => Str, [AccepterPeeringConnectionOptions => L<Paws::EC2::PeeringConnectionOptionsRequest>, DryRun => Bool, RequesterPeeringConnectionOptions => L<Paws::EC2::PeeringConnectionOptionsRequest>])
4871              
4872             Each argument is described in detail in: L<Paws::EC2::ModifyVpcPeeringConnectionOptions>
4873              
4874             Returns: a L<Paws::EC2::ModifyVpcPeeringConnectionOptionsResult> instance
4875              
4876             Modifies the VPC peering connection options on one side of a VPC
4877             peering connection. You can do the following:
4878              
4879             =over
4880              
4881             =item *
4882              
4883             Enable/disable communication over the peering connection between an
4884             EC2-Classic instance that's linked to your VPC (using ClassicLink) and
4885             instances in the peer VPC.
4886              
4887             =item *
4888              
4889             Enable/disable communication over the peering connection between
4890             instances in your VPC and an EC2-Classic instance that's linked to the
4891             peer VPC.
4892              
4893             =item *
4894              
4895             Enable/disable a local VPC to resolve public DNS hostnames to private
4896             IP addresses when queried from instances in the peer VPC.
4897              
4898             =back
4899              
4900             If the peered VPCs are in different accounts, each owner must initiate
4901             a separate request to modify the peering connection options, depending
4902             on whether their VPC was the requester or accepter for the VPC peering
4903             connection. If the peered VPCs are in the same account, you can modify
4904             the requester and accepter options in the same request. To confirm
4905             which VPC is the accepter and requester for a VPC peering connection,
4906             use the DescribeVpcPeeringConnections command.
4907              
4908              
4909             =head2 MonitorInstances(InstanceIds => ArrayRef[Str|Undef], [DryRun => Bool])
4910              
4911             Each argument is described in detail in: L<Paws::EC2::MonitorInstances>
4912              
4913             Returns: a L<Paws::EC2::MonitorInstancesResult> instance
4914              
4915             Enables detailed monitoring for a running instance. Otherwise, basic
4916             monitoring is enabled. For more information, see Monitoring Your
4917             Instances and Volumes in the I<Amazon Elastic Compute Cloud User
4918             Guide>.
4919              
4920             To disable detailed monitoring, see .
4921              
4922              
4923             =head2 MoveAddressToVpc(PublicIp => Str, [DryRun => Bool])
4924              
4925             Each argument is described in detail in: L<Paws::EC2::MoveAddressToVpc>
4926              
4927             Returns: a L<Paws::EC2::MoveAddressToVpcResult> instance
4928              
4929             Moves an Elastic IP address from the EC2-Classic platform to the
4930             EC2-VPC platform. The Elastic IP address must be allocated to your
4931             account for more than 24 hours, and it must not be associated with an
4932             instance. After the Elastic IP address is moved, it is no longer
4933             available for use in the EC2-Classic platform, unless you move it back
4934             using the RestoreAddressToClassic request. You cannot move an Elastic
4935             IP address that was originally allocated for use in the EC2-VPC
4936             platform to the EC2-Classic platform.
4937              
4938              
4939             =head2 PurchaseHostReservation(HostIdSet => ArrayRef[Str|Undef], OfferingId => Str, [ClientToken => Str, CurrencyCode => Str, LimitPrice => Str])
4940              
4941             Each argument is described in detail in: L<Paws::EC2::PurchaseHostReservation>
4942              
4943             Returns: a L<Paws::EC2::PurchaseHostReservationResult> instance
4944              
4945             Purchase a reservation with configurations that match those of your
4946             Dedicated Host. You must have active Dedicated Hosts in your account
4947             before you purchase a reservation. This action results in the specified
4948             reservation being purchased and charged to your account.
4949              
4950              
4951             =head2 PurchaseReservedInstancesOffering(InstanceCount => Int, ReservedInstancesOfferingId => Str, [DryRun => Bool, LimitPrice => L<Paws::EC2::ReservedInstanceLimitPrice>])
4952              
4953             Each argument is described in detail in: L<Paws::EC2::PurchaseReservedInstancesOffering>
4954              
4955             Returns: a L<Paws::EC2::PurchaseReservedInstancesOfferingResult> instance
4956              
4957             Purchases a Reserved Instance for use with your account. With Reserved
4958             Instances, you pay a lower hourly rate compared to On-Demand instance
4959             pricing.
4960              
4961             Use DescribeReservedInstancesOfferings to get a list of Reserved
4962             Instance offerings that match your specifications. After you've
4963             purchased a Reserved Instance, you can check for your new Reserved
4964             Instance with DescribeReservedInstances.
4965              
4966             For more information, see Reserved Instances and Reserved Instance
4967             Marketplace in the I<Amazon Elastic Compute Cloud User Guide>.
4968              
4969              
4970             =head2 PurchaseScheduledInstances(PurchaseRequests => ArrayRef[L<Paws::EC2::PurchaseRequest>], [ClientToken => Str, DryRun => Bool])
4971              
4972             Each argument is described in detail in: L<Paws::EC2::PurchaseScheduledInstances>
4973              
4974             Returns: a L<Paws::EC2::PurchaseScheduledInstancesResult> instance
4975              
4976             Purchases one or more Scheduled Instances with the specified schedule.
4977              
4978             Scheduled Instances enable you to purchase Amazon EC2 compute capacity
4979             by the hour for a one-year term. Before you can purchase a Scheduled
4980             Instance, you must call DescribeScheduledInstanceAvailability to check
4981             for available schedules and obtain a purchase token. After you purchase
4982             a Scheduled Instance, you must call RunScheduledInstances during each
4983             scheduled time period.
4984              
4985             After you purchase a Scheduled Instance, you can't cancel, modify, or
4986             resell your purchase.
4987              
4988              
4989             =head2 RebootInstances(InstanceIds => ArrayRef[Str|Undef], [DryRun => Bool])
4990              
4991             Each argument is described in detail in: L<Paws::EC2::RebootInstances>
4992              
4993             Returns: nothing
4994              
4995             Requests a reboot of one or more instances. This operation is
4996             asynchronous; it only queues a request to reboot the specified
4997             instances. The operation succeeds if the instances are valid and belong
4998             to you. Requests to reboot terminated instances are ignored.
4999              
5000             If an instance does not cleanly shut down within four minutes, Amazon
5001             EC2 performs a hard reboot.
5002              
5003             For more information about troubleshooting, see Getting Console Output
5004             and Rebooting Instances in the I<Amazon Elastic Compute Cloud User
5005             Guide>.
5006              
5007              
5008             =head2 RegisterImage(Name => Str, [Architecture => Str, BillingProducts => ArrayRef[Str|Undef], BlockDeviceMappings => ArrayRef[L<Paws::EC2::BlockDeviceMapping>], Description => Str, DryRun => Bool, EnaSupport => Bool, ImageLocation => Str, KernelId => Str, RamdiskId => Str, RootDeviceName => Str, SriovNetSupport => Str, VirtualizationType => Str])
5009              
5010             Each argument is described in detail in: L<Paws::EC2::RegisterImage>
5011              
5012             Returns: a L<Paws::EC2::RegisterImageResult> instance
5013              
5014             Registers an AMI. When you're creating an AMI, this is the final step
5015             you must complete before you can launch an instance from the AMI. For
5016             more information about creating AMIs, see Creating Your Own AMIs in the
5017             I<Amazon Elastic Compute Cloud User Guide>.
5018              
5019             For Amazon EBS-backed instances, CreateImage creates and registers the
5020             AMI in a single request, so you don't have to register the AMI
5021             yourself.
5022              
5023             You can also use C<RegisterImage> to create an Amazon EBS-backed Linux
5024             AMI from a snapshot of a root device volume. You specify the snapshot
5025             using the block device mapping. For more information, see Launching a
5026             Linux Instance from a Backup in the I<Amazon Elastic Compute Cloud User
5027             Guide>.
5028              
5029             You can't register an image where a secondary (non-root) snapshot has
5030             AWS Marketplace product codes.
5031              
5032             Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and
5033             SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
5034             associated with an AMI to verify the subscription status for package
5035             updates. Creating an AMI from an EBS snapshot does not maintain this
5036             billing code, and subsequent instances launched from such an AMI will
5037             not be able to connect to package update infrastructure. To create an
5038             AMI that must retain billing codes, see CreateImage.
5039              
5040             If needed, you can deregister an AMI at any time. Any modifications you
5041             make to an AMI backed by an instance store volume invalidates its
5042             registration. If you make changes to an image, deregister the previous
5043             image and register the new image.
5044              
5045              
5046             =head2 RejectVpcPeeringConnection(VpcPeeringConnectionId => Str, [DryRun => Bool])
5047              
5048             Each argument is described in detail in: L<Paws::EC2::RejectVpcPeeringConnection>
5049              
5050             Returns: a L<Paws::EC2::RejectVpcPeeringConnectionResult> instance
5051              
5052             Rejects a VPC peering connection request. The VPC peering connection
5053             must be in the C<pending-acceptance> state. Use the
5054             DescribeVpcPeeringConnections request to view your outstanding VPC
5055             peering connection requests. To delete an active VPC peering
5056             connection, or to delete a VPC peering connection request that you
5057             initiated, use DeleteVpcPeeringConnection.
5058              
5059              
5060             =head2 ReleaseAddress([AllocationId => Str, DryRun => Bool, PublicIp => Str])
5061              
5062             Each argument is described in detail in: L<Paws::EC2::ReleaseAddress>
5063              
5064             Returns: nothing
5065              
5066             Releases the specified Elastic IP address.
5067              
5068             [EC2-Classic, default VPC] Releasing an Elastic IP address
5069             automatically disassociates it from any instance that it's associated
5070             with. To disassociate an Elastic IP address without releasing it, use
5071             DisassociateAddress.
5072              
5073             [Nondefault VPC] You must use DisassociateAddress to disassociate the
5074             Elastic IP address before you can release it. Otherwise, Amazon EC2
5075             returns an error (C<InvalidIPAddress.InUse>).
5076              
5077             After releasing an Elastic IP address, it is released to the IP address
5078             pool. Be sure to update your DNS records and any servers or devices
5079             that communicate with the address. If you attempt to release an Elastic
5080             IP address that you already released, you'll get an C<AuthFailure>
5081             error if the address is already allocated to another AWS account.
5082              
5083             [EC2-VPC] After you release an Elastic IP address for use in a VPC, you
5084             might be able to recover it. For more information, see AllocateAddress.
5085              
5086              
5087             =head2 ReleaseHosts(HostIds => ArrayRef[Str|Undef])
5088              
5089             Each argument is described in detail in: L<Paws::EC2::ReleaseHosts>
5090              
5091             Returns: a L<Paws::EC2::ReleaseHostsResult> instance
5092              
5093             When you no longer want to use an On-Demand Dedicated Host it can be
5094             released. On-Demand billing is stopped and the host goes into
5095             C<released> state. The host ID of Dedicated Hosts that have been
5096             released can no longer be specified in another request, e.g.,
5097             ModifyHosts. You must stop or terminate all instances on a host before
5098             it can be released.
5099              
5100             When Dedicated Hosts are released, it make take some time for them to
5101             stop counting toward your limit and you may receive capacity errors
5102             when trying to allocate new Dedicated hosts. Try waiting a few minutes,
5103             and then try again.
5104              
5105             Released hosts will still appear in a DescribeHosts response.
5106              
5107              
5108             =head2 ReplaceIamInstanceProfileAssociation(AssociationId => Str, IamInstanceProfile => L<Paws::EC2::IamInstanceProfileSpecification>)
5109              
5110             Each argument is described in detail in: L<Paws::EC2::ReplaceIamInstanceProfileAssociation>
5111              
5112             Returns: a L<Paws::EC2::ReplaceIamInstanceProfileAssociationResult> instance
5113              
5114             Replaces an IAM instance profile for the specified running instance.
5115             You can use this action to change the IAM instance profile that's
5116             associated with an instance without having to disassociate the existing
5117             IAM instance profile first.
5118              
5119             Use DescribeIamInstanceProfileAssociations to get the association ID.
5120              
5121              
5122             =head2 ReplaceNetworkAclAssociation(AssociationId => Str, NetworkAclId => Str, [DryRun => Bool])
5123              
5124             Each argument is described in detail in: L<Paws::EC2::ReplaceNetworkAclAssociation>
5125              
5126             Returns: a L<Paws::EC2::ReplaceNetworkAclAssociationResult> instance
5127              
5128             Changes which network ACL a subnet is associated with. By default when
5129             you create a subnet, it's automatically associated with the default
5130             network ACL. For more information about network ACLs, see Network ACLs
5131             in the I<Amazon Virtual Private Cloud User Guide>.
5132              
5133              
5134             =head2 ReplaceNetworkAclEntry(Egress => Bool, NetworkAclId => Str, Protocol => Str, RuleAction => Str, RuleNumber => Int, [CidrBlock => Str, DryRun => Bool, IcmpTypeCode => L<Paws::EC2::IcmpTypeCode>, Ipv6CidrBlock => Str, PortRange => L<Paws::EC2::PortRange>])
5135              
5136             Each argument is described in detail in: L<Paws::EC2::ReplaceNetworkAclEntry>
5137              
5138             Returns: nothing
5139              
5140             Replaces an entry (rule) in a network ACL. For more information about
5141             network ACLs, see Network ACLs in the I<Amazon Virtual Private Cloud
5142             User Guide>.
5143              
5144              
5145             =head2 ReplaceRoute(RouteTableId => Str, [DestinationCidrBlock => Str, DestinationIpv6CidrBlock => Str, DryRun => Bool, EgressOnlyInternetGatewayId => Str, GatewayId => Str, InstanceId => Str, NatGatewayId => Str, NetworkInterfaceId => Str, VpcPeeringConnectionId => Str])
5146              
5147             Each argument is described in detail in: L<Paws::EC2::ReplaceRoute>
5148              
5149             Returns: nothing
5150              
5151             Replaces an existing route within a route table in a VPC. You must
5152             provide only one of the following: Internet gateway or virtual private
5153             gateway, NAT instance, NAT gateway, VPC peering connection, network
5154             interface, or egress-only Internet gateway.
5155              
5156             For more information about route tables, see Route Tables in the
5157             I<Amazon Virtual Private Cloud User Guide>.
5158              
5159              
5160             =head2 ReplaceRouteTableAssociation(AssociationId => Str, RouteTableId => Str, [DryRun => Bool])
5161              
5162             Each argument is described in detail in: L<Paws::EC2::ReplaceRouteTableAssociation>
5163              
5164             Returns: a L<Paws::EC2::ReplaceRouteTableAssociationResult> instance
5165              
5166             Changes the route table associated with a given subnet in a VPC. After
5167             the operation completes, the subnet uses the routes in the new route
5168             table it's associated with. For more information about route tables,
5169             see Route Tables in the I<Amazon Virtual Private Cloud User Guide>.
5170              
5171             You can also use ReplaceRouteTableAssociation to change which table is
5172             the main route table in the VPC. You just specify the main route
5173             table's association ID and the route table to be the new main route
5174             table.
5175              
5176              
5177             =head2 ReportInstanceStatus(Instances => ArrayRef[Str|Undef], ReasonCodes => ArrayRef[Str|Undef], Status => Str, [Description => Str, DryRun => Bool, EndTime => Str, StartTime => Str])
5178              
5179             Each argument is described in detail in: L<Paws::EC2::ReportInstanceStatus>
5180              
5181             Returns: nothing
5182              
5183             Submits feedback about the status of an instance. The instance must be
5184             in the C<running> state. If your experience with the instance differs
5185             from the instance status returned by DescribeInstanceStatus, use
5186             ReportInstanceStatus to report your experience with the instance.
5187             Amazon EC2 collects this information to improve the accuracy of status
5188             checks.
5189              
5190             Use of this action does not change the value returned by
5191             DescribeInstanceStatus.
5192              
5193              
5194             =head2 RequestSpotFleet(SpotFleetRequestConfig => L<Paws::EC2::SpotFleetRequestConfigData>, [DryRun => Bool])
5195              
5196             Each argument is described in detail in: L<Paws::EC2::RequestSpotFleet>
5197              
5198             Returns: a L<Paws::EC2::RequestSpotFleetResponse> instance
5199              
5200             Creates a Spot fleet request.
5201              
5202             You can submit a single request that includes multiple launch
5203             specifications that vary by instance type, AMI, Availability Zone, or
5204             subnet.
5205              
5206             By default, the Spot fleet requests Spot instances in the Spot pool
5207             where the price per unit is the lowest. Each launch specification can
5208             include its own instance weighting that reflects the value of the
5209             instance type to your application workload.
5210              
5211             Alternatively, you can specify that the Spot fleet distribute the
5212             target capacity across the Spot pools included in its launch
5213             specifications. By ensuring that the Spot instances in your Spot fleet
5214             are in different Spot pools, you can improve the availability of your
5215             fleet.
5216              
5217             For more information, see Spot Fleet Requests in the I<Amazon Elastic
5218             Compute Cloud User Guide>.
5219              
5220              
5221             =head2 RequestSpotInstances(SpotPrice => Str, [AvailabilityZoneGroup => Str, BlockDurationMinutes => Int, ClientToken => Str, DryRun => Bool, InstanceCount => Int, InstanceInterruptionBehavior => Str, LaunchGroup => Str, LaunchSpecification => L<Paws::EC2::RequestSpotLaunchSpecification>, Type => Str, ValidFrom => Str, ValidUntil => Str])
5222              
5223             Each argument is described in detail in: L<Paws::EC2::RequestSpotInstances>
5224              
5225             Returns: a L<Paws::EC2::RequestSpotInstancesResult> instance
5226              
5227             Creates a Spot instance request. Spot instances are instances that
5228             Amazon EC2 launches when the bid price that you specify exceeds the
5229             current Spot price. Amazon EC2 periodically sets the Spot price based
5230             on available Spot Instance capacity and current Spot instance requests.
5231             For more information, see Spot Instance Requests in the I<Amazon
5232             Elastic Compute Cloud User Guide>.
5233              
5234              
5235             =head2 ResetFpgaImageAttribute(FpgaImageId => Str, [Attribute => Str, DryRun => Bool])
5236              
5237             Each argument is described in detail in: L<Paws::EC2::ResetFpgaImageAttribute>
5238              
5239             Returns: a L<Paws::EC2::ResetFpgaImageAttributeResult> instance
5240              
5241             Resets the specified attribute of the specified Amazon FPGA Image (AFI)
5242             to its default value. You can only reset the load permission attribute.
5243              
5244              
5245             =head2 ResetImageAttribute(Attribute => Str, ImageId => Str, [DryRun => Bool])
5246              
5247             Each argument is described in detail in: L<Paws::EC2::ResetImageAttribute>
5248              
5249             Returns: nothing
5250              
5251             Resets an attribute of an AMI to its default value.
5252              
5253             The productCodes attribute can't be reset.
5254              
5255              
5256             =head2 ResetInstanceAttribute(Attribute => Str, InstanceId => Str, [DryRun => Bool])
5257              
5258             Each argument is described in detail in: L<Paws::EC2::ResetInstanceAttribute>
5259              
5260             Returns: nothing
5261              
5262             Resets an attribute of an instance to its default value. To reset the
5263             C<kernel> or C<ramdisk>, the instance must be in a stopped state. To
5264             reset the C<sourceDestCheck>, the instance can be either running or
5265             stopped.
5266              
5267             The C<sourceDestCheck> attribute controls whether source/destination
5268             checking is enabled. The default value is C<true>, which means checking
5269             is enabled. This value must be C<false> for a NAT instance to perform
5270             NAT. For more information, see NAT Instances in the I<Amazon Virtual
5271             Private Cloud User Guide>.
5272              
5273              
5274             =head2 ResetNetworkInterfaceAttribute(NetworkInterfaceId => Str, [DryRun => Bool, SourceDestCheck => Str])
5275              
5276             Each argument is described in detail in: L<Paws::EC2::ResetNetworkInterfaceAttribute>
5277              
5278             Returns: nothing
5279              
5280             Resets a network interface attribute. You can specify only one
5281             attribute at a time.
5282              
5283              
5284             =head2 ResetSnapshotAttribute(Attribute => Str, SnapshotId => Str, [DryRun => Bool])
5285              
5286             Each argument is described in detail in: L<Paws::EC2::ResetSnapshotAttribute>
5287              
5288             Returns: nothing
5289              
5290             Resets permission settings for the specified snapshot.
5291              
5292             For more information on modifying snapshot permissions, see Sharing
5293             Snapshots in the I<Amazon Elastic Compute Cloud User Guide>.
5294              
5295              
5296             =head2 RestoreAddressToClassic(PublicIp => Str, [DryRun => Bool])
5297              
5298             Each argument is described in detail in: L<Paws::EC2::RestoreAddressToClassic>
5299              
5300             Returns: a L<Paws::EC2::RestoreAddressToClassicResult> instance
5301              
5302             Restores an Elastic IP address that was previously moved to the EC2-VPC
5303             platform back to the EC2-Classic platform. You cannot move an Elastic
5304             IP address that was originally allocated for use in EC2-VPC. The
5305             Elastic IP address must not be associated with an instance or network
5306             interface.
5307              
5308              
5309             =head2 RevokeSecurityGroupEgress(GroupId => Str, [CidrIp => Str, DryRun => Bool, FromPort => Int, IpPermissions => ArrayRef[L<Paws::EC2::IpPermission>], IpProtocol => Str, SourceSecurityGroupName => Str, SourceSecurityGroupOwnerId => Str, ToPort => Int])
5310              
5311             Each argument is described in detail in: L<Paws::EC2::RevokeSecurityGroupEgress>
5312              
5313             Returns: nothing
5314              
5315             [EC2-VPC only] Removes one or more egress rules from a security group
5316             for EC2-VPC. This action doesn't apply to security groups for use in
5317             EC2-Classic. To remove a rule, the values that you specify (for
5318             example, ports) must match the existing rule's values exactly.
5319              
5320             Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or
5321             source security group. For the TCP and UDP protocols, you must also
5322             specify the destination port or range of ports. For the ICMP protocol,
5323             you must also specify the ICMP type and code. If the security group
5324             rule has a description, you do not have to specify the description to
5325             revoke the rule.
5326              
5327             Rule changes are propagated to instances within the security group as
5328             quickly as possible. However, a small delay might occur.
5329              
5330              
5331             =head2 RevokeSecurityGroupIngress([CidrIp => Str, DryRun => Bool, FromPort => Int, GroupId => Str, GroupName => Str, IpPermissions => ArrayRef[L<Paws::EC2::IpPermission>], IpProtocol => Str, SourceSecurityGroupName => Str, SourceSecurityGroupOwnerId => Str, ToPort => Int])
5332              
5333             Each argument is described in detail in: L<Paws::EC2::RevokeSecurityGroupIngress>
5334              
5335             Returns: nothing
5336              
5337             Removes one or more ingress rules from a security group. To remove a
5338             rule, the values that you specify (for example, ports) must match the
5339             existing rule's values exactly.
5340              
5341             [EC2-Classic security groups only] If the values you specify do not
5342             match the existing rule's values, no error is returned. Use
5343             DescribeSecurityGroups to verify that the rule has been removed.
5344              
5345             Each rule consists of the protocol and the CIDR range or source
5346             security group. For the TCP and UDP protocols, you must also specify
5347             the destination port or range of ports. For the ICMP protocol, you must
5348             also specify the ICMP type and code. If the security group rule has a
5349             description, you do not have to specify the description to revoke the
5350             rule.
5351              
5352             Rule changes are propagated to instances within the security group as
5353             quickly as possible. However, a small delay might occur.
5354              
5355              
5356             =head2 RunInstances(ImageId => Str, MaxCount => Int, MinCount => Int, [AdditionalInfo => Str, BlockDeviceMappings => ArrayRef[L<Paws::EC2::BlockDeviceMapping>], ClientToken => Str, DisableApiTermination => Bool, DryRun => Bool, EbsOptimized => Bool, ElasticGpuSpecification => ArrayRef[L<Paws::EC2::ElasticGpuSpecification>], IamInstanceProfile => L<Paws::EC2::IamInstanceProfileSpecification>, InstanceInitiatedShutdownBehavior => Str, InstanceType => Str, Ipv6AddressCount => Int, Ipv6Addresses => ArrayRef[L<Paws::EC2::InstanceIpv6Address>], KernelId => Str, KeyName => Str, Monitoring => L<Paws::EC2::RunInstancesMonitoringEnabled>, NetworkInterfaces => ArrayRef[L<Paws::EC2::InstanceNetworkInterfaceSpecification>], Placement => L<Paws::EC2::Placement>, PrivateIpAddress => Str, RamdiskId => Str, SecurityGroupIds => ArrayRef[Str|Undef], SecurityGroups => ArrayRef[Str|Undef], SubnetId => Str, TagSpecifications => ArrayRef[L<Paws::EC2::TagSpecification>], UserData => Str])
5357              
5358             Each argument is described in detail in: L<Paws::EC2::RunInstances>
5359              
5360             Returns: a L<Paws::EC2::Reservation> instance
5361              
5362             Launches the specified number of instances using an AMI for which you
5363             have permissions.
5364              
5365             You can specify a number of options, or leave the default options. The
5366             following rules apply:
5367              
5368             =over
5369              
5370             =item *
5371              
5372             [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
5373             from your default VPC for you. If you don't have a default VPC, you
5374             must specify a subnet ID in the request.
5375              
5376             =item *
5377              
5378             [EC2-Classic] If don't specify an Availability Zone, we choose one for
5379             you.
5380              
5381             =item *
5382              
5383             Some instance types must be launched into a VPC. If you do not have a
5384             default VPC, or if you do not specify a subnet ID, the request fails.
5385             For more information, see Instance Types Available Only in a VPC.
5386              
5387             =item *
5388              
5389             [EC2-VPC] All instances have a network interface with a primary private
5390             IPv4 address. If you don't specify this address, we choose one from the
5391             IPv4 range of your subnet.
5392              
5393             =item *
5394              
5395             Not all instance types support IPv6 addresses. For more information,
5396             see Instance Types.
5397              
5398             =item *
5399              
5400             If you don't specify a security group ID, we use the default security
5401             group. For more information, see Security Groups.
5402              
5403             =item *
5404              
5405             If any of the AMIs have a product code attached for which the user has
5406             not subscribed, the request fails.
5407              
5408             =back
5409              
5410             To ensure faster instance launches, break up large requests into
5411             smaller batches. For example, create five separate launch requests for
5412             100 instances each instead of one launch request for 500 instances.
5413              
5414             An instance is ready for you to use when it's in the C<running> state.
5415             You can check the state of your instance using DescribeInstances. You
5416             can tag instances and EBS volumes during launch, after launch, or both.
5417             For more information, see CreateTags and Tagging Your Amazon EC2
5418             Resources.
5419              
5420             Linux instances have access to the public key of the key pair at boot.
5421             You can use this key to provide secure access to the instance. Amazon
5422             EC2 public images use this feature to provide secure access without
5423             passwords. For more information, see Key Pairs in the I<Amazon Elastic
5424             Compute Cloud User Guide>.
5425              
5426             For troubleshooting, see What To Do If An Instance Immediately
5427             Terminates, and Troubleshooting Connecting to Your Instance in the
5428             I<Amazon Elastic Compute Cloud User Guide>.
5429              
5430              
5431             =head2 RunScheduledInstances(LaunchSpecification => L<Paws::EC2::ScheduledInstancesLaunchSpecification>, ScheduledInstanceId => Str, [ClientToken => Str, DryRun => Bool, InstanceCount => Int])
5432              
5433             Each argument is described in detail in: L<Paws::EC2::RunScheduledInstances>
5434              
5435             Returns: a L<Paws::EC2::RunScheduledInstancesResult> instance
5436              
5437             Launches the specified Scheduled Instances.
5438              
5439             Before you can launch a Scheduled Instance, you must purchase it and
5440             obtain an identifier using PurchaseScheduledInstances.
5441              
5442             You must launch a Scheduled Instance during its scheduled time period.
5443             You can't stop or reboot a Scheduled Instance, but you can terminate it
5444             as needed. If you terminate a Scheduled Instance before the current
5445             scheduled time period ends, you can launch it again after a few
5446             minutes. For more information, see Scheduled Instances in the I<Amazon
5447             Elastic Compute Cloud User Guide>.
5448              
5449              
5450             =head2 StartInstances(InstanceIds => ArrayRef[Str|Undef], [AdditionalInfo => Str, DryRun => Bool])
5451              
5452             Each argument is described in detail in: L<Paws::EC2::StartInstances>
5453              
5454             Returns: a L<Paws::EC2::StartInstancesResult> instance
5455              
5456             Starts an Amazon EBS-backed instance that you've previously stopped.
5457              
5458             Instances that use Amazon EBS volumes as their root devices can be
5459             quickly stopped and started. When an instance is stopped, the compute
5460             resources are released and you are not billed for instance usage.
5461             However, your root partition Amazon EBS volume remains and continues to
5462             persist your data, and you are charged for Amazon EBS volume usage. You
5463             can restart your instance at any time. Every time you start your
5464             Windows instance, Amazon EC2 charges you for a full instance hour. If
5465             you stop and restart your Windows instance, a new instance hour begins
5466             and Amazon EC2 charges you for another full instance hour even if you
5467             are still within the same 60-minute period when it was stopped. Every
5468             time you start your Linux instance, Amazon EC2 charges a one-minute
5469             minimum for instance usage, and thereafter charges per second for
5470             instance usage.
5471              
5472             Before stopping an instance, make sure it is in a state from which it
5473             can be restarted. Stopping an instance does not preserve data stored in
5474             RAM.
5475              
5476             Performing this operation on an instance that uses an instance store as
5477             its root device returns an error.
5478              
5479             For more information, see Stopping Instances in the I<Amazon Elastic
5480             Compute Cloud User Guide>.
5481              
5482              
5483             =head2 StopInstances(InstanceIds => ArrayRef[Str|Undef], [DryRun => Bool, Force => Bool])
5484              
5485             Each argument is described in detail in: L<Paws::EC2::StopInstances>
5486              
5487             Returns: a L<Paws::EC2::StopInstancesResult> instance
5488              
5489             Stops an Amazon EBS-backed instance.
5490              
5491             We don't charge usage for a stopped instance, or data transfer fees;
5492             however, your root partition Amazon EBS volume remains and continues to
5493             persist your data, and you are charged for Amazon EBS volume usage.
5494             Every time you start your Windows instance, Amazon EC2 charges you for
5495             a full instance hour. If you stop and restart your Windows instance, a
5496             new instance hour begins and Amazon EC2 charges you for another full
5497             instance hour even if you are still within the same 60-minute period
5498             when it was stopped. Every time you start your Linux instance, Amazon
5499             EC2 charges a one-minute minimum for instance usage, and thereafter
5500             charges per second for instance usage.
5501              
5502             You can't start or stop Spot Instances, and you can't stop instance
5503             store-backed instances.
5504              
5505             When you stop an instance, we shut it down. You can restart your
5506             instance at any time. Before stopping an instance, make sure it is in a
5507             state from which it can be restarted. Stopping an instance does not
5508             preserve data stored in RAM.
5509              
5510             Stopping an instance is different to rebooting or terminating it. For
5511             example, when you stop an instance, the root device and any other
5512             devices attached to the instance persist. When you terminate an
5513             instance, the root device and any other devices attached during the
5514             instance launch are automatically deleted. For more information about
5515             the differences between rebooting, stopping, and terminating instances,
5516             see Instance Lifecycle in the I<Amazon Elastic Compute Cloud User
5517             Guide>.
5518              
5519             When you stop an instance, we attempt to shut it down forcibly after a
5520             short while. If your instance appears stuck in the stopping state after
5521             a period of time, there may be an issue with the underlying host
5522             computer. For more information, see Troubleshooting Stopping Your
5523             Instance in the I<Amazon Elastic Compute Cloud User Guide>.
5524              
5525              
5526             =head2 TerminateInstances(InstanceIds => ArrayRef[Str|Undef], [DryRun => Bool])
5527              
5528             Each argument is described in detail in: L<Paws::EC2::TerminateInstances>
5529              
5530             Returns: a L<Paws::EC2::TerminateInstancesResult> instance
5531              
5532             Shuts down one or more instances. This operation is idempotent; if you
5533             terminate an instance more than once, each call succeeds.
5534              
5535             If you specify multiple instances and the request fails (for example,
5536             because of a single incorrect instance ID), none of the instances are
5537             terminated.
5538              
5539             Terminated instances remain visible after termination (for
5540             approximately one hour).
5541              
5542             By default, Amazon EC2 deletes all EBS volumes that were attached when
5543             the instance launched. Volumes attached after instance launch continue
5544             running.
5545              
5546             You can stop, start, and terminate EBS-backed instances. You can only
5547             terminate instance store-backed instances. What happens to an instance
5548             differs if you stop it or terminate it. For example, when you stop an
5549             instance, the root device and any other devices attached to the
5550             instance persist. When you terminate an instance, any attached EBS
5551             volumes with the C<DeleteOnTermination> block device mapping parameter
5552             set to C<true> are automatically deleted. For more information about
5553             the differences between stopping and terminating instances, see
5554             Instance Lifecycle in the I<Amazon Elastic Compute Cloud User Guide>.
5555              
5556             For more information about troubleshooting, see Troubleshooting
5557             Terminating Your Instance in the I<Amazon Elastic Compute Cloud User
5558             Guide>.
5559              
5560              
5561             =head2 UnassignIpv6Addresses(Ipv6Addresses => ArrayRef[Str|Undef], NetworkInterfaceId => Str)
5562              
5563             Each argument is described in detail in: L<Paws::EC2::UnassignIpv6Addresses>
5564              
5565             Returns: a L<Paws::EC2::UnassignIpv6AddressesResult> instance
5566              
5567             Unassigns one or more IPv6 addresses from a network interface.
5568              
5569              
5570             =head2 UnassignPrivateIpAddresses(NetworkInterfaceId => Str, PrivateIpAddresses => ArrayRef[Str|Undef])
5571              
5572             Each argument is described in detail in: L<Paws::EC2::UnassignPrivateIpAddresses>
5573              
5574             Returns: nothing
5575              
5576             Unassigns one or more secondary private IP addresses from a network
5577             interface.
5578              
5579              
5580             =head2 UnmonitorInstances(InstanceIds => ArrayRef[Str|Undef], [DryRun => Bool])
5581              
5582             Each argument is described in detail in: L<Paws::EC2::UnmonitorInstances>
5583              
5584             Returns: a L<Paws::EC2::UnmonitorInstancesResult> instance
5585              
5586             Disables detailed monitoring for a running instance. For more
5587             information, see Monitoring Your Instances and Volumes in the I<Amazon
5588             Elastic Compute Cloud User Guide>.
5589              
5590              
5591             =head2 UpdateSecurityGroupRuleDescriptionsEgress(IpPermissions => ArrayRef[L<Paws::EC2::IpPermission>], [DryRun => Bool, GroupId => Str, GroupName => Str])
5592              
5593             Each argument is described in detail in: L<Paws::EC2::UpdateSecurityGroupRuleDescriptionsEgress>
5594              
5595             Returns: a L<Paws::EC2::UpdateSecurityGroupRuleDescriptionsEgressResult> instance
5596              
5597             [EC2-VPC only] Updates the description of an egress (outbound) security
5598             group rule. You can replace an existing description, or add a
5599             description to a rule that did not have one previously.
5600              
5601             You specify the description as part of the IP permissions structure.
5602             You can remove a description for a security group rule by omitting the
5603             description parameter in the request.
5604              
5605              
5606             =head2 UpdateSecurityGroupRuleDescriptionsIngress(IpPermissions => ArrayRef[L<Paws::EC2::IpPermission>], [DryRun => Bool, GroupId => Str, GroupName => Str])
5607              
5608             Each argument is described in detail in: L<Paws::EC2::UpdateSecurityGroupRuleDescriptionsIngress>
5609              
5610             Returns: a L<Paws::EC2::UpdateSecurityGroupRuleDescriptionsIngressResult> instance
5611              
5612             Updates the description of an ingress (inbound) security group rule.
5613             You can replace an existing description, or add a description to a rule
5614             that did not have one previously.
5615              
5616             You specify the description as part of the IP permissions structure.
5617             You can remove a description for a security group rule by omitting the
5618             description parameter in the request.
5619              
5620              
5621              
5622              
5623             =head1 PAGINATORS
5624              
5625             Paginator methods are helpers that repetively call methods that return partial results
5626              
5627             =head2 DescribeAllInstances(sub { },[DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
5628              
5629             =head2 DescribeAllInstances([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
5630              
5631              
5632             If passed a sub as first parameter, it will call the sub for each element found in :
5633              
5634             - Reservations, passing the object as the first parameter, and the string 'Reservations' as the second parameter
5635              
5636             If not, it will return a a L<Paws::EC2::DescribeInstancesResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5637              
5638              
5639             =head2 DescribeAllInstanceStatus(sub { },[DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], IncludeAllInstances => Bool, InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
5640              
5641             =head2 DescribeAllInstanceStatus([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], IncludeAllInstances => Bool, InstanceIds => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str])
5642              
5643              
5644             If passed a sub as first parameter, it will call the sub for each element found in :
5645              
5646             - InstanceStatuses, passing the object as the first parameter, and the string 'InstanceStatuses' as the second parameter
5647              
5648             If not, it will return a a L<Paws::EC2::DescribeInstanceStatusResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5649              
5650              
5651             =head2 DescribeAllNatGateways(sub { },[Filter => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NatGatewayIds => ArrayRef[Str|Undef], NextToken => Str])
5652              
5653             =head2 DescribeAllNatGateways([Filter => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NatGatewayIds => ArrayRef[Str|Undef], NextToken => Str])
5654              
5655              
5656             If passed a sub as first parameter, it will call the sub for each element found in :
5657              
5658             - NatGateways, passing the object as the first parameter, and the string 'NatGateways' as the second parameter
5659              
5660             If not, it will return a a L<Paws::EC2::DescribeNatGatewaysResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5661              
5662              
5663             =head2 DescribeAllReservedInstancesModifications(sub { },[Filters => ArrayRef[L<Paws::EC2::Filter>], NextToken => Str, ReservedInstancesModificationIds => ArrayRef[Str|Undef]])
5664              
5665             =head2 DescribeAllReservedInstancesModifications([Filters => ArrayRef[L<Paws::EC2::Filter>], NextToken => Str, ReservedInstancesModificationIds => ArrayRef[Str|Undef]])
5666              
5667              
5668             If passed a sub as first parameter, it will call the sub for each element found in :
5669              
5670             - ReservedInstancesModifications, passing the object as the first parameter, and the string 'ReservedInstancesModifications' as the second parameter
5671              
5672             If not, it will return a a L<Paws::EC2::DescribeReservedInstancesModificationsResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5673              
5674              
5675             =head2 DescribeAllReservedInstancesOfferings(sub { },[AvailabilityZone => Str, DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], IncludeMarketplace => Bool, InstanceTenancy => Str, InstanceType => Str, MaxDuration => Int, MaxInstanceCount => Int, MaxResults => Int, MinDuration => Int, NextToken => Str, OfferingClass => Str, OfferingType => Str, ProductDescription => Str, ReservedInstancesOfferingIds => ArrayRef[Str|Undef]])
5676              
5677             =head2 DescribeAllReservedInstancesOfferings([AvailabilityZone => Str, DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], IncludeMarketplace => Bool, InstanceTenancy => Str, InstanceType => Str, MaxDuration => Int, MaxInstanceCount => Int, MaxResults => Int, MinDuration => Int, NextToken => Str, OfferingClass => Str, OfferingType => Str, ProductDescription => Str, ReservedInstancesOfferingIds => ArrayRef[Str|Undef]])
5678              
5679              
5680             If passed a sub as first parameter, it will call the sub for each element found in :
5681              
5682             - ReservedInstancesOfferings, passing the object as the first parameter, and the string 'ReservedInstancesOfferings' as the second parameter
5683              
5684             If not, it will return a a L<Paws::EC2::DescribeReservedInstancesOfferingsResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5685              
5686              
5687             =head2 DescribeAllSnapshots(sub { },[DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, OwnerIds => ArrayRef[Str|Undef], RestorableByUserIds => ArrayRef[Str|Undef], SnapshotIds => ArrayRef[Str|Undef]])
5688              
5689             =head2 DescribeAllSnapshots([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, OwnerIds => ArrayRef[Str|Undef], RestorableByUserIds => ArrayRef[Str|Undef], SnapshotIds => ArrayRef[Str|Undef]])
5690              
5691              
5692             If passed a sub as first parameter, it will call the sub for each element found in :
5693              
5694             - Snapshots, passing the object as the first parameter, and the string 'Snapshots' as the second parameter
5695              
5696             If not, it will return a a L<Paws::EC2::DescribeSnapshotsResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5697              
5698              
5699             =head2 DescribeAllSpotFleetRequests(sub { },[DryRun => Bool, MaxResults => Int, NextToken => Str, SpotFleetRequestIds => ArrayRef[Str|Undef]])
5700              
5701             =head2 DescribeAllSpotFleetRequests([DryRun => Bool, MaxResults => Int, NextToken => Str, SpotFleetRequestIds => ArrayRef[Str|Undef]])
5702              
5703              
5704             If passed a sub as first parameter, it will call the sub for each element found in :
5705              
5706             - SpotFleetRequestConfigs, passing the object as the first parameter, and the string 'SpotFleetRequestConfigs' as the second parameter
5707              
5708             If not, it will return a a L<Paws::EC2::DescribeSpotFleetRequestsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5709              
5710              
5711             =head2 DescribeAllSpotPriceHistory(sub { },[AvailabilityZone => Str, DryRun => Bool, EndTime => Str, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceTypes => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str, ProductDescriptions => ArrayRef[Str|Undef], StartTime => Str])
5712              
5713             =head2 DescribeAllSpotPriceHistory([AvailabilityZone => Str, DryRun => Bool, EndTime => Str, Filters => ArrayRef[L<Paws::EC2::Filter>], InstanceTypes => ArrayRef[Str|Undef], MaxResults => Int, NextToken => Str, ProductDescriptions => ArrayRef[Str|Undef], StartTime => Str])
5714              
5715              
5716             If passed a sub as first parameter, it will call the sub for each element found in :
5717              
5718             - SpotPriceHistory, passing the object as the first parameter, and the string 'SpotPriceHistory' as the second parameter
5719              
5720             If not, it will return a a L<Paws::EC2::DescribeSpotPriceHistoryResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5721              
5722              
5723             =head2 DescribeAllTags(sub { },[DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str])
5724              
5725             =head2 DescribeAllTags([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str])
5726              
5727              
5728             If passed a sub as first parameter, it will call the sub for each element found in :
5729              
5730             - Tags, passing the object as the first parameter, and the string 'Tags' as the second parameter
5731              
5732             If not, it will return a a L<Paws::EC2::DescribeTagsResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5733              
5734              
5735             =head2 DescribeAllVolumes(sub { },[DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
5736              
5737             =head2 DescribeAllVolumes([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
5738              
5739              
5740             If passed a sub as first parameter, it will call the sub for each element found in :
5741              
5742             - Volumes, passing the object as the first parameter, and the string 'Volumes' as the second parameter
5743              
5744             If not, it will return a a L<Paws::EC2::DescribeVolumesResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5745              
5746              
5747             =head2 DescribeAllVolumeStatus(sub { },[DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
5748              
5749             =head2 DescribeAllVolumeStatus([DryRun => Bool, Filters => ArrayRef[L<Paws::EC2::Filter>], MaxResults => Int, NextToken => Str, VolumeIds => ArrayRef[Str|Undef]])
5750              
5751              
5752             If passed a sub as first parameter, it will call the sub for each element found in :
5753              
5754             - VolumeStatuses, passing the object as the first parameter, and the string 'VolumeStatuses' as the second parameter
5755              
5756             If not, it will return a a L<Paws::EC2::DescribeVolumeStatusResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
5757              
5758              
5759              
5760              
5761              
5762             =head1 SEE ALSO
5763              
5764             This service class forms part of L<Paws>
5765              
5766             =head1 BUGS and CONTRIBUTIONS
5767              
5768             The source code is located here: https://github.com/pplu/aws-sdk-perl
5769              
5770             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
5771              
5772             =cut
5773