1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ec2
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/ec2query"
14)
15
16const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
17
18// AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptReservedInstancesExchangeQuote for more information on using the AcceptReservedInstancesExchangeQuote
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
34//    req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
42func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) {
43	op := &request.Operation{
44		Name:       opAcceptReservedInstancesExchangeQuote,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcceptReservedInstancesExchangeQuoteInput{}
51	}
52
53	output = &AcceptReservedInstancesExchangeQuoteOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
59//
60// Accepts the Convertible Reserved Instance exchange quote described in the
61// GetReservedInstancesExchangeQuote call.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for Amazon Elastic Compute Cloud's
68// API operation AcceptReservedInstancesExchangeQuote for usage and error information.
69// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
70func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
71	req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
72	return out, req.Send()
73}
74
75// AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
76// the ability to pass a context and additional request options.
77//
78// See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
79//
80// The context must be non-nil and will be used for request cancellation. If
81// the context is nil a panic will occur. In the future the SDK may create
82// sub-contexts for http.Requests. See https://golang.org/pkg/context/
83// for more information on using Contexts.
84func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
85	req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
86	req.SetContext(ctx)
87	req.ApplyOptions(opts...)
88	return out, req.Send()
89}
90
91const opAcceptTransitGatewayVpcAttachment = "AcceptTransitGatewayVpcAttachment"
92
93// AcceptTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
94// client's request for the AcceptTransitGatewayVpcAttachment operation. The "output" return
95// value will be populated with the request's response once the request completes
96// successfully.
97//
98// Use "Send" method on the returned Request to send the API call to the service.
99// the "output" return value is not valid until after Send returns without error.
100//
101// See AcceptTransitGatewayVpcAttachment for more information on using the AcceptTransitGatewayVpcAttachment
102// API call, and error handling.
103//
104// This method is useful when you want to inject custom logic or configuration
105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
106//
107//
108//    // Example sending a request using the AcceptTransitGatewayVpcAttachmentRequest method.
109//    req, resp := client.AcceptTransitGatewayVpcAttachmentRequest(params)
110//
111//    err := req.Send()
112//    if err == nil { // resp is now filled
113//        fmt.Println(resp)
114//    }
115//
116// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
117func (c *EC2) AcceptTransitGatewayVpcAttachmentRequest(input *AcceptTransitGatewayVpcAttachmentInput) (req *request.Request, output *AcceptTransitGatewayVpcAttachmentOutput) {
118	op := &request.Operation{
119		Name:       opAcceptTransitGatewayVpcAttachment,
120		HTTPMethod: "POST",
121		HTTPPath:   "/",
122	}
123
124	if input == nil {
125		input = &AcceptTransitGatewayVpcAttachmentInput{}
126	}
127
128	output = &AcceptTransitGatewayVpcAttachmentOutput{}
129	req = c.newRequest(op, input, output)
130	return
131}
132
133// AcceptTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
134//
135// Accepts a request to attach a VPC to a transit gateway.
136//
137// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
138// to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment
139// to reject a VPC attachment request.
140//
141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
142// with awserr.Error's Code and Message methods to get detailed information about
143// the error.
144//
145// See the AWS API reference guide for Amazon Elastic Compute Cloud's
146// API operation AcceptTransitGatewayVpcAttachment for usage and error information.
147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
148func (c *EC2) AcceptTransitGatewayVpcAttachment(input *AcceptTransitGatewayVpcAttachmentInput) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
149	req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
150	return out, req.Send()
151}
152
153// AcceptTransitGatewayVpcAttachmentWithContext is the same as AcceptTransitGatewayVpcAttachment with the addition of
154// the ability to pass a context and additional request options.
155//
156// See AcceptTransitGatewayVpcAttachment for details on how to use this API operation.
157//
158// The context must be non-nil and will be used for request cancellation. If
159// the context is nil a panic will occur. In the future the SDK may create
160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
161// for more information on using Contexts.
162func (c *EC2) AcceptTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayVpcAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
163	req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
164	req.SetContext(ctx)
165	req.ApplyOptions(opts...)
166	return out, req.Send()
167}
168
169const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
170
171// AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
172// client's request for the AcceptVpcEndpointConnections operation. The "output" return
173// value will be populated with the request's response once the request completes
174// successfully.
175//
176// Use "Send" method on the returned Request to send the API call to the service.
177// the "output" return value is not valid until after Send returns without error.
178//
179// See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
180// API call, and error handling.
181//
182// This method is useful when you want to inject custom logic or configuration
183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
184//
185//
186//    // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
187//    req, resp := client.AcceptVpcEndpointConnectionsRequest(params)
188//
189//    err := req.Send()
190//    if err == nil { // resp is now filled
191//        fmt.Println(resp)
192//    }
193//
194// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
195func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
196	op := &request.Operation{
197		Name:       opAcceptVpcEndpointConnections,
198		HTTPMethod: "POST",
199		HTTPPath:   "/",
200	}
201
202	if input == nil {
203		input = &AcceptVpcEndpointConnectionsInput{}
204	}
205
206	output = &AcceptVpcEndpointConnectionsOutput{}
207	req = c.newRequest(op, input, output)
208	return
209}
210
211// AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
212//
213// Accepts one or more interface VPC endpoint connection requests to your VPC
214// endpoint service.
215//
216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
217// with awserr.Error's Code and Message methods to get detailed information about
218// the error.
219//
220// See the AWS API reference guide for Amazon Elastic Compute Cloud's
221// API operation AcceptVpcEndpointConnections for usage and error information.
222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
223func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
224	req, out := c.AcceptVpcEndpointConnectionsRequest(input)
225	return out, req.Send()
226}
227
228// AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
229// the ability to pass a context and additional request options.
230//
231// See AcceptVpcEndpointConnections for details on how to use this API operation.
232//
233// The context must be non-nil and will be used for request cancellation. If
234// the context is nil a panic will occur. In the future the SDK may create
235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
236// for more information on using Contexts.
237func (c *EC2) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
238	req, out := c.AcceptVpcEndpointConnectionsRequest(input)
239	req.SetContext(ctx)
240	req.ApplyOptions(opts...)
241	return out, req.Send()
242}
243
244const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
245
246// AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
247// client's request for the AcceptVpcPeeringConnection operation. The "output" return
248// value will be populated with the request's response once the request completes
249// successfully.
250//
251// Use "Send" method on the returned Request to send the API call to the service.
252// the "output" return value is not valid until after Send returns without error.
253//
254// See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
255// API call, and error handling.
256//
257// This method is useful when you want to inject custom logic or configuration
258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
259//
260//
261//    // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
262//    req, resp := client.AcceptVpcPeeringConnectionRequest(params)
263//
264//    err := req.Send()
265//    if err == nil { // resp is now filled
266//        fmt.Println(resp)
267//    }
268//
269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
270func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
271	op := &request.Operation{
272		Name:       opAcceptVpcPeeringConnection,
273		HTTPMethod: "POST",
274		HTTPPath:   "/",
275	}
276
277	if input == nil {
278		input = &AcceptVpcPeeringConnectionInput{}
279	}
280
281	output = &AcceptVpcPeeringConnectionOutput{}
282	req = c.newRequest(op, input, output)
283	return
284}
285
286// AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
287//
288// Accept a VPC peering connection request. To accept a request, the VPC peering
289// connection must be in the pending-acceptance state, and you must be the owner
290// of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
291// VPC peering connection requests.
292//
293// For an inter-Region VPC peering connection request, you must accept the VPC
294// peering connection in the Region of the accepter VPC.
295//
296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
297// with awserr.Error's Code and Message methods to get detailed information about
298// the error.
299//
300// See the AWS API reference guide for Amazon Elastic Compute Cloud's
301// API operation AcceptVpcPeeringConnection for usage and error information.
302// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
303func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
304	req, out := c.AcceptVpcPeeringConnectionRequest(input)
305	return out, req.Send()
306}
307
308// AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
309// the ability to pass a context and additional request options.
310//
311// See AcceptVpcPeeringConnection for details on how to use this API operation.
312//
313// The context must be non-nil and will be used for request cancellation. If
314// the context is nil a panic will occur. In the future the SDK may create
315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
316// for more information on using Contexts.
317func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
318	req, out := c.AcceptVpcPeeringConnectionRequest(input)
319	req.SetContext(ctx)
320	req.ApplyOptions(opts...)
321	return out, req.Send()
322}
323
324const opAdvertiseByoipCidr = "AdvertiseByoipCidr"
325
326// AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the
327// client's request for the AdvertiseByoipCidr operation. The "output" return
328// value will be populated with the request's response once the request completes
329// successfully.
330//
331// Use "Send" method on the returned Request to send the API call to the service.
332// the "output" return value is not valid until after Send returns without error.
333//
334// See AdvertiseByoipCidr for more information on using the AdvertiseByoipCidr
335// API call, and error handling.
336//
337// This method is useful when you want to inject custom logic or configuration
338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
339//
340//
341//    // Example sending a request using the AdvertiseByoipCidrRequest method.
342//    req, resp := client.AdvertiseByoipCidrRequest(params)
343//
344//    err := req.Send()
345//    if err == nil { // resp is now filled
346//        fmt.Println(resp)
347//    }
348//
349// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
350func (c *EC2) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrInput) (req *request.Request, output *AdvertiseByoipCidrOutput) {
351	op := &request.Operation{
352		Name:       opAdvertiseByoipCidr,
353		HTTPMethod: "POST",
354		HTTPPath:   "/",
355	}
356
357	if input == nil {
358		input = &AdvertiseByoipCidrInput{}
359	}
360
361	output = &AdvertiseByoipCidrOutput{}
362	req = c.newRequest(op, input, output)
363	return
364}
365
366// AdvertiseByoipCidr API operation for Amazon Elastic Compute Cloud.
367//
368// Advertises an IPv4 address range that is provisioned for use with your AWS
369// resources through bring your own IP addresses (BYOIP).
370//
371// You can perform this operation at most once every 10 seconds, even if you
372// specify different address ranges each time.
373//
374// We recommend that you stop advertising the BYOIP CIDR from other locations
375// when you advertise it from AWS. To minimize down time, you can configure
376// your AWS resources to use an address from a BYOIP CIDR before it is advertised,
377// and then simultaneously stop advertising it from the current location and
378// start advertising it through AWS.
379//
380// It can take a few minutes before traffic to the specified addresses starts
381// routing to AWS because of BGP propagation delays.
382//
383// To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.
384//
385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
386// with awserr.Error's Code and Message methods to get detailed information about
387// the error.
388//
389// See the AWS API reference guide for Amazon Elastic Compute Cloud's
390// API operation AdvertiseByoipCidr for usage and error information.
391// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
392func (c *EC2) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
393	req, out := c.AdvertiseByoipCidrRequest(input)
394	return out, req.Send()
395}
396
397// AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
398// the ability to pass a context and additional request options.
399//
400// See AdvertiseByoipCidr for details on how to use this API operation.
401//
402// The context must be non-nil and will be used for request cancellation. If
403// the context is nil a panic will occur. In the future the SDK may create
404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
405// for more information on using Contexts.
406func (c *EC2) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
407	req, out := c.AdvertiseByoipCidrRequest(input)
408	req.SetContext(ctx)
409	req.ApplyOptions(opts...)
410	return out, req.Send()
411}
412
413const opAllocateAddress = "AllocateAddress"
414
415// AllocateAddressRequest generates a "aws/request.Request" representing the
416// client's request for the AllocateAddress operation. The "output" return
417// value will be populated with the request's response once the request completes
418// successfully.
419//
420// Use "Send" method on the returned Request to send the API call to the service.
421// the "output" return value is not valid until after Send returns without error.
422//
423// See AllocateAddress for more information on using the AllocateAddress
424// API call, and error handling.
425//
426// This method is useful when you want to inject custom logic or configuration
427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
428//
429//
430//    // Example sending a request using the AllocateAddressRequest method.
431//    req, resp := client.AllocateAddressRequest(params)
432//
433//    err := req.Send()
434//    if err == nil { // resp is now filled
435//        fmt.Println(resp)
436//    }
437//
438// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
439func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
440	op := &request.Operation{
441		Name:       opAllocateAddress,
442		HTTPMethod: "POST",
443		HTTPPath:   "/",
444	}
445
446	if input == nil {
447		input = &AllocateAddressInput{}
448	}
449
450	output = &AllocateAddressOutput{}
451	req = c.newRequest(op, input, output)
452	return
453}
454
455// AllocateAddress API operation for Amazon Elastic Compute Cloud.
456//
457// Allocates an Elastic IP address to your AWS account. After you allocate the
458// Elastic IP address you can associate it with an instance or network interface.
459// After you release an Elastic IP address, it is released to the IP address
460// pool and can be allocated to a different AWS account.
461//
462// You can allocate an Elastic IP address from an address pool owned by AWS
463// or from an address pool created from a public IPv4 address range that you
464// have brought to AWS for use with your AWS resources using bring your own
465// IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses
466// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
467// in the Amazon Elastic Compute Cloud User Guide.
468//
469// [EC2-VPC] If you release an Elastic IP address, you might be able to recover
470// it. You cannot recover an Elastic IP address that you released after it is
471// allocated to another AWS account. You cannot recover an Elastic IP address
472// for EC2-Classic. To attempt to recover an Elastic IP address that you released,
473// specify it in this operation.
474//
475// An Elastic IP address is for use either in the EC2-Classic platform or in
476// a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
477// per Region and 5 Elastic IP addresses for EC2-VPC per Region.
478//
479// For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
480// in the Amazon Elastic Compute Cloud User Guide.
481//
482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
483// with awserr.Error's Code and Message methods to get detailed information about
484// the error.
485//
486// See the AWS API reference guide for Amazon Elastic Compute Cloud's
487// API operation AllocateAddress for usage and error information.
488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
489func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
490	req, out := c.AllocateAddressRequest(input)
491	return out, req.Send()
492}
493
494// AllocateAddressWithContext is the same as AllocateAddress with the addition of
495// the ability to pass a context and additional request options.
496//
497// See AllocateAddress for details on how to use this API operation.
498//
499// The context must be non-nil and will be used for request cancellation. If
500// the context is nil a panic will occur. In the future the SDK may create
501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
502// for more information on using Contexts.
503func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
504	req, out := c.AllocateAddressRequest(input)
505	req.SetContext(ctx)
506	req.ApplyOptions(opts...)
507	return out, req.Send()
508}
509
510const opAllocateHosts = "AllocateHosts"
511
512// AllocateHostsRequest generates a "aws/request.Request" representing the
513// client's request for the AllocateHosts operation. The "output" return
514// value will be populated with the request's response once the request completes
515// successfully.
516//
517// Use "Send" method on the returned Request to send the API call to the service.
518// the "output" return value is not valid until after Send returns without error.
519//
520// See AllocateHosts for more information on using the AllocateHosts
521// API call, and error handling.
522//
523// This method is useful when you want to inject custom logic or configuration
524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
525//
526//
527//    // Example sending a request using the AllocateHostsRequest method.
528//    req, resp := client.AllocateHostsRequest(params)
529//
530//    err := req.Send()
531//    if err == nil { // resp is now filled
532//        fmt.Println(resp)
533//    }
534//
535// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
536func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
537	op := &request.Operation{
538		Name:       opAllocateHosts,
539		HTTPMethod: "POST",
540		HTTPPath:   "/",
541	}
542
543	if input == nil {
544		input = &AllocateHostsInput{}
545	}
546
547	output = &AllocateHostsOutput{}
548	req = c.newRequest(op, input, output)
549	return
550}
551
552// AllocateHosts API operation for Amazon Elastic Compute Cloud.
553//
554// Allocates a Dedicated Host to your account. At a minimum, specify the instance
555// size type, Availability Zone, and quantity of hosts to allocate.
556//
557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
558// with awserr.Error's Code and Message methods to get detailed information about
559// the error.
560//
561// See the AWS API reference guide for Amazon Elastic Compute Cloud's
562// API operation AllocateHosts for usage and error information.
563// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
564func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
565	req, out := c.AllocateHostsRequest(input)
566	return out, req.Send()
567}
568
569// AllocateHostsWithContext is the same as AllocateHosts with the addition of
570// the ability to pass a context and additional request options.
571//
572// See AllocateHosts for details on how to use this API operation.
573//
574// The context must be non-nil and will be used for request cancellation. If
575// the context is nil a panic will occur. In the future the SDK may create
576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
577// for more information on using Contexts.
578func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
579	req, out := c.AllocateHostsRequest(input)
580	req.SetContext(ctx)
581	req.ApplyOptions(opts...)
582	return out, req.Send()
583}
584
585const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork"
586
587// ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
588// client's request for the ApplySecurityGroupsToClientVpnTargetNetwork operation. The "output" return
589// value will be populated with the request's response once the request completes
590// successfully.
591//
592// Use "Send" method on the returned Request to send the API call to the service.
593// the "output" return value is not valid until after Send returns without error.
594//
595// See ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork
596// API call, and error handling.
597//
598// This method is useful when you want to inject custom logic or configuration
599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
600//
601//
602//    // Example sending a request using the ApplySecurityGroupsToClientVpnTargetNetworkRequest method.
603//    req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params)
604//
605//    err := req.Send()
606//    if err == nil { // resp is now filled
607//        fmt.Println(resp)
608//    }
609//
610// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
611func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) {
612	op := &request.Operation{
613		Name:       opApplySecurityGroupsToClientVpnTargetNetwork,
614		HTTPMethod: "POST",
615		HTTPPath:   "/",
616	}
617
618	if input == nil {
619		input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{}
620	}
621
622	output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{}
623	req = c.newRequest(op, input, output)
624	return
625}
626
627// ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
628//
629// Applies a security group to the association between the target network and
630// the Client VPN endpoint. This action replaces the existing security groups
631// with the specified security groups.
632//
633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
634// with awserr.Error's Code and Message methods to get detailed information about
635// the error.
636//
637// See the AWS API reference guide for Amazon Elastic Compute Cloud's
638// API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information.
639// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
640func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
641	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
642	return out, req.Send()
643}
644
645// ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of
646// the ability to pass a context and additional request options.
647//
648// See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation.
649//
650// The context must be non-nil and will be used for request cancellation. If
651// the context is nil a panic will occur. In the future the SDK may create
652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
653// for more information on using Contexts.
654func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
655	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
656	req.SetContext(ctx)
657	req.ApplyOptions(opts...)
658	return out, req.Send()
659}
660
661const opAssignIpv6Addresses = "AssignIpv6Addresses"
662
663// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
664// client's request for the AssignIpv6Addresses operation. The "output" return
665// value will be populated with the request's response once the request completes
666// successfully.
667//
668// Use "Send" method on the returned Request to send the API call to the service.
669// the "output" return value is not valid until after Send returns without error.
670//
671// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
672// API call, and error handling.
673//
674// This method is useful when you want to inject custom logic or configuration
675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
676//
677//
678//    // Example sending a request using the AssignIpv6AddressesRequest method.
679//    req, resp := client.AssignIpv6AddressesRequest(params)
680//
681//    err := req.Send()
682//    if err == nil { // resp is now filled
683//        fmt.Println(resp)
684//    }
685//
686// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
687func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
688	op := &request.Operation{
689		Name:       opAssignIpv6Addresses,
690		HTTPMethod: "POST",
691		HTTPPath:   "/",
692	}
693
694	if input == nil {
695		input = &AssignIpv6AddressesInput{}
696	}
697
698	output = &AssignIpv6AddressesOutput{}
699	req = c.newRequest(op, input, output)
700	return
701}
702
703// AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
704//
705// Assigns one or more IPv6 addresses to the specified network interface. You
706// can specify one or more specific IPv6 addresses, or you can specify the number
707// of IPv6 addresses to be automatically assigned from within the subnet's IPv6
708// CIDR block range. You can assign as many IPv6 addresses to a network interface
709// as you can assign private IPv4 addresses, and the limit varies per instance
710// type. For information, see IP Addresses Per Network Interface Per Instance
711// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
712// in the Amazon Elastic Compute Cloud User Guide.
713//
714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
715// with awserr.Error's Code and Message methods to get detailed information about
716// the error.
717//
718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
719// API operation AssignIpv6Addresses for usage and error information.
720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
721func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
722	req, out := c.AssignIpv6AddressesRequest(input)
723	return out, req.Send()
724}
725
726// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
727// the ability to pass a context and additional request options.
728//
729// See AssignIpv6Addresses for details on how to use this API operation.
730//
731// The context must be non-nil and will be used for request cancellation. If
732// the context is nil a panic will occur. In the future the SDK may create
733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
734// for more information on using Contexts.
735func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
736	req, out := c.AssignIpv6AddressesRequest(input)
737	req.SetContext(ctx)
738	req.ApplyOptions(opts...)
739	return out, req.Send()
740}
741
742const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
743
744// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
745// client's request for the AssignPrivateIpAddresses operation. The "output" return
746// value will be populated with the request's response once the request completes
747// successfully.
748//
749// Use "Send" method on the returned Request to send the API call to the service.
750// the "output" return value is not valid until after Send returns without error.
751//
752// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
753// API call, and error handling.
754//
755// This method is useful when you want to inject custom logic or configuration
756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
757//
758//
759//    // Example sending a request using the AssignPrivateIpAddressesRequest method.
760//    req, resp := client.AssignPrivateIpAddressesRequest(params)
761//
762//    err := req.Send()
763//    if err == nil { // resp is now filled
764//        fmt.Println(resp)
765//    }
766//
767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
768func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
769	op := &request.Operation{
770		Name:       opAssignPrivateIpAddresses,
771		HTTPMethod: "POST",
772		HTTPPath:   "/",
773	}
774
775	if input == nil {
776		input = &AssignPrivateIpAddressesInput{}
777	}
778
779	output = &AssignPrivateIpAddressesOutput{}
780	req = c.newRequest(op, input, output)
781	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
782	return
783}
784
785// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
786//
787// Assigns one or more secondary private IP addresses to the specified network
788// interface.
789//
790// You can specify one or more specific secondary IP addresses, or you can specify
791// the number of secondary IP addresses to be automatically assigned within
792// the subnet's CIDR block range. The number of secondary IP addresses that
793// you can assign to an instance varies by instance type. For information about
794// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
795// in the Amazon Elastic Compute Cloud User Guide. For more information about
796// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
797// in the Amazon Elastic Compute Cloud User Guide.
798//
799// When you move a secondary private IP address to another network interface,
800// any Elastic IP address that is associated with the IP address is also moved.
801//
802// Remapping an IP address is an asynchronous operation. When you move an IP
803// address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
804// in the instance metadata to confirm that the remapping is complete.
805//
806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
807// with awserr.Error's Code and Message methods to get detailed information about
808// the error.
809//
810// See the AWS API reference guide for Amazon Elastic Compute Cloud's
811// API operation AssignPrivateIpAddresses for usage and error information.
812// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
813func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
814	req, out := c.AssignPrivateIpAddressesRequest(input)
815	return out, req.Send()
816}
817
818// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
819// the ability to pass a context and additional request options.
820//
821// See AssignPrivateIpAddresses for details on how to use this API operation.
822//
823// The context must be non-nil and will be used for request cancellation. If
824// the context is nil a panic will occur. In the future the SDK may create
825// sub-contexts for http.Requests. See https://golang.org/pkg/context/
826// for more information on using Contexts.
827func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
828	req, out := c.AssignPrivateIpAddressesRequest(input)
829	req.SetContext(ctx)
830	req.ApplyOptions(opts...)
831	return out, req.Send()
832}
833
834const opAssociateAddress = "AssociateAddress"
835
836// AssociateAddressRequest generates a "aws/request.Request" representing the
837// client's request for the AssociateAddress operation. The "output" return
838// value will be populated with the request's response once the request completes
839// successfully.
840//
841// Use "Send" method on the returned Request to send the API call to the service.
842// the "output" return value is not valid until after Send returns without error.
843//
844// See AssociateAddress for more information on using the AssociateAddress
845// API call, and error handling.
846//
847// This method is useful when you want to inject custom logic or configuration
848// into the SDK's request lifecycle. Such as custom headers, or retry logic.
849//
850//
851//    // Example sending a request using the AssociateAddressRequest method.
852//    req, resp := client.AssociateAddressRequest(params)
853//
854//    err := req.Send()
855//    if err == nil { // resp is now filled
856//        fmt.Println(resp)
857//    }
858//
859// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
860func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
861	op := &request.Operation{
862		Name:       opAssociateAddress,
863		HTTPMethod: "POST",
864		HTTPPath:   "/",
865	}
866
867	if input == nil {
868		input = &AssociateAddressInput{}
869	}
870
871	output = &AssociateAddressOutput{}
872	req = c.newRequest(op, input, output)
873	return
874}
875
876// AssociateAddress API operation for Amazon Elastic Compute Cloud.
877//
878// Associates an Elastic IP address with an instance or a network interface.
879// Before you can use an Elastic IP address, you must allocate it to your account.
880//
881// An Elastic IP address is for use in either the EC2-Classic platform or in
882// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
883// in the Amazon Elastic Compute Cloud User Guide.
884//
885// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
886// already associated with a different instance, it is disassociated from that
887// instance and associated with the specified instance. If you associate an
888// Elastic IP address with an instance that has an existing Elastic IP address,
889// the existing address is disassociated from the instance, but remains allocated
890// to your account.
891//
892// [VPC in an EC2-Classic account] If you don't specify a private IP address,
893// the Elastic IP address is associated with the primary IP address. If the
894// Elastic IP address is already associated with a different instance or a network
895// interface, you get an error unless you allow reassociation. You cannot associate
896// an Elastic IP address with an instance or network interface that has an existing
897// Elastic IP address.
898//
899// This is an idempotent operation. If you perform the operation more than once,
900// Amazon EC2 doesn't return an error, and you may be charged for each time
901// the Elastic IP address is remapped to the same instance. For more information,
902// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
903//
904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
905// with awserr.Error's Code and Message methods to get detailed information about
906// the error.
907//
908// See the AWS API reference guide for Amazon Elastic Compute Cloud's
909// API operation AssociateAddress for usage and error information.
910// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
911func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
912	req, out := c.AssociateAddressRequest(input)
913	return out, req.Send()
914}
915
916// AssociateAddressWithContext is the same as AssociateAddress with the addition of
917// the ability to pass a context and additional request options.
918//
919// See AssociateAddress for details on how to use this API operation.
920//
921// The context must be non-nil and will be used for request cancellation. If
922// the context is nil a panic will occur. In the future the SDK may create
923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
924// for more information on using Contexts.
925func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
926	req, out := c.AssociateAddressRequest(input)
927	req.SetContext(ctx)
928	req.ApplyOptions(opts...)
929	return out, req.Send()
930}
931
932const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
933
934// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
935// client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
936// value will be populated with the request's response once the request completes
937// successfully.
938//
939// Use "Send" method on the returned Request to send the API call to the service.
940// the "output" return value is not valid until after Send returns without error.
941//
942// See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
943// API call, and error handling.
944//
945// This method is useful when you want to inject custom logic or configuration
946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
947//
948//
949//    // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
950//    req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
951//
952//    err := req.Send()
953//    if err == nil { // resp is now filled
954//        fmt.Println(resp)
955//    }
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
958func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
959	op := &request.Operation{
960		Name:       opAssociateClientVpnTargetNetwork,
961		HTTPMethod: "POST",
962		HTTPPath:   "/",
963	}
964
965	if input == nil {
966		input = &AssociateClientVpnTargetNetworkInput{}
967	}
968
969	output = &AssociateClientVpnTargetNetworkOutput{}
970	req = c.newRequest(op, input, output)
971	return
972}
973
974// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
975//
976// Associates a target network with a Client VPN endpoint. A target network
977// is a subnet in a VPC. You can associate multiple subnets from the same VPC
978// with a Client VPN endpoint. You can associate only one subnet in each Availability
979// Zone. We recommend that you associate at least two subnets to provide Availability
980// Zone redundancy.
981//
982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
983// with awserr.Error's Code and Message methods to get detailed information about
984// the error.
985//
986// See the AWS API reference guide for Amazon Elastic Compute Cloud's
987// API operation AssociateClientVpnTargetNetwork for usage and error information.
988// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
989func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
990	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
991	return out, req.Send()
992}
993
994// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
995// the ability to pass a context and additional request options.
996//
997// See AssociateClientVpnTargetNetwork for details on how to use this API operation.
998//
999// The context must be non-nil and will be used for request cancellation. If
1000// the context is nil a panic will occur. In the future the SDK may create
1001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1002// for more information on using Contexts.
1003func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
1004	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1005	req.SetContext(ctx)
1006	req.ApplyOptions(opts...)
1007	return out, req.Send()
1008}
1009
1010const opAssociateDhcpOptions = "AssociateDhcpOptions"
1011
1012// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
1013// client's request for the AssociateDhcpOptions operation. The "output" return
1014// value will be populated with the request's response once the request completes
1015// successfully.
1016//
1017// Use "Send" method on the returned Request to send the API call to the service.
1018// the "output" return value is not valid until after Send returns without error.
1019//
1020// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
1021// API call, and error handling.
1022//
1023// This method is useful when you want to inject custom logic or configuration
1024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1025//
1026//
1027//    // Example sending a request using the AssociateDhcpOptionsRequest method.
1028//    req, resp := client.AssociateDhcpOptionsRequest(params)
1029//
1030//    err := req.Send()
1031//    if err == nil { // resp is now filled
1032//        fmt.Println(resp)
1033//    }
1034//
1035// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1036func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
1037	op := &request.Operation{
1038		Name:       opAssociateDhcpOptions,
1039		HTTPMethod: "POST",
1040		HTTPPath:   "/",
1041	}
1042
1043	if input == nil {
1044		input = &AssociateDhcpOptionsInput{}
1045	}
1046
1047	output = &AssociateDhcpOptionsOutput{}
1048	req = c.newRequest(op, input, output)
1049	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1050	return
1051}
1052
1053// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
1054//
1055// Associates a set of DHCP options (that you've previously created) with the
1056// specified VPC, or associates no DHCP options with the VPC.
1057//
1058// After you associate the options with the VPC, any existing instances and
1059// all new instances that you launch in that VPC use the options. You don't
1060// need to restart or relaunch the instances. They automatically pick up the
1061// changes within a few hours, depending on how frequently the instance renews
1062// its DHCP lease. You can explicitly renew the lease using the operating system
1063// on the instance.
1064//
1065// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
1066// in the Amazon Virtual Private Cloud User Guide.
1067//
1068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1069// with awserr.Error's Code and Message methods to get detailed information about
1070// the error.
1071//
1072// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1073// API operation AssociateDhcpOptions for usage and error information.
1074// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1075func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
1076	req, out := c.AssociateDhcpOptionsRequest(input)
1077	return out, req.Send()
1078}
1079
1080// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
1081// the ability to pass a context and additional request options.
1082//
1083// See AssociateDhcpOptions for details on how to use this API operation.
1084//
1085// The context must be non-nil and will be used for request cancellation. If
1086// the context is nil a panic will occur. In the future the SDK may create
1087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1088// for more information on using Contexts.
1089func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
1090	req, out := c.AssociateDhcpOptionsRequest(input)
1091	req.SetContext(ctx)
1092	req.ApplyOptions(opts...)
1093	return out, req.Send()
1094}
1095
1096const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
1097
1098// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
1099// client's request for the AssociateIamInstanceProfile operation. The "output" return
1100// value will be populated with the request's response once the request completes
1101// successfully.
1102//
1103// Use "Send" method on the returned Request to send the API call to the service.
1104// the "output" return value is not valid until after Send returns without error.
1105//
1106// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
1107// API call, and error handling.
1108//
1109// This method is useful when you want to inject custom logic or configuration
1110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1111//
1112//
1113//    // Example sending a request using the AssociateIamInstanceProfileRequest method.
1114//    req, resp := client.AssociateIamInstanceProfileRequest(params)
1115//
1116//    err := req.Send()
1117//    if err == nil { // resp is now filled
1118//        fmt.Println(resp)
1119//    }
1120//
1121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1122func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
1123	op := &request.Operation{
1124		Name:       opAssociateIamInstanceProfile,
1125		HTTPMethod: "POST",
1126		HTTPPath:   "/",
1127	}
1128
1129	if input == nil {
1130		input = &AssociateIamInstanceProfileInput{}
1131	}
1132
1133	output = &AssociateIamInstanceProfileOutput{}
1134	req = c.newRequest(op, input, output)
1135	return
1136}
1137
1138// AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
1139//
1140// Associates an IAM instance profile with a running or stopped instance. You
1141// cannot associate more than one IAM instance profile with an instance.
1142//
1143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1144// with awserr.Error's Code and Message methods to get detailed information about
1145// the error.
1146//
1147// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1148// API operation AssociateIamInstanceProfile for usage and error information.
1149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1150func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
1151	req, out := c.AssociateIamInstanceProfileRequest(input)
1152	return out, req.Send()
1153}
1154
1155// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
1156// the ability to pass a context and additional request options.
1157//
1158// See AssociateIamInstanceProfile for details on how to use this API operation.
1159//
1160// The context must be non-nil and will be used for request cancellation. If
1161// the context is nil a panic will occur. In the future the SDK may create
1162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1163// for more information on using Contexts.
1164func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
1165	req, out := c.AssociateIamInstanceProfileRequest(input)
1166	req.SetContext(ctx)
1167	req.ApplyOptions(opts...)
1168	return out, req.Send()
1169}
1170
1171const opAssociateRouteTable = "AssociateRouteTable"
1172
1173// AssociateRouteTableRequest generates a "aws/request.Request" representing the
1174// client's request for the AssociateRouteTable operation. The "output" return
1175// value will be populated with the request's response once the request completes
1176// successfully.
1177//
1178// Use "Send" method on the returned Request to send the API call to the service.
1179// the "output" return value is not valid until after Send returns without error.
1180//
1181// See AssociateRouteTable for more information on using the AssociateRouteTable
1182// API call, and error handling.
1183//
1184// This method is useful when you want to inject custom logic or configuration
1185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1186//
1187//
1188//    // Example sending a request using the AssociateRouteTableRequest method.
1189//    req, resp := client.AssociateRouteTableRequest(params)
1190//
1191//    err := req.Send()
1192//    if err == nil { // resp is now filled
1193//        fmt.Println(resp)
1194//    }
1195//
1196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1197func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
1198	op := &request.Operation{
1199		Name:       opAssociateRouteTable,
1200		HTTPMethod: "POST",
1201		HTTPPath:   "/",
1202	}
1203
1204	if input == nil {
1205		input = &AssociateRouteTableInput{}
1206	}
1207
1208	output = &AssociateRouteTableOutput{}
1209	req = c.newRequest(op, input, output)
1210	return
1211}
1212
1213// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
1214//
1215// Associates a subnet with a route table. The subnet and route table must be
1216// in the same VPC. This association causes traffic originating from the subnet
1217// to be routed according to the routes in the route table. The action returns
1218// an association ID, which you need in order to disassociate the route table
1219// from the subnet later. A route table can be associated with multiple subnets.
1220//
1221// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
1222// in the Amazon Virtual Private Cloud User Guide.
1223//
1224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1225// with awserr.Error's Code and Message methods to get detailed information about
1226// the error.
1227//
1228// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1229// API operation AssociateRouteTable for usage and error information.
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1231func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
1232	req, out := c.AssociateRouteTableRequest(input)
1233	return out, req.Send()
1234}
1235
1236// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
1237// the ability to pass a context and additional request options.
1238//
1239// See AssociateRouteTable for details on how to use this API operation.
1240//
1241// The context must be non-nil and will be used for request cancellation. If
1242// the context is nil a panic will occur. In the future the SDK may create
1243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1244// for more information on using Contexts.
1245func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
1246	req, out := c.AssociateRouteTableRequest(input)
1247	req.SetContext(ctx)
1248	req.ApplyOptions(opts...)
1249	return out, req.Send()
1250}
1251
1252const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
1253
1254// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
1255// client's request for the AssociateSubnetCidrBlock operation. The "output" return
1256// value will be populated with the request's response once the request completes
1257// successfully.
1258//
1259// Use "Send" method on the returned Request to send the API call to the service.
1260// the "output" return value is not valid until after Send returns without error.
1261//
1262// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
1263// API call, and error handling.
1264//
1265// This method is useful when you want to inject custom logic or configuration
1266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1267//
1268//
1269//    // Example sending a request using the AssociateSubnetCidrBlockRequest method.
1270//    req, resp := client.AssociateSubnetCidrBlockRequest(params)
1271//
1272//    err := req.Send()
1273//    if err == nil { // resp is now filled
1274//        fmt.Println(resp)
1275//    }
1276//
1277// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1278func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
1279	op := &request.Operation{
1280		Name:       opAssociateSubnetCidrBlock,
1281		HTTPMethod: "POST",
1282		HTTPPath:   "/",
1283	}
1284
1285	if input == nil {
1286		input = &AssociateSubnetCidrBlockInput{}
1287	}
1288
1289	output = &AssociateSubnetCidrBlockOutput{}
1290	req = c.newRequest(op, input, output)
1291	return
1292}
1293
1294// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
1295//
1296// Associates a CIDR block with your subnet. You can only associate a single
1297// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
1298// of /64.
1299//
1300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1301// with awserr.Error's Code and Message methods to get detailed information about
1302// the error.
1303//
1304// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1305// API operation AssociateSubnetCidrBlock for usage and error information.
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1307func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
1308	req, out := c.AssociateSubnetCidrBlockRequest(input)
1309	return out, req.Send()
1310}
1311
1312// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
1313// the ability to pass a context and additional request options.
1314//
1315// See AssociateSubnetCidrBlock for details on how to use this API operation.
1316//
1317// The context must be non-nil and will be used for request cancellation. If
1318// the context is nil a panic will occur. In the future the SDK may create
1319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1320// for more information on using Contexts.
1321func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
1322	req, out := c.AssociateSubnetCidrBlockRequest(input)
1323	req.SetContext(ctx)
1324	req.ApplyOptions(opts...)
1325	return out, req.Send()
1326}
1327
1328const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
1329
1330// AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
1331// client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
1332// value will be populated with the request's response once the request completes
1333// successfully.
1334//
1335// Use "Send" method on the returned Request to send the API call to the service.
1336// the "output" return value is not valid until after Send returns without error.
1337//
1338// See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
1339// API call, and error handling.
1340//
1341// This method is useful when you want to inject custom logic or configuration
1342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1343//
1344//
1345//    // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
1346//    req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
1347//
1348//    err := req.Send()
1349//    if err == nil { // resp is now filled
1350//        fmt.Println(resp)
1351//    }
1352//
1353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1354func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
1355	op := &request.Operation{
1356		Name:       opAssociateTransitGatewayRouteTable,
1357		HTTPMethod: "POST",
1358		HTTPPath:   "/",
1359	}
1360
1361	if input == nil {
1362		input = &AssociateTransitGatewayRouteTableInput{}
1363	}
1364
1365	output = &AssociateTransitGatewayRouteTableOutput{}
1366	req = c.newRequest(op, input, output)
1367	return
1368}
1369
1370// AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
1371//
1372// Associates the specified attachment with the specified transit gateway route
1373// table. You can associate only one route table with an attachment.
1374//
1375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1376// with awserr.Error's Code and Message methods to get detailed information about
1377// the error.
1378//
1379// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1380// API operation AssociateTransitGatewayRouteTable for usage and error information.
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1382func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
1383	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1384	return out, req.Send()
1385}
1386
1387// AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
1388// the ability to pass a context and additional request options.
1389//
1390// See AssociateTransitGatewayRouteTable for details on how to use this API operation.
1391//
1392// The context must be non-nil and will be used for request cancellation. If
1393// the context is nil a panic will occur. In the future the SDK may create
1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1395// for more information on using Contexts.
1396func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
1397	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1398	req.SetContext(ctx)
1399	req.ApplyOptions(opts...)
1400	return out, req.Send()
1401}
1402
1403const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
1404
1405// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
1406// client's request for the AssociateVpcCidrBlock operation. The "output" return
1407// value will be populated with the request's response once the request completes
1408// successfully.
1409//
1410// Use "Send" method on the returned Request to send the API call to the service.
1411// the "output" return value is not valid until after Send returns without error.
1412//
1413// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
1414// API call, and error handling.
1415//
1416// This method is useful when you want to inject custom logic or configuration
1417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1418//
1419//
1420//    // Example sending a request using the AssociateVpcCidrBlockRequest method.
1421//    req, resp := client.AssociateVpcCidrBlockRequest(params)
1422//
1423//    err := req.Send()
1424//    if err == nil { // resp is now filled
1425//        fmt.Println(resp)
1426//    }
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1429func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
1430	op := &request.Operation{
1431		Name:       opAssociateVpcCidrBlock,
1432		HTTPMethod: "POST",
1433		HTTPPath:   "/",
1434	}
1435
1436	if input == nil {
1437		input = &AssociateVpcCidrBlockInput{}
1438	}
1439
1440	output = &AssociateVpcCidrBlockOutput{}
1441	req = c.newRequest(op, input, output)
1442	return
1443}
1444
1445// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
1446//
1447// Associates a CIDR block with your VPC. You can associate a secondary IPv4
1448// CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
1449// IPv6 CIDR block size is fixed at /56.
1450//
1451// For more information about associating CIDR blocks with your VPC and applicable
1452// restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#VPC_Sizing)
1453// in the Amazon Virtual Private Cloud User Guide.
1454//
1455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1456// with awserr.Error's Code and Message methods to get detailed information about
1457// the error.
1458//
1459// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1460// API operation AssociateVpcCidrBlock for usage and error information.
1461// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1462func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
1463	req, out := c.AssociateVpcCidrBlockRequest(input)
1464	return out, req.Send()
1465}
1466
1467// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
1468// the ability to pass a context and additional request options.
1469//
1470// See AssociateVpcCidrBlock for details on how to use this API operation.
1471//
1472// The context must be non-nil and will be used for request cancellation. If
1473// the context is nil a panic will occur. In the future the SDK may create
1474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1475// for more information on using Contexts.
1476func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
1477	req, out := c.AssociateVpcCidrBlockRequest(input)
1478	req.SetContext(ctx)
1479	req.ApplyOptions(opts...)
1480	return out, req.Send()
1481}
1482
1483const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
1484
1485// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
1486// client's request for the AttachClassicLinkVpc operation. The "output" return
1487// value will be populated with the request's response once the request completes
1488// successfully.
1489//
1490// Use "Send" method on the returned Request to send the API call to the service.
1491// the "output" return value is not valid until after Send returns without error.
1492//
1493// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
1494// API call, and error handling.
1495//
1496// This method is useful when you want to inject custom logic or configuration
1497// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1498//
1499//
1500//    // Example sending a request using the AttachClassicLinkVpcRequest method.
1501//    req, resp := client.AttachClassicLinkVpcRequest(params)
1502//
1503//    err := req.Send()
1504//    if err == nil { // resp is now filled
1505//        fmt.Println(resp)
1506//    }
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1509func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
1510	op := &request.Operation{
1511		Name:       opAttachClassicLinkVpc,
1512		HTTPMethod: "POST",
1513		HTTPPath:   "/",
1514	}
1515
1516	if input == nil {
1517		input = &AttachClassicLinkVpcInput{}
1518	}
1519
1520	output = &AttachClassicLinkVpcOutput{}
1521	req = c.newRequest(op, input, output)
1522	return
1523}
1524
1525// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
1526//
1527// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
1528// more of the VPC's security groups. You cannot link an EC2-Classic instance
1529// to more than one VPC at a time. You can only link an instance that's in the
1530// running state. An instance is automatically unlinked from a VPC when it's
1531// stopped - you can link it to the VPC again when you restart it.
1532//
1533// After you've linked an instance, you cannot change the VPC security groups
1534// that are associated with it. To change the security groups, you must first
1535// unlink the instance, and then link it again.
1536//
1537// Linking your instance to a VPC is sometimes referred to as attaching your
1538// instance.
1539//
1540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1541// with awserr.Error's Code and Message methods to get detailed information about
1542// the error.
1543//
1544// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1545// API operation AttachClassicLinkVpc for usage and error information.
1546// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1547func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
1548	req, out := c.AttachClassicLinkVpcRequest(input)
1549	return out, req.Send()
1550}
1551
1552// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
1553// the ability to pass a context and additional request options.
1554//
1555// See AttachClassicLinkVpc for details on how to use this API operation.
1556//
1557// The context must be non-nil and will be used for request cancellation. If
1558// the context is nil a panic will occur. In the future the SDK may create
1559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1560// for more information on using Contexts.
1561func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
1562	req, out := c.AttachClassicLinkVpcRequest(input)
1563	req.SetContext(ctx)
1564	req.ApplyOptions(opts...)
1565	return out, req.Send()
1566}
1567
1568const opAttachInternetGateway = "AttachInternetGateway"
1569
1570// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
1571// client's request for the AttachInternetGateway operation. The "output" return
1572// value will be populated with the request's response once the request completes
1573// successfully.
1574//
1575// Use "Send" method on the returned Request to send the API call to the service.
1576// the "output" return value is not valid until after Send returns without error.
1577//
1578// See AttachInternetGateway for more information on using the AttachInternetGateway
1579// API call, and error handling.
1580//
1581// This method is useful when you want to inject custom logic or configuration
1582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1583//
1584//
1585//    // Example sending a request using the AttachInternetGatewayRequest method.
1586//    req, resp := client.AttachInternetGatewayRequest(params)
1587//
1588//    err := req.Send()
1589//    if err == nil { // resp is now filled
1590//        fmt.Println(resp)
1591//    }
1592//
1593// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1594func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
1595	op := &request.Operation{
1596		Name:       opAttachInternetGateway,
1597		HTTPMethod: "POST",
1598		HTTPPath:   "/",
1599	}
1600
1601	if input == nil {
1602		input = &AttachInternetGatewayInput{}
1603	}
1604
1605	output = &AttachInternetGatewayOutput{}
1606	req = c.newRequest(op, input, output)
1607	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1608	return
1609}
1610
1611// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
1612//
1613// Attaches an internet gateway to a VPC, enabling connectivity between the
1614// internet and the VPC. For more information about your VPC and internet gateway,
1615// see the Amazon Virtual Private Cloud User Guide (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
1616//
1617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1618// with awserr.Error's Code and Message methods to get detailed information about
1619// the error.
1620//
1621// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1622// API operation AttachInternetGateway for usage and error information.
1623// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1624func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
1625	req, out := c.AttachInternetGatewayRequest(input)
1626	return out, req.Send()
1627}
1628
1629// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
1630// the ability to pass a context and additional request options.
1631//
1632// See AttachInternetGateway for details on how to use this API operation.
1633//
1634// The context must be non-nil and will be used for request cancellation. If
1635// the context is nil a panic will occur. In the future the SDK may create
1636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1637// for more information on using Contexts.
1638func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
1639	req, out := c.AttachInternetGatewayRequest(input)
1640	req.SetContext(ctx)
1641	req.ApplyOptions(opts...)
1642	return out, req.Send()
1643}
1644
1645const opAttachNetworkInterface = "AttachNetworkInterface"
1646
1647// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
1648// client's request for the AttachNetworkInterface operation. The "output" return
1649// value will be populated with the request's response once the request completes
1650// successfully.
1651//
1652// Use "Send" method on the returned Request to send the API call to the service.
1653// the "output" return value is not valid until after Send returns without error.
1654//
1655// See AttachNetworkInterface for more information on using the AttachNetworkInterface
1656// API call, and error handling.
1657//
1658// This method is useful when you want to inject custom logic or configuration
1659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1660//
1661//
1662//    // Example sending a request using the AttachNetworkInterfaceRequest method.
1663//    req, resp := client.AttachNetworkInterfaceRequest(params)
1664//
1665//    err := req.Send()
1666//    if err == nil { // resp is now filled
1667//        fmt.Println(resp)
1668//    }
1669//
1670// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
1671func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
1672	op := &request.Operation{
1673		Name:       opAttachNetworkInterface,
1674		HTTPMethod: "POST",
1675		HTTPPath:   "/",
1676	}
1677
1678	if input == nil {
1679		input = &AttachNetworkInterfaceInput{}
1680	}
1681
1682	output = &AttachNetworkInterfaceOutput{}
1683	req = c.newRequest(op, input, output)
1684	return
1685}
1686
1687// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
1688//
1689// Attaches a network interface to an instance.
1690//
1691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1692// with awserr.Error's Code and Message methods to get detailed information about
1693// the error.
1694//
1695// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1696// API operation AttachNetworkInterface for usage and error information.
1697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
1698func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
1699	req, out := c.AttachNetworkInterfaceRequest(input)
1700	return out, req.Send()
1701}
1702
1703// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
1704// the ability to pass a context and additional request options.
1705//
1706// See AttachNetworkInterface for details on how to use this API operation.
1707//
1708// The context must be non-nil and will be used for request cancellation. If
1709// the context is nil a panic will occur. In the future the SDK may create
1710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1711// for more information on using Contexts.
1712func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
1713	req, out := c.AttachNetworkInterfaceRequest(input)
1714	req.SetContext(ctx)
1715	req.ApplyOptions(opts...)
1716	return out, req.Send()
1717}
1718
1719const opAttachVolume = "AttachVolume"
1720
1721// AttachVolumeRequest generates a "aws/request.Request" representing the
1722// client's request for the AttachVolume operation. The "output" return
1723// value will be populated with the request's response once the request completes
1724// successfully.
1725//
1726// Use "Send" method on the returned Request to send the API call to the service.
1727// the "output" return value is not valid until after Send returns without error.
1728//
1729// See AttachVolume for more information on using the AttachVolume
1730// API call, and error handling.
1731//
1732// This method is useful when you want to inject custom logic or configuration
1733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1734//
1735//
1736//    // Example sending a request using the AttachVolumeRequest method.
1737//    req, resp := client.AttachVolumeRequest(params)
1738//
1739//    err := req.Send()
1740//    if err == nil { // resp is now filled
1741//        fmt.Println(resp)
1742//    }
1743//
1744// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
1745func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
1746	op := &request.Operation{
1747		Name:       opAttachVolume,
1748		HTTPMethod: "POST",
1749		HTTPPath:   "/",
1750	}
1751
1752	if input == nil {
1753		input = &AttachVolumeInput{}
1754	}
1755
1756	output = &VolumeAttachment{}
1757	req = c.newRequest(op, input, output)
1758	return
1759}
1760
1761// AttachVolume API operation for Amazon Elastic Compute Cloud.
1762//
1763// Attaches an EBS volume to a running or stopped instance and exposes it to
1764// the instance with the specified device name.
1765//
1766// Encrypted EBS volumes may only be attached to instances that support Amazon
1767// EBS encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
1768// in the Amazon Elastic Compute Cloud User Guide.
1769//
1770// For a list of supported device names, see Attaching an EBS Volume to an Instance
1771// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
1772// Any device names that aren't reserved for instance store volumes can be used
1773// for EBS volumes. For more information, see Amazon EC2 Instance Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
1774// in the Amazon Elastic Compute Cloud User Guide.
1775//
1776// If a volume has an AWS Marketplace product code:
1777//
1778//    * The volume can be attached only to a stopped instance.
1779//
1780//    * AWS Marketplace product codes are copied from the volume to the instance.
1781//
1782//    * You must be subscribed to the product.
1783//
1784//    * The instance type and operating system of the instance must support
1785//    the product. For example, you can't detach a volume from a Windows instance
1786//    and attach it to a Linux instance.
1787//
1788// For more information about EBS volumes, see Attaching Amazon EBS Volumes
1789// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
1790// in the Amazon Elastic Compute Cloud User Guide.
1791//
1792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1793// with awserr.Error's Code and Message methods to get detailed information about
1794// the error.
1795//
1796// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1797// API operation AttachVolume for usage and error information.
1798// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
1799func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
1800	req, out := c.AttachVolumeRequest(input)
1801	return out, req.Send()
1802}
1803
1804// AttachVolumeWithContext is the same as AttachVolume with the addition of
1805// the ability to pass a context and additional request options.
1806//
1807// See AttachVolume for details on how to use this API operation.
1808//
1809// The context must be non-nil and will be used for request cancellation. If
1810// the context is nil a panic will occur. In the future the SDK may create
1811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1812// for more information on using Contexts.
1813func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
1814	req, out := c.AttachVolumeRequest(input)
1815	req.SetContext(ctx)
1816	req.ApplyOptions(opts...)
1817	return out, req.Send()
1818}
1819
1820const opAttachVpnGateway = "AttachVpnGateway"
1821
1822// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
1823// client's request for the AttachVpnGateway operation. The "output" return
1824// value will be populated with the request's response once the request completes
1825// successfully.
1826//
1827// Use "Send" method on the returned Request to send the API call to the service.
1828// the "output" return value is not valid until after Send returns without error.
1829//
1830// See AttachVpnGateway for more information on using the AttachVpnGateway
1831// API call, and error handling.
1832//
1833// This method is useful when you want to inject custom logic or configuration
1834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1835//
1836//
1837//    // Example sending a request using the AttachVpnGatewayRequest method.
1838//    req, resp := client.AttachVpnGatewayRequest(params)
1839//
1840//    err := req.Send()
1841//    if err == nil { // resp is now filled
1842//        fmt.Println(resp)
1843//    }
1844//
1845// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
1846func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
1847	op := &request.Operation{
1848		Name:       opAttachVpnGateway,
1849		HTTPMethod: "POST",
1850		HTTPPath:   "/",
1851	}
1852
1853	if input == nil {
1854		input = &AttachVpnGatewayInput{}
1855	}
1856
1857	output = &AttachVpnGatewayOutput{}
1858	req = c.newRequest(op, input, output)
1859	return
1860}
1861
1862// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
1863//
1864// Attaches a virtual private gateway to a VPC. You can attach one virtual private
1865// gateway to one VPC at a time.
1866//
1867// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
1868// in the AWS Site-to-Site VPN User Guide.
1869//
1870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1871// with awserr.Error's Code and Message methods to get detailed information about
1872// the error.
1873//
1874// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1875// API operation AttachVpnGateway for usage and error information.
1876// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
1877func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
1878	req, out := c.AttachVpnGatewayRequest(input)
1879	return out, req.Send()
1880}
1881
1882// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
1883// the ability to pass a context and additional request options.
1884//
1885// See AttachVpnGateway for details on how to use this API operation.
1886//
1887// The context must be non-nil and will be used for request cancellation. If
1888// the context is nil a panic will occur. In the future the SDK may create
1889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1890// for more information on using Contexts.
1891func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
1892	req, out := c.AttachVpnGatewayRequest(input)
1893	req.SetContext(ctx)
1894	req.ApplyOptions(opts...)
1895	return out, req.Send()
1896}
1897
1898const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
1899
1900// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
1901// client's request for the AuthorizeClientVpnIngress operation. The "output" return
1902// value will be populated with the request's response once the request completes
1903// successfully.
1904//
1905// Use "Send" method on the returned Request to send the API call to the service.
1906// the "output" return value is not valid until after Send returns without error.
1907//
1908// See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
1909// API call, and error handling.
1910//
1911// This method is useful when you want to inject custom logic or configuration
1912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1913//
1914//
1915//    // Example sending a request using the AuthorizeClientVpnIngressRequest method.
1916//    req, resp := client.AuthorizeClientVpnIngressRequest(params)
1917//
1918//    err := req.Send()
1919//    if err == nil { // resp is now filled
1920//        fmt.Println(resp)
1921//    }
1922//
1923// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
1924func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
1925	op := &request.Operation{
1926		Name:       opAuthorizeClientVpnIngress,
1927		HTTPMethod: "POST",
1928		HTTPPath:   "/",
1929	}
1930
1931	if input == nil {
1932		input = &AuthorizeClientVpnIngressInput{}
1933	}
1934
1935	output = &AuthorizeClientVpnIngressOutput{}
1936	req = c.newRequest(op, input, output)
1937	return
1938}
1939
1940// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
1941//
1942// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
1943// rules act as firewall rules that grant access to networks. You must configure
1944// ingress authorization rules to enable clients to access resources in AWS
1945// or on-premises networks.
1946//
1947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1948// with awserr.Error's Code and Message methods to get detailed information about
1949// the error.
1950//
1951// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1952// API operation AuthorizeClientVpnIngress for usage and error information.
1953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
1954func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
1955	req, out := c.AuthorizeClientVpnIngressRequest(input)
1956	return out, req.Send()
1957}
1958
1959// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
1960// the ability to pass a context and additional request options.
1961//
1962// See AuthorizeClientVpnIngress for details on how to use this API operation.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
1969	req, out := c.AuthorizeClientVpnIngressRequest(input)
1970	req.SetContext(ctx)
1971	req.ApplyOptions(opts...)
1972	return out, req.Send()
1973}
1974
1975const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
1976
1977// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
1978// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
1979// value will be populated with the request's response once the request completes
1980// successfully.
1981//
1982// Use "Send" method on the returned Request to send the API call to the service.
1983// the "output" return value is not valid until after Send returns without error.
1984//
1985// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
1986// API call, and error handling.
1987//
1988// This method is useful when you want to inject custom logic or configuration
1989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1990//
1991//
1992//    // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
1993//    req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
1994//
1995//    err := req.Send()
1996//    if err == nil { // resp is now filled
1997//        fmt.Println(resp)
1998//    }
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2001func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
2002	op := &request.Operation{
2003		Name:       opAuthorizeSecurityGroupEgress,
2004		HTTPMethod: "POST",
2005		HTTPPath:   "/",
2006	}
2007
2008	if input == nil {
2009		input = &AuthorizeSecurityGroupEgressInput{}
2010	}
2011
2012	output = &AuthorizeSecurityGroupEgressOutput{}
2013	req = c.newRequest(op, input, output)
2014	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2015	return
2016}
2017
2018// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
2019//
2020// [VPC only] Adds the specified egress rules to a security group for use with
2021// a VPC.
2022//
2023// An outbound rule permits instances to send traffic to the specified destination
2024// IPv4 or IPv6 CIDR address ranges, or to the specified destination security
2025// groups for the same VPC.
2026//
2027// You specify a protocol for each rule (for example, TCP). For the TCP and
2028// UDP protocols, you must also specify the destination port or port range.
2029// For the ICMP protocol, you must also specify the ICMP type and code. You
2030// can use -1 for the type or code to mean all types or all codes.
2031//
2032// Rule changes are propagated to affected instances as quickly as possible.
2033// However, a small delay might occur.
2034//
2035// For more information about VPC security group limits, see Amazon VPC Limits
2036// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2037//
2038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2039// with awserr.Error's Code and Message methods to get detailed information about
2040// the error.
2041//
2042// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2043// API operation AuthorizeSecurityGroupEgress for usage and error information.
2044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2045func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
2046	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2047	return out, req.Send()
2048}
2049
2050// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
2051// the ability to pass a context and additional request options.
2052//
2053// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
2054//
2055// The context must be non-nil and will be used for request cancellation. If
2056// the context is nil a panic will occur. In the future the SDK may create
2057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2058// for more information on using Contexts.
2059func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
2060	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2061	req.SetContext(ctx)
2062	req.ApplyOptions(opts...)
2063	return out, req.Send()
2064}
2065
2066const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
2067
2068// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
2069// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
2070// value will be populated with the request's response once the request completes
2071// successfully.
2072//
2073// Use "Send" method on the returned Request to send the API call to the service.
2074// the "output" return value is not valid until after Send returns without error.
2075//
2076// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
2077// API call, and error handling.
2078//
2079// This method is useful when you want to inject custom logic or configuration
2080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2081//
2082//
2083//    // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
2084//    req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
2085//
2086//    err := req.Send()
2087//    if err == nil { // resp is now filled
2088//        fmt.Println(resp)
2089//    }
2090//
2091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2092func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
2093	op := &request.Operation{
2094		Name:       opAuthorizeSecurityGroupIngress,
2095		HTTPMethod: "POST",
2096		HTTPPath:   "/",
2097	}
2098
2099	if input == nil {
2100		input = &AuthorizeSecurityGroupIngressInput{}
2101	}
2102
2103	output = &AuthorizeSecurityGroupIngressOutput{}
2104	req = c.newRequest(op, input, output)
2105	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2106	return
2107}
2108
2109// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
2110//
2111// Adds the specified ingress rules to a security group.
2112//
2113// An inbound rule permits instances to receive traffic from the specified destination
2114// IPv4 or IPv6 CIDR address ranges, or from the specified destination security
2115// groups.
2116//
2117// You specify a protocol for each rule (for example, TCP). For TCP and UDP,
2118// you must also specify the destination port or port range. For ICMP/ICMPv6,
2119// you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean
2120// all types or all codes.
2121//
2122// Rule changes are propagated to instances within the security group as quickly
2123// as possible. However, a small delay might occur.
2124//
2125// For more information about VPC security group limits, see Amazon VPC Limits
2126// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2127//
2128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2129// with awserr.Error's Code and Message methods to get detailed information about
2130// the error.
2131//
2132// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2133// API operation AuthorizeSecurityGroupIngress for usage and error information.
2134// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2135func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
2136	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2137	return out, req.Send()
2138}
2139
2140// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
2141// the ability to pass a context and additional request options.
2142//
2143// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
2144//
2145// The context must be non-nil and will be used for request cancellation. If
2146// the context is nil a panic will occur. In the future the SDK may create
2147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2148// for more information on using Contexts.
2149func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
2150	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2151	req.SetContext(ctx)
2152	req.ApplyOptions(opts...)
2153	return out, req.Send()
2154}
2155
2156const opBundleInstance = "BundleInstance"
2157
2158// BundleInstanceRequest generates a "aws/request.Request" representing the
2159// client's request for the BundleInstance operation. The "output" return
2160// value will be populated with the request's response once the request completes
2161// successfully.
2162//
2163// Use "Send" method on the returned Request to send the API call to the service.
2164// the "output" return value is not valid until after Send returns without error.
2165//
2166// See BundleInstance for more information on using the BundleInstance
2167// API call, and error handling.
2168//
2169// This method is useful when you want to inject custom logic or configuration
2170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2171//
2172//
2173//    // Example sending a request using the BundleInstanceRequest method.
2174//    req, resp := client.BundleInstanceRequest(params)
2175//
2176//    err := req.Send()
2177//    if err == nil { // resp is now filled
2178//        fmt.Println(resp)
2179//    }
2180//
2181// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2182func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
2183	op := &request.Operation{
2184		Name:       opBundleInstance,
2185		HTTPMethod: "POST",
2186		HTTPPath:   "/",
2187	}
2188
2189	if input == nil {
2190		input = &BundleInstanceInput{}
2191	}
2192
2193	output = &BundleInstanceOutput{}
2194	req = c.newRequest(op, input, output)
2195	return
2196}
2197
2198// BundleInstance API operation for Amazon Elastic Compute Cloud.
2199//
2200// Bundles an Amazon instance store-backed Windows instance.
2201//
2202// During bundling, only the root device volume (C:\) is bundled. Data on other
2203// instance store volumes is not preserved.
2204//
2205// This action is not applicable for Linux/Unix instances or Windows instances
2206// that are backed by Amazon EBS.
2207//
2208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2209// with awserr.Error's Code and Message methods to get detailed information about
2210// the error.
2211//
2212// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2213// API operation BundleInstance for usage and error information.
2214// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2215func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
2216	req, out := c.BundleInstanceRequest(input)
2217	return out, req.Send()
2218}
2219
2220// BundleInstanceWithContext is the same as BundleInstance with the addition of
2221// the ability to pass a context and additional request options.
2222//
2223// See BundleInstance for details on how to use this API operation.
2224//
2225// The context must be non-nil and will be used for request cancellation. If
2226// the context is nil a panic will occur. In the future the SDK may create
2227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2228// for more information on using Contexts.
2229func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
2230	req, out := c.BundleInstanceRequest(input)
2231	req.SetContext(ctx)
2232	req.ApplyOptions(opts...)
2233	return out, req.Send()
2234}
2235
2236const opCancelBundleTask = "CancelBundleTask"
2237
2238// CancelBundleTaskRequest generates a "aws/request.Request" representing the
2239// client's request for the CancelBundleTask operation. The "output" return
2240// value will be populated with the request's response once the request completes
2241// successfully.
2242//
2243// Use "Send" method on the returned Request to send the API call to the service.
2244// the "output" return value is not valid until after Send returns without error.
2245//
2246// See CancelBundleTask for more information on using the CancelBundleTask
2247// API call, and error handling.
2248//
2249// This method is useful when you want to inject custom logic or configuration
2250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2251//
2252//
2253//    // Example sending a request using the CancelBundleTaskRequest method.
2254//    req, resp := client.CancelBundleTaskRequest(params)
2255//
2256//    err := req.Send()
2257//    if err == nil { // resp is now filled
2258//        fmt.Println(resp)
2259//    }
2260//
2261// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2262func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
2263	op := &request.Operation{
2264		Name:       opCancelBundleTask,
2265		HTTPMethod: "POST",
2266		HTTPPath:   "/",
2267	}
2268
2269	if input == nil {
2270		input = &CancelBundleTaskInput{}
2271	}
2272
2273	output = &CancelBundleTaskOutput{}
2274	req = c.newRequest(op, input, output)
2275	return
2276}
2277
2278// CancelBundleTask API operation for Amazon Elastic Compute Cloud.
2279//
2280// Cancels a bundling operation for an instance store-backed Windows instance.
2281//
2282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2283// with awserr.Error's Code and Message methods to get detailed information about
2284// the error.
2285//
2286// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2287// API operation CancelBundleTask for usage and error information.
2288// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2289func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
2290	req, out := c.CancelBundleTaskRequest(input)
2291	return out, req.Send()
2292}
2293
2294// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
2295// the ability to pass a context and additional request options.
2296//
2297// See CancelBundleTask for details on how to use this API operation.
2298//
2299// The context must be non-nil and will be used for request cancellation. If
2300// the context is nil a panic will occur. In the future the SDK may create
2301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2302// for more information on using Contexts.
2303func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
2304	req, out := c.CancelBundleTaskRequest(input)
2305	req.SetContext(ctx)
2306	req.ApplyOptions(opts...)
2307	return out, req.Send()
2308}
2309
2310const opCancelCapacityReservation = "CancelCapacityReservation"
2311
2312// CancelCapacityReservationRequest generates a "aws/request.Request" representing the
2313// client's request for the CancelCapacityReservation operation. The "output" return
2314// value will be populated with the request's response once the request completes
2315// successfully.
2316//
2317// Use "Send" method on the returned Request to send the API call to the service.
2318// the "output" return value is not valid until after Send returns without error.
2319//
2320// See CancelCapacityReservation for more information on using the CancelCapacityReservation
2321// API call, and error handling.
2322//
2323// This method is useful when you want to inject custom logic or configuration
2324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2325//
2326//
2327//    // Example sending a request using the CancelCapacityReservationRequest method.
2328//    req, resp := client.CancelCapacityReservationRequest(params)
2329//
2330//    err := req.Send()
2331//    if err == nil { // resp is now filled
2332//        fmt.Println(resp)
2333//    }
2334//
2335// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2336func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
2337	op := &request.Operation{
2338		Name:       opCancelCapacityReservation,
2339		HTTPMethod: "POST",
2340		HTTPPath:   "/",
2341	}
2342
2343	if input == nil {
2344		input = &CancelCapacityReservationInput{}
2345	}
2346
2347	output = &CancelCapacityReservationOutput{}
2348	req = c.newRequest(op, input, output)
2349	return
2350}
2351
2352// CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
2353//
2354// Cancels the specified Capacity Reservation, releases the reserved capacity,
2355// and changes the Capacity Reservation's state to cancelled.
2356//
2357// Instances running in the reserved capacity continue running until you stop
2358// them. Stopped instances that target the Capacity Reservation can no longer
2359// launch. Modify these instances to either target a different Capacity Reservation,
2360// launch On-Demand Instance capacity, or run in any open Capacity Reservation
2361// that has matching attributes and sufficient capacity.
2362//
2363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2364// with awserr.Error's Code and Message methods to get detailed information about
2365// the error.
2366//
2367// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2368// API operation CancelCapacityReservation for usage and error information.
2369// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2370func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
2371	req, out := c.CancelCapacityReservationRequest(input)
2372	return out, req.Send()
2373}
2374
2375// CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
2376// the ability to pass a context and additional request options.
2377//
2378// See CancelCapacityReservation for details on how to use this API operation.
2379//
2380// The context must be non-nil and will be used for request cancellation. If
2381// the context is nil a panic will occur. In the future the SDK may create
2382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2383// for more information on using Contexts.
2384func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
2385	req, out := c.CancelCapacityReservationRequest(input)
2386	req.SetContext(ctx)
2387	req.ApplyOptions(opts...)
2388	return out, req.Send()
2389}
2390
2391const opCancelConversionTask = "CancelConversionTask"
2392
2393// CancelConversionTaskRequest generates a "aws/request.Request" representing the
2394// client's request for the CancelConversionTask operation. The "output" return
2395// value will be populated with the request's response once the request completes
2396// successfully.
2397//
2398// Use "Send" method on the returned Request to send the API call to the service.
2399// the "output" return value is not valid until after Send returns without error.
2400//
2401// See CancelConversionTask for more information on using the CancelConversionTask
2402// API call, and error handling.
2403//
2404// This method is useful when you want to inject custom logic or configuration
2405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2406//
2407//
2408//    // Example sending a request using the CancelConversionTaskRequest method.
2409//    req, resp := client.CancelConversionTaskRequest(params)
2410//
2411//    err := req.Send()
2412//    if err == nil { // resp is now filled
2413//        fmt.Println(resp)
2414//    }
2415//
2416// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2417func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
2418	op := &request.Operation{
2419		Name:       opCancelConversionTask,
2420		HTTPMethod: "POST",
2421		HTTPPath:   "/",
2422	}
2423
2424	if input == nil {
2425		input = &CancelConversionTaskInput{}
2426	}
2427
2428	output = &CancelConversionTaskOutput{}
2429	req = c.newRequest(op, input, output)
2430	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2431	return
2432}
2433
2434// CancelConversionTask API operation for Amazon Elastic Compute Cloud.
2435//
2436// Cancels an active conversion task. The task can be the import of an instance
2437// or volume. The action removes all artifacts of the conversion, including
2438// a partially uploaded volume or instance. If the conversion is complete or
2439// is in the process of transferring the final disk image, the command fails
2440// and returns an exception.
2441//
2442// For more information, see Importing a Virtual Machine Using the Amazon EC2
2443// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
2444//
2445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2446// with awserr.Error's Code and Message methods to get detailed information about
2447// the error.
2448//
2449// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2450// API operation CancelConversionTask for usage and error information.
2451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2452func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
2453	req, out := c.CancelConversionTaskRequest(input)
2454	return out, req.Send()
2455}
2456
2457// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
2458// the ability to pass a context and additional request options.
2459//
2460// See CancelConversionTask for details on how to use this API operation.
2461//
2462// The context must be non-nil and will be used for request cancellation. If
2463// the context is nil a panic will occur. In the future the SDK may create
2464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2465// for more information on using Contexts.
2466func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
2467	req, out := c.CancelConversionTaskRequest(input)
2468	req.SetContext(ctx)
2469	req.ApplyOptions(opts...)
2470	return out, req.Send()
2471}
2472
2473const opCancelExportTask = "CancelExportTask"
2474
2475// CancelExportTaskRequest generates a "aws/request.Request" representing the
2476// client's request for the CancelExportTask operation. The "output" return
2477// value will be populated with the request's response once the request completes
2478// successfully.
2479//
2480// Use "Send" method on the returned Request to send the API call to the service.
2481// the "output" return value is not valid until after Send returns without error.
2482//
2483// See CancelExportTask for more information on using the CancelExportTask
2484// API call, and error handling.
2485//
2486// This method is useful when you want to inject custom logic or configuration
2487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2488//
2489//
2490//    // Example sending a request using the CancelExportTaskRequest method.
2491//    req, resp := client.CancelExportTaskRequest(params)
2492//
2493//    err := req.Send()
2494//    if err == nil { // resp is now filled
2495//        fmt.Println(resp)
2496//    }
2497//
2498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2499func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
2500	op := &request.Operation{
2501		Name:       opCancelExportTask,
2502		HTTPMethod: "POST",
2503		HTTPPath:   "/",
2504	}
2505
2506	if input == nil {
2507		input = &CancelExportTaskInput{}
2508	}
2509
2510	output = &CancelExportTaskOutput{}
2511	req = c.newRequest(op, input, output)
2512	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2513	return
2514}
2515
2516// CancelExportTask API operation for Amazon Elastic Compute Cloud.
2517//
2518// Cancels an active export task. The request removes all artifacts of the export,
2519// including any partially-created Amazon S3 objects. If the export task is
2520// complete or is in the process of transferring the final disk image, the command
2521// fails and returns an error.
2522//
2523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2524// with awserr.Error's Code and Message methods to get detailed information about
2525// the error.
2526//
2527// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2528// API operation CancelExportTask for usage and error information.
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2530func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
2531	req, out := c.CancelExportTaskRequest(input)
2532	return out, req.Send()
2533}
2534
2535// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
2536// the ability to pass a context and additional request options.
2537//
2538// See CancelExportTask for details on how to use this API operation.
2539//
2540// The context must be non-nil and will be used for request cancellation. If
2541// the context is nil a panic will occur. In the future the SDK may create
2542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2543// for more information on using Contexts.
2544func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
2545	req, out := c.CancelExportTaskRequest(input)
2546	req.SetContext(ctx)
2547	req.ApplyOptions(opts...)
2548	return out, req.Send()
2549}
2550
2551const opCancelImportTask = "CancelImportTask"
2552
2553// CancelImportTaskRequest generates a "aws/request.Request" representing the
2554// client's request for the CancelImportTask operation. The "output" return
2555// value will be populated with the request's response once the request completes
2556// successfully.
2557//
2558// Use "Send" method on the returned Request to send the API call to the service.
2559// the "output" return value is not valid until after Send returns without error.
2560//
2561// See CancelImportTask for more information on using the CancelImportTask
2562// API call, and error handling.
2563//
2564// This method is useful when you want to inject custom logic or configuration
2565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2566//
2567//
2568//    // Example sending a request using the CancelImportTaskRequest method.
2569//    req, resp := client.CancelImportTaskRequest(params)
2570//
2571//    err := req.Send()
2572//    if err == nil { // resp is now filled
2573//        fmt.Println(resp)
2574//    }
2575//
2576// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2577func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
2578	op := &request.Operation{
2579		Name:       opCancelImportTask,
2580		HTTPMethod: "POST",
2581		HTTPPath:   "/",
2582	}
2583
2584	if input == nil {
2585		input = &CancelImportTaskInput{}
2586	}
2587
2588	output = &CancelImportTaskOutput{}
2589	req = c.newRequest(op, input, output)
2590	return
2591}
2592
2593// CancelImportTask API operation for Amazon Elastic Compute Cloud.
2594//
2595// Cancels an in-process import virtual machine or import snapshot task.
2596//
2597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2598// with awserr.Error's Code and Message methods to get detailed information about
2599// the error.
2600//
2601// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2602// API operation CancelImportTask for usage and error information.
2603// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2604func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
2605	req, out := c.CancelImportTaskRequest(input)
2606	return out, req.Send()
2607}
2608
2609// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
2610// the ability to pass a context and additional request options.
2611//
2612// See CancelImportTask for details on how to use this API operation.
2613//
2614// The context must be non-nil and will be used for request cancellation. If
2615// the context is nil a panic will occur. In the future the SDK may create
2616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2617// for more information on using Contexts.
2618func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
2619	req, out := c.CancelImportTaskRequest(input)
2620	req.SetContext(ctx)
2621	req.ApplyOptions(opts...)
2622	return out, req.Send()
2623}
2624
2625const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
2626
2627// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
2628// client's request for the CancelReservedInstancesListing operation. The "output" return
2629// value will be populated with the request's response once the request completes
2630// successfully.
2631//
2632// Use "Send" method on the returned Request to send the API call to the service.
2633// the "output" return value is not valid until after Send returns without error.
2634//
2635// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
2636// API call, and error handling.
2637//
2638// This method is useful when you want to inject custom logic or configuration
2639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2640//
2641//
2642//    // Example sending a request using the CancelReservedInstancesListingRequest method.
2643//    req, resp := client.CancelReservedInstancesListingRequest(params)
2644//
2645//    err := req.Send()
2646//    if err == nil { // resp is now filled
2647//        fmt.Println(resp)
2648//    }
2649//
2650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2651func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
2652	op := &request.Operation{
2653		Name:       opCancelReservedInstancesListing,
2654		HTTPMethod: "POST",
2655		HTTPPath:   "/",
2656	}
2657
2658	if input == nil {
2659		input = &CancelReservedInstancesListingInput{}
2660	}
2661
2662	output = &CancelReservedInstancesListingOutput{}
2663	req = c.newRequest(op, input, output)
2664	return
2665}
2666
2667// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
2668//
2669// Cancels the specified Reserved Instance listing in the Reserved Instance
2670// Marketplace.
2671//
2672// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
2673// in the Amazon Elastic Compute Cloud User Guide.
2674//
2675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2676// with awserr.Error's Code and Message methods to get detailed information about
2677// the error.
2678//
2679// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2680// API operation CancelReservedInstancesListing for usage and error information.
2681// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2682func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
2683	req, out := c.CancelReservedInstancesListingRequest(input)
2684	return out, req.Send()
2685}
2686
2687// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
2688// the ability to pass a context and additional request options.
2689//
2690// See CancelReservedInstancesListing for details on how to use this API operation.
2691//
2692// The context must be non-nil and will be used for request cancellation. If
2693// the context is nil a panic will occur. In the future the SDK may create
2694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2695// for more information on using Contexts.
2696func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
2697	req, out := c.CancelReservedInstancesListingRequest(input)
2698	req.SetContext(ctx)
2699	req.ApplyOptions(opts...)
2700	return out, req.Send()
2701}
2702
2703const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
2704
2705// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
2706// client's request for the CancelSpotFleetRequests operation. The "output" return
2707// value will be populated with the request's response once the request completes
2708// successfully.
2709//
2710// Use "Send" method on the returned Request to send the API call to the service.
2711// the "output" return value is not valid until after Send returns without error.
2712//
2713// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
2714// API call, and error handling.
2715//
2716// This method is useful when you want to inject custom logic or configuration
2717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2718//
2719//
2720//    // Example sending a request using the CancelSpotFleetRequestsRequest method.
2721//    req, resp := client.CancelSpotFleetRequestsRequest(params)
2722//
2723//    err := req.Send()
2724//    if err == nil { // resp is now filled
2725//        fmt.Println(resp)
2726//    }
2727//
2728// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
2729func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
2730	op := &request.Operation{
2731		Name:       opCancelSpotFleetRequests,
2732		HTTPMethod: "POST",
2733		HTTPPath:   "/",
2734	}
2735
2736	if input == nil {
2737		input = &CancelSpotFleetRequestsInput{}
2738	}
2739
2740	output = &CancelSpotFleetRequestsOutput{}
2741	req = c.newRequest(op, input, output)
2742	return
2743}
2744
2745// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
2746//
2747// Cancels the specified Spot Fleet requests.
2748//
2749// After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
2750// Instances. You must specify whether the Spot Fleet should also terminate
2751// its Spot Instances. If you terminate the instances, the Spot Fleet request
2752// enters the cancelled_terminating state. Otherwise, the Spot Fleet request
2753// enters the cancelled_running state and the instances continue to run until
2754// they are interrupted or you terminate them manually.
2755//
2756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2757// with awserr.Error's Code and Message methods to get detailed information about
2758// the error.
2759//
2760// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2761// API operation CancelSpotFleetRequests for usage and error information.
2762// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
2763func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
2764	req, out := c.CancelSpotFleetRequestsRequest(input)
2765	return out, req.Send()
2766}
2767
2768// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
2769// the ability to pass a context and additional request options.
2770//
2771// See CancelSpotFleetRequests for details on how to use this API operation.
2772//
2773// The context must be non-nil and will be used for request cancellation. If
2774// the context is nil a panic will occur. In the future the SDK may create
2775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2776// for more information on using Contexts.
2777func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
2778	req, out := c.CancelSpotFleetRequestsRequest(input)
2779	req.SetContext(ctx)
2780	req.ApplyOptions(opts...)
2781	return out, req.Send()
2782}
2783
2784const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
2785
2786// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
2787// client's request for the CancelSpotInstanceRequests operation. The "output" return
2788// value will be populated with the request's response once the request completes
2789// successfully.
2790//
2791// Use "Send" method on the returned Request to send the API call to the service.
2792// the "output" return value is not valid until after Send returns without error.
2793//
2794// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
2795// API call, and error handling.
2796//
2797// This method is useful when you want to inject custom logic or configuration
2798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2799//
2800//
2801//    // Example sending a request using the CancelSpotInstanceRequestsRequest method.
2802//    req, resp := client.CancelSpotInstanceRequestsRequest(params)
2803//
2804//    err := req.Send()
2805//    if err == nil { // resp is now filled
2806//        fmt.Println(resp)
2807//    }
2808//
2809// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
2810func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
2811	op := &request.Operation{
2812		Name:       opCancelSpotInstanceRequests,
2813		HTTPMethod: "POST",
2814		HTTPPath:   "/",
2815	}
2816
2817	if input == nil {
2818		input = &CancelSpotInstanceRequestsInput{}
2819	}
2820
2821	output = &CancelSpotInstanceRequestsOutput{}
2822	req = c.newRequest(op, input, output)
2823	return
2824}
2825
2826// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
2827//
2828// Cancels one or more Spot Instance requests.
2829//
2830// Canceling a Spot Instance request does not terminate running Spot Instances
2831// associated with the request.
2832//
2833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2834// with awserr.Error's Code and Message methods to get detailed information about
2835// the error.
2836//
2837// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2838// API operation CancelSpotInstanceRequests for usage and error information.
2839// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
2840func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
2841	req, out := c.CancelSpotInstanceRequestsRequest(input)
2842	return out, req.Send()
2843}
2844
2845// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
2846// the ability to pass a context and additional request options.
2847//
2848// See CancelSpotInstanceRequests for details on how to use this API operation.
2849//
2850// The context must be non-nil and will be used for request cancellation. If
2851// the context is nil a panic will occur. In the future the SDK may create
2852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2853// for more information on using Contexts.
2854func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
2855	req, out := c.CancelSpotInstanceRequestsRequest(input)
2856	req.SetContext(ctx)
2857	req.ApplyOptions(opts...)
2858	return out, req.Send()
2859}
2860
2861const opConfirmProductInstance = "ConfirmProductInstance"
2862
2863// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
2864// client's request for the ConfirmProductInstance operation. The "output" return
2865// value will be populated with the request's response once the request completes
2866// successfully.
2867//
2868// Use "Send" method on the returned Request to send the API call to the service.
2869// the "output" return value is not valid until after Send returns without error.
2870//
2871// See ConfirmProductInstance for more information on using the ConfirmProductInstance
2872// API call, and error handling.
2873//
2874// This method is useful when you want to inject custom logic or configuration
2875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2876//
2877//
2878//    // Example sending a request using the ConfirmProductInstanceRequest method.
2879//    req, resp := client.ConfirmProductInstanceRequest(params)
2880//
2881//    err := req.Send()
2882//    if err == nil { // resp is now filled
2883//        fmt.Println(resp)
2884//    }
2885//
2886// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
2887func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
2888	op := &request.Operation{
2889		Name:       opConfirmProductInstance,
2890		HTTPMethod: "POST",
2891		HTTPPath:   "/",
2892	}
2893
2894	if input == nil {
2895		input = &ConfirmProductInstanceInput{}
2896	}
2897
2898	output = &ConfirmProductInstanceOutput{}
2899	req = c.newRequest(op, input, output)
2900	return
2901}
2902
2903// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
2904//
2905// Determines whether a product code is associated with an instance. This action
2906// can only be used by the owner of the product code. It is useful when a product
2907// code owner must verify whether another user's instance is eligible for support.
2908//
2909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2910// with awserr.Error's Code and Message methods to get detailed information about
2911// the error.
2912//
2913// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2914// API operation ConfirmProductInstance for usage and error information.
2915// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
2916func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
2917	req, out := c.ConfirmProductInstanceRequest(input)
2918	return out, req.Send()
2919}
2920
2921// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
2922// the ability to pass a context and additional request options.
2923//
2924// See ConfirmProductInstance for details on how to use this API operation.
2925//
2926// The context must be non-nil and will be used for request cancellation. If
2927// the context is nil a panic will occur. In the future the SDK may create
2928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2929// for more information on using Contexts.
2930func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
2931	req, out := c.ConfirmProductInstanceRequest(input)
2932	req.SetContext(ctx)
2933	req.ApplyOptions(opts...)
2934	return out, req.Send()
2935}
2936
2937const opCopyFpgaImage = "CopyFpgaImage"
2938
2939// CopyFpgaImageRequest generates a "aws/request.Request" representing the
2940// client's request for the CopyFpgaImage operation. The "output" return
2941// value will be populated with the request's response once the request completes
2942// successfully.
2943//
2944// Use "Send" method on the returned Request to send the API call to the service.
2945// the "output" return value is not valid until after Send returns without error.
2946//
2947// See CopyFpgaImage for more information on using the CopyFpgaImage
2948// API call, and error handling.
2949//
2950// This method is useful when you want to inject custom logic or configuration
2951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2952//
2953//
2954//    // Example sending a request using the CopyFpgaImageRequest method.
2955//    req, resp := client.CopyFpgaImageRequest(params)
2956//
2957//    err := req.Send()
2958//    if err == nil { // resp is now filled
2959//        fmt.Println(resp)
2960//    }
2961//
2962// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
2963func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
2964	op := &request.Operation{
2965		Name:       opCopyFpgaImage,
2966		HTTPMethod: "POST",
2967		HTTPPath:   "/",
2968	}
2969
2970	if input == nil {
2971		input = &CopyFpgaImageInput{}
2972	}
2973
2974	output = &CopyFpgaImageOutput{}
2975	req = c.newRequest(op, input, output)
2976	return
2977}
2978
2979// CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
2980//
2981// Copies the specified Amazon FPGA Image (AFI) to the current Region.
2982//
2983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2984// with awserr.Error's Code and Message methods to get detailed information about
2985// the error.
2986//
2987// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2988// API operation CopyFpgaImage for usage and error information.
2989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
2990func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
2991	req, out := c.CopyFpgaImageRequest(input)
2992	return out, req.Send()
2993}
2994
2995// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
2996// the ability to pass a context and additional request options.
2997//
2998// See CopyFpgaImage for details on how to use this API operation.
2999//
3000// The context must be non-nil and will be used for request cancellation. If
3001// the context is nil a panic will occur. In the future the SDK may create
3002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3003// for more information on using Contexts.
3004func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
3005	req, out := c.CopyFpgaImageRequest(input)
3006	req.SetContext(ctx)
3007	req.ApplyOptions(opts...)
3008	return out, req.Send()
3009}
3010
3011const opCopyImage = "CopyImage"
3012
3013// CopyImageRequest generates a "aws/request.Request" representing the
3014// client's request for the CopyImage operation. The "output" return
3015// value will be populated with the request's response once the request completes
3016// successfully.
3017//
3018// Use "Send" method on the returned Request to send the API call to the service.
3019// the "output" return value is not valid until after Send returns without error.
3020//
3021// See CopyImage for more information on using the CopyImage
3022// API call, and error handling.
3023//
3024// This method is useful when you want to inject custom logic or configuration
3025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3026//
3027//
3028//    // Example sending a request using the CopyImageRequest method.
3029//    req, resp := client.CopyImageRequest(params)
3030//
3031//    err := req.Send()
3032//    if err == nil { // resp is now filled
3033//        fmt.Println(resp)
3034//    }
3035//
3036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3037func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
3038	op := &request.Operation{
3039		Name:       opCopyImage,
3040		HTTPMethod: "POST",
3041		HTTPPath:   "/",
3042	}
3043
3044	if input == nil {
3045		input = &CopyImageInput{}
3046	}
3047
3048	output = &CopyImageOutput{}
3049	req = c.newRequest(op, input, output)
3050	return
3051}
3052
3053// CopyImage API operation for Amazon Elastic Compute Cloud.
3054//
3055// Initiates the copy of an AMI from the specified source Region to the current
3056// Region. You specify the destination Region by using its endpoint when making
3057// the request.
3058//
3059// Copies of encrypted backing snapshots for the AMI are encrypted. Copies of
3060// unencrypted backing snapshots remain unencrypted, unless you set Encrypted
3061// during the copy operation. You cannot create an unencrypted copy of an encrypted
3062// backing snapshot.
3063//
3064// For more information about the prerequisites and limits when copying an AMI,
3065// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
3066// in the Amazon Elastic Compute Cloud User Guide.
3067//
3068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3069// with awserr.Error's Code and Message methods to get detailed information about
3070// the error.
3071//
3072// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3073// API operation CopyImage for usage and error information.
3074// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3075func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
3076	req, out := c.CopyImageRequest(input)
3077	return out, req.Send()
3078}
3079
3080// CopyImageWithContext is the same as CopyImage with the addition of
3081// the ability to pass a context and additional request options.
3082//
3083// See CopyImage for details on how to use this API operation.
3084//
3085// The context must be non-nil and will be used for request cancellation. If
3086// the context is nil a panic will occur. In the future the SDK may create
3087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3088// for more information on using Contexts.
3089func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
3090	req, out := c.CopyImageRequest(input)
3091	req.SetContext(ctx)
3092	req.ApplyOptions(opts...)
3093	return out, req.Send()
3094}
3095
3096const opCopySnapshot = "CopySnapshot"
3097
3098// CopySnapshotRequest generates a "aws/request.Request" representing the
3099// client's request for the CopySnapshot operation. The "output" return
3100// value will be populated with the request's response once the request completes
3101// successfully.
3102//
3103// Use "Send" method on the returned Request to send the API call to the service.
3104// the "output" return value is not valid until after Send returns without error.
3105//
3106// See CopySnapshot for more information on using the CopySnapshot
3107// API call, and error handling.
3108//
3109// This method is useful when you want to inject custom logic or configuration
3110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3111//
3112//
3113//    // Example sending a request using the CopySnapshotRequest method.
3114//    req, resp := client.CopySnapshotRequest(params)
3115//
3116//    err := req.Send()
3117//    if err == nil { // resp is now filled
3118//        fmt.Println(resp)
3119//    }
3120//
3121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3122func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
3123	op := &request.Operation{
3124		Name:       opCopySnapshot,
3125		HTTPMethod: "POST",
3126		HTTPPath:   "/",
3127	}
3128
3129	if input == nil {
3130		input = &CopySnapshotInput{}
3131	}
3132
3133	output = &CopySnapshotOutput{}
3134	req = c.newRequest(op, input, output)
3135	return
3136}
3137
3138// CopySnapshot API operation for Amazon Elastic Compute Cloud.
3139//
3140// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
3141// S3. You can copy the snapshot within the same Region or from one Region to
3142// another. You can use the snapshot to create EBS volumes or Amazon Machine
3143// Images (AMIs). The snapshot is copied to the regional endpoint that you send
3144// the HTTP request to.
3145//
3146// Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
3147// snapshots remain unencrypted, unless the Encrypted flag is specified during
3148// the snapshot copy operation. By default, encrypted snapshot copies use the
3149// default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
3150// you can specify a non-default CMK with the KmsKeyId parameter.
3151//
3152// To copy an encrypted snapshot that has been shared from another account,
3153// you must have permissions for the CMK used to encrypt the snapshot.
3154//
3155// Snapshots created by copying another snapshot have an arbitrary volume ID
3156// that should not be used for any purpose.
3157//
3158// For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
3159// in the Amazon Elastic Compute Cloud User Guide.
3160//
3161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3162// with awserr.Error's Code and Message methods to get detailed information about
3163// the error.
3164//
3165// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3166// API operation CopySnapshot for usage and error information.
3167// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3168func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
3169	req, out := c.CopySnapshotRequest(input)
3170	return out, req.Send()
3171}
3172
3173// CopySnapshotWithContext is the same as CopySnapshot with the addition of
3174// the ability to pass a context and additional request options.
3175//
3176// See CopySnapshot for details on how to use this API operation.
3177//
3178// The context must be non-nil and will be used for request cancellation. If
3179// the context is nil a panic will occur. In the future the SDK may create
3180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3181// for more information on using Contexts.
3182func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
3183	req, out := c.CopySnapshotRequest(input)
3184	req.SetContext(ctx)
3185	req.ApplyOptions(opts...)
3186	return out, req.Send()
3187}
3188
3189const opCreateCapacityReservation = "CreateCapacityReservation"
3190
3191// CreateCapacityReservationRequest generates a "aws/request.Request" representing the
3192// client's request for the CreateCapacityReservation operation. The "output" return
3193// value will be populated with the request's response once the request completes
3194// successfully.
3195//
3196// Use "Send" method on the returned Request to send the API call to the service.
3197// the "output" return value is not valid until after Send returns without error.
3198//
3199// See CreateCapacityReservation for more information on using the CreateCapacityReservation
3200// API call, and error handling.
3201//
3202// This method is useful when you want to inject custom logic or configuration
3203// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3204//
3205//
3206//    // Example sending a request using the CreateCapacityReservationRequest method.
3207//    req, resp := client.CreateCapacityReservationRequest(params)
3208//
3209//    err := req.Send()
3210//    if err == nil { // resp is now filled
3211//        fmt.Println(resp)
3212//    }
3213//
3214// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3215func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
3216	op := &request.Operation{
3217		Name:       opCreateCapacityReservation,
3218		HTTPMethod: "POST",
3219		HTTPPath:   "/",
3220	}
3221
3222	if input == nil {
3223		input = &CreateCapacityReservationInput{}
3224	}
3225
3226	output = &CreateCapacityReservationOutput{}
3227	req = c.newRequest(op, input, output)
3228	return
3229}
3230
3231// CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
3232//
3233// Creates a new Capacity Reservation with the specified attributes.
3234//
3235// Capacity Reservations enable you to reserve capacity for your Amazon EC2
3236// instances in a specific Availability Zone for any duration. This gives you
3237// the flexibility to selectively add capacity reservations and still get the
3238// Regional RI discounts for that usage. By creating Capacity Reservations,
3239// you ensure that you always have access to Amazon EC2 capacity when you need
3240// it, for as long as you need it. For more information, see Capacity Reservations
3241// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
3242// in the Amazon Elastic Compute Cloud User Guide.
3243//
3244// Your request to create a Capacity Reservation could fail if Amazon EC2 does
3245// not have sufficient capacity to fulfill the request. If your request fails
3246// due to Amazon EC2 capacity constraints, either try again at a later time,
3247// try in a different Availability Zone, or request a smaller capacity reservation.
3248// If your application is flexible across instance types and sizes, try to create
3249// a Capacity Reservation with different instance attributes.
3250//
3251// Your request could also fail if the requested quantity exceeds your On-Demand
3252// Instance limit for the selected instance type. If your request fails due
3253// to limit constraints, increase your On-Demand Instance limit for the required
3254// instance type and try again. For more information about increasing your instance
3255// limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
3256// in the Amazon Elastic Compute Cloud User Guide.
3257//
3258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3259// with awserr.Error's Code and Message methods to get detailed information about
3260// the error.
3261//
3262// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3263// API operation CreateCapacityReservation for usage and error information.
3264// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3265func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
3266	req, out := c.CreateCapacityReservationRequest(input)
3267	return out, req.Send()
3268}
3269
3270// CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
3271// the ability to pass a context and additional request options.
3272//
3273// See CreateCapacityReservation for details on how to use this API operation.
3274//
3275// The context must be non-nil and will be used for request cancellation. If
3276// the context is nil a panic will occur. In the future the SDK may create
3277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3278// for more information on using Contexts.
3279func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
3280	req, out := c.CreateCapacityReservationRequest(input)
3281	req.SetContext(ctx)
3282	req.ApplyOptions(opts...)
3283	return out, req.Send()
3284}
3285
3286const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
3287
3288// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
3289// client's request for the CreateClientVpnEndpoint operation. The "output" return
3290// value will be populated with the request's response once the request completes
3291// successfully.
3292//
3293// Use "Send" method on the returned Request to send the API call to the service.
3294// the "output" return value is not valid until after Send returns without error.
3295//
3296// See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
3297// API call, and error handling.
3298//
3299// This method is useful when you want to inject custom logic or configuration
3300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3301//
3302//
3303//    // Example sending a request using the CreateClientVpnEndpointRequest method.
3304//    req, resp := client.CreateClientVpnEndpointRequest(params)
3305//
3306//    err := req.Send()
3307//    if err == nil { // resp is now filled
3308//        fmt.Println(resp)
3309//    }
3310//
3311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3312func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
3313	op := &request.Operation{
3314		Name:       opCreateClientVpnEndpoint,
3315		HTTPMethod: "POST",
3316		HTTPPath:   "/",
3317	}
3318
3319	if input == nil {
3320		input = &CreateClientVpnEndpointInput{}
3321	}
3322
3323	output = &CreateClientVpnEndpointOutput{}
3324	req = c.newRequest(op, input, output)
3325	return
3326}
3327
3328// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
3329//
3330// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
3331// create and configure to enable and manage client VPN sessions. It is the
3332// destination endpoint at which all client VPN sessions are terminated.
3333//
3334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3335// with awserr.Error's Code and Message methods to get detailed information about
3336// the error.
3337//
3338// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3339// API operation CreateClientVpnEndpoint for usage and error information.
3340// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3341func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
3342	req, out := c.CreateClientVpnEndpointRequest(input)
3343	return out, req.Send()
3344}
3345
3346// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
3347// the ability to pass a context and additional request options.
3348//
3349// See CreateClientVpnEndpoint for details on how to use this API operation.
3350//
3351// The context must be non-nil and will be used for request cancellation. If
3352// the context is nil a panic will occur. In the future the SDK may create
3353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3354// for more information on using Contexts.
3355func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
3356	req, out := c.CreateClientVpnEndpointRequest(input)
3357	req.SetContext(ctx)
3358	req.ApplyOptions(opts...)
3359	return out, req.Send()
3360}
3361
3362const opCreateClientVpnRoute = "CreateClientVpnRoute"
3363
3364// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
3365// client's request for the CreateClientVpnRoute operation. The "output" return
3366// value will be populated with the request's response once the request completes
3367// successfully.
3368//
3369// Use "Send" method on the returned Request to send the API call to the service.
3370// the "output" return value is not valid until after Send returns without error.
3371//
3372// See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
3373// API call, and error handling.
3374//
3375// This method is useful when you want to inject custom logic or configuration
3376// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3377//
3378//
3379//    // Example sending a request using the CreateClientVpnRouteRequest method.
3380//    req, resp := client.CreateClientVpnRouteRequest(params)
3381//
3382//    err := req.Send()
3383//    if err == nil { // resp is now filled
3384//        fmt.Println(resp)
3385//    }
3386//
3387// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3388func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
3389	op := &request.Operation{
3390		Name:       opCreateClientVpnRoute,
3391		HTTPMethod: "POST",
3392		HTTPPath:   "/",
3393	}
3394
3395	if input == nil {
3396		input = &CreateClientVpnRouteInput{}
3397	}
3398
3399	output = &CreateClientVpnRouteOutput{}
3400	req = c.newRequest(op, input, output)
3401	return
3402}
3403
3404// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
3405//
3406// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
3407// has a route table that describes the available destination network routes.
3408// Each route in the route table specifies the path for traffic to specific
3409// resources or networks.
3410//
3411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3412// with awserr.Error's Code and Message methods to get detailed information about
3413// the error.
3414//
3415// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3416// API operation CreateClientVpnRoute for usage and error information.
3417// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3418func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
3419	req, out := c.CreateClientVpnRouteRequest(input)
3420	return out, req.Send()
3421}
3422
3423// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
3424// the ability to pass a context and additional request options.
3425//
3426// See CreateClientVpnRoute for details on how to use this API operation.
3427//
3428// The context must be non-nil and will be used for request cancellation. If
3429// the context is nil a panic will occur. In the future the SDK may create
3430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3431// for more information on using Contexts.
3432func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
3433	req, out := c.CreateClientVpnRouteRequest(input)
3434	req.SetContext(ctx)
3435	req.ApplyOptions(opts...)
3436	return out, req.Send()
3437}
3438
3439const opCreateCustomerGateway = "CreateCustomerGateway"
3440
3441// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
3442// client's request for the CreateCustomerGateway operation. The "output" return
3443// value will be populated with the request's response once the request completes
3444// successfully.
3445//
3446// Use "Send" method on the returned Request to send the API call to the service.
3447// the "output" return value is not valid until after Send returns without error.
3448//
3449// See CreateCustomerGateway for more information on using the CreateCustomerGateway
3450// API call, and error handling.
3451//
3452// This method is useful when you want to inject custom logic or configuration
3453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3454//
3455//
3456//    // Example sending a request using the CreateCustomerGatewayRequest method.
3457//    req, resp := client.CreateCustomerGatewayRequest(params)
3458//
3459//    err := req.Send()
3460//    if err == nil { // resp is now filled
3461//        fmt.Println(resp)
3462//    }
3463//
3464// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3465func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
3466	op := &request.Operation{
3467		Name:       opCreateCustomerGateway,
3468		HTTPMethod: "POST",
3469		HTTPPath:   "/",
3470	}
3471
3472	if input == nil {
3473		input = &CreateCustomerGatewayInput{}
3474	}
3475
3476	output = &CreateCustomerGatewayOutput{}
3477	req = c.newRequest(op, input, output)
3478	return
3479}
3480
3481// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
3482//
3483// Provides information to AWS about your VPN customer gateway device. The customer
3484// gateway is the appliance at your end of the VPN connection. (The device on
3485// the AWS side of the VPN connection is the virtual private gateway.) You must
3486// provide the Internet-routable IP address of the customer gateway's external
3487// interface. The IP address must be static and may be behind a device performing
3488// network address translation (NAT).
3489//
3490// For devices that use Border Gateway Protocol (BGP), you can also provide
3491// the device's BGP Autonomous System Number (ASN). You can use an existing
3492// ASN assigned to your network. If you don't have an ASN already, you can use
3493// a private ASN (in the 64512 - 65534 range).
3494//
3495// Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
3496// the exception of 7224, which is reserved in the us-east-1 Region, and 9059,
3497// which is reserved in the eu-west-1 Region.
3498//
3499// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
3500// in the AWS Site-to-Site VPN User Guide.
3501//
3502// You cannot create more than one customer gateway with the same VPN type,
3503// IP address, and BGP ASN parameter values. If you run an identical request
3504// more than one time, the first request creates the customer gateway, and subsequent
3505// requests return information about the existing customer gateway. The subsequent
3506// requests do not create new customer gateway resources.
3507//
3508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3509// with awserr.Error's Code and Message methods to get detailed information about
3510// the error.
3511//
3512// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3513// API operation CreateCustomerGateway for usage and error information.
3514// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3515func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
3516	req, out := c.CreateCustomerGatewayRequest(input)
3517	return out, req.Send()
3518}
3519
3520// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
3521// the ability to pass a context and additional request options.
3522//
3523// See CreateCustomerGateway for details on how to use this API operation.
3524//
3525// The context must be non-nil and will be used for request cancellation. If
3526// the context is nil a panic will occur. In the future the SDK may create
3527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3528// for more information on using Contexts.
3529func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
3530	req, out := c.CreateCustomerGatewayRequest(input)
3531	req.SetContext(ctx)
3532	req.ApplyOptions(opts...)
3533	return out, req.Send()
3534}
3535
3536const opCreateDefaultSubnet = "CreateDefaultSubnet"
3537
3538// CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
3539// client's request for the CreateDefaultSubnet operation. The "output" return
3540// value will be populated with the request's response once the request completes
3541// successfully.
3542//
3543// Use "Send" method on the returned Request to send the API call to the service.
3544// the "output" return value is not valid until after Send returns without error.
3545//
3546// See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
3547// API call, and error handling.
3548//
3549// This method is useful when you want to inject custom logic or configuration
3550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3551//
3552//
3553//    // Example sending a request using the CreateDefaultSubnetRequest method.
3554//    req, resp := client.CreateDefaultSubnetRequest(params)
3555//
3556//    err := req.Send()
3557//    if err == nil { // resp is now filled
3558//        fmt.Println(resp)
3559//    }
3560//
3561// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
3562func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
3563	op := &request.Operation{
3564		Name:       opCreateDefaultSubnet,
3565		HTTPMethod: "POST",
3566		HTTPPath:   "/",
3567	}
3568
3569	if input == nil {
3570		input = &CreateDefaultSubnetInput{}
3571	}
3572
3573	output = &CreateDefaultSubnetOutput{}
3574	req = c.newRequest(op, input, output)
3575	return
3576}
3577
3578// CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
3579//
3580// Creates a default subnet with a size /20 IPv4 CIDR block in the specified
3581// Availability Zone in your default VPC. You can have only one default subnet
3582// per Availability Zone. For more information, see Creating a Default Subnet
3583// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html#create-default-subnet)
3584// in the Amazon Virtual Private Cloud User Guide.
3585//
3586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3587// with awserr.Error's Code and Message methods to get detailed information about
3588// the error.
3589//
3590// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3591// API operation CreateDefaultSubnet for usage and error information.
3592// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
3593func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
3594	req, out := c.CreateDefaultSubnetRequest(input)
3595	return out, req.Send()
3596}
3597
3598// CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
3599// the ability to pass a context and additional request options.
3600//
3601// See CreateDefaultSubnet for details on how to use this API operation.
3602//
3603// The context must be non-nil and will be used for request cancellation. If
3604// the context is nil a panic will occur. In the future the SDK may create
3605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3606// for more information on using Contexts.
3607func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
3608	req, out := c.CreateDefaultSubnetRequest(input)
3609	req.SetContext(ctx)
3610	req.ApplyOptions(opts...)
3611	return out, req.Send()
3612}
3613
3614const opCreateDefaultVpc = "CreateDefaultVpc"
3615
3616// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
3617// client's request for the CreateDefaultVpc operation. The "output" return
3618// value will be populated with the request's response once the request completes
3619// successfully.
3620//
3621// Use "Send" method on the returned Request to send the API call to the service.
3622// the "output" return value is not valid until after Send returns without error.
3623//
3624// See CreateDefaultVpc for more information on using the CreateDefaultVpc
3625// API call, and error handling.
3626//
3627// This method is useful when you want to inject custom logic or configuration
3628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3629//
3630//
3631//    // Example sending a request using the CreateDefaultVpcRequest method.
3632//    req, resp := client.CreateDefaultVpcRequest(params)
3633//
3634//    err := req.Send()
3635//    if err == nil { // resp is now filled
3636//        fmt.Println(resp)
3637//    }
3638//
3639// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
3640func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
3641	op := &request.Operation{
3642		Name:       opCreateDefaultVpc,
3643		HTTPMethod: "POST",
3644		HTTPPath:   "/",
3645	}
3646
3647	if input == nil {
3648		input = &CreateDefaultVpcInput{}
3649	}
3650
3651	output = &CreateDefaultVpcOutput{}
3652	req = c.newRequest(op, input, output)
3653	return
3654}
3655
3656// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
3657//
3658// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
3659// in each Availability Zone. For more information about the components of a
3660// default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
3661// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
3662// of the default VPC yourself.
3663//
3664// If you deleted your previous default VPC, you can create a default VPC. You
3665// cannot have more than one default VPC per Region.
3666//
3667// If your account supports EC2-Classic, you cannot use this action to create
3668// a default VPC in a Region that supports EC2-Classic. If you want a default
3669// VPC in a Region that supports EC2-Classic, see "I really want a default VPC
3670// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
3671//
3672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3673// with awserr.Error's Code and Message methods to get detailed information about
3674// the error.
3675//
3676// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3677// API operation CreateDefaultVpc for usage and error information.
3678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
3679func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
3680	req, out := c.CreateDefaultVpcRequest(input)
3681	return out, req.Send()
3682}
3683
3684// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
3685// the ability to pass a context and additional request options.
3686//
3687// See CreateDefaultVpc for details on how to use this API operation.
3688//
3689// The context must be non-nil and will be used for request cancellation. If
3690// the context is nil a panic will occur. In the future the SDK may create
3691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3692// for more information on using Contexts.
3693func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
3694	req, out := c.CreateDefaultVpcRequest(input)
3695	req.SetContext(ctx)
3696	req.ApplyOptions(opts...)
3697	return out, req.Send()
3698}
3699
3700const opCreateDhcpOptions = "CreateDhcpOptions"
3701
3702// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
3703// client's request for the CreateDhcpOptions operation. The "output" return
3704// value will be populated with the request's response once the request completes
3705// successfully.
3706//
3707// Use "Send" method on the returned Request to send the API call to the service.
3708// the "output" return value is not valid until after Send returns without error.
3709//
3710// See CreateDhcpOptions for more information on using the CreateDhcpOptions
3711// API call, and error handling.
3712//
3713// This method is useful when you want to inject custom logic or configuration
3714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3715//
3716//
3717//    // Example sending a request using the CreateDhcpOptionsRequest method.
3718//    req, resp := client.CreateDhcpOptionsRequest(params)
3719//
3720//    err := req.Send()
3721//    if err == nil { // resp is now filled
3722//        fmt.Println(resp)
3723//    }
3724//
3725// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
3726func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
3727	op := &request.Operation{
3728		Name:       opCreateDhcpOptions,
3729		HTTPMethod: "POST",
3730		HTTPPath:   "/",
3731	}
3732
3733	if input == nil {
3734		input = &CreateDhcpOptionsInput{}
3735	}
3736
3737	output = &CreateDhcpOptionsOutput{}
3738	req = c.newRequest(op, input, output)
3739	return
3740}
3741
3742// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
3743//
3744// Creates a set of DHCP options for your VPC. After creating the set, you must
3745// associate it with the VPC, causing all existing and new instances that you
3746// launch in the VPC to use this set of DHCP options. The following are the
3747// individual DHCP options you can specify. For more information about the options,
3748// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
3749//
3750//    * domain-name-servers - The IP addresses of up to four domain name servers,
3751//    or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
3752//    If specifying more than one domain name server, specify the IP addresses
3753//    in a single parameter, separated by commas. ITo have your instance to
3754//    receive a custom DNS hostname as specified in domain-name, you must set
3755//    domain-name-servers to a custom DNS server.
3756//
3757//    * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
3758//    ec2.internal. If you're using AmazonProvidedDNS in another Region, specify
3759//    region.compute.internal (for example, ap-northeast-1.compute.internal).
3760//    Otherwise, specify a domain name (for example, MyCompany.com). This value
3761//    is used to complete unqualified DNS hostnames. Important: Some Linux operating
3762//    systems accept multiple domain names separated by spaces. However, Windows
3763//    and other Linux operating systems treat the value as a single domain,
3764//    which results in unexpected behavior. If your DHCP options set is associated
3765//    with a VPC that has instances with multiple operating systems, specify
3766//    only one domain name.
3767//
3768//    * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
3769//    servers.
3770//
3771//    * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
3772//
3773//    * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
3774//    that you specify 2 (broadcast and multicast are not currently supported).
3775//    For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
3776//
3777// Your VPC automatically starts out with a set of DHCP options that includes
3778// only a DNS server that we provide (AmazonProvidedDNS). If you create a set
3779// of options, and if your VPC has an internet gateway, make sure to set the
3780// domain-name-servers option either to AmazonProvidedDNS or to a domain name
3781// server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
3782// in the Amazon Virtual Private Cloud User Guide.
3783//
3784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3785// with awserr.Error's Code and Message methods to get detailed information about
3786// the error.
3787//
3788// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3789// API operation CreateDhcpOptions for usage and error information.
3790// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
3791func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
3792	req, out := c.CreateDhcpOptionsRequest(input)
3793	return out, req.Send()
3794}
3795
3796// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
3797// the ability to pass a context and additional request options.
3798//
3799// See CreateDhcpOptions for details on how to use this API operation.
3800//
3801// The context must be non-nil and will be used for request cancellation. If
3802// the context is nil a panic will occur. In the future the SDK may create
3803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3804// for more information on using Contexts.
3805func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
3806	req, out := c.CreateDhcpOptionsRequest(input)
3807	req.SetContext(ctx)
3808	req.ApplyOptions(opts...)
3809	return out, req.Send()
3810}
3811
3812const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
3813
3814// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
3815// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
3816// value will be populated with the request's response once the request completes
3817// successfully.
3818//
3819// Use "Send" method on the returned Request to send the API call to the service.
3820// the "output" return value is not valid until after Send returns without error.
3821//
3822// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
3823// API call, and error handling.
3824//
3825// This method is useful when you want to inject custom logic or configuration
3826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3827//
3828//
3829//    // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
3830//    req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
3831//
3832//    err := req.Send()
3833//    if err == nil { // resp is now filled
3834//        fmt.Println(resp)
3835//    }
3836//
3837// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
3838func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
3839	op := &request.Operation{
3840		Name:       opCreateEgressOnlyInternetGateway,
3841		HTTPMethod: "POST",
3842		HTTPPath:   "/",
3843	}
3844
3845	if input == nil {
3846		input = &CreateEgressOnlyInternetGatewayInput{}
3847	}
3848
3849	output = &CreateEgressOnlyInternetGatewayOutput{}
3850	req = c.newRequest(op, input, output)
3851	return
3852}
3853
3854// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
3855//
3856// [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
3857// internet gateway is used to enable outbound communication over IPv6 from
3858// instances in your VPC to the internet, and prevents hosts outside of your
3859// VPC from initiating an IPv6 connection with your instance.
3860//
3861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3862// with awserr.Error's Code and Message methods to get detailed information about
3863// the error.
3864//
3865// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3866// API operation CreateEgressOnlyInternetGateway for usage and error information.
3867// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
3868func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
3869	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
3870	return out, req.Send()
3871}
3872
3873// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
3874// the ability to pass a context and additional request options.
3875//
3876// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
3877//
3878// The context must be non-nil and will be used for request cancellation. If
3879// the context is nil a panic will occur. In the future the SDK may create
3880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3881// for more information on using Contexts.
3882func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
3883	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
3884	req.SetContext(ctx)
3885	req.ApplyOptions(opts...)
3886	return out, req.Send()
3887}
3888
3889const opCreateFleet = "CreateFleet"
3890
3891// CreateFleetRequest generates a "aws/request.Request" representing the
3892// client's request for the CreateFleet operation. The "output" return
3893// value will be populated with the request's response once the request completes
3894// successfully.
3895//
3896// Use "Send" method on the returned Request to send the API call to the service.
3897// the "output" return value is not valid until after Send returns without error.
3898//
3899// See CreateFleet for more information on using the CreateFleet
3900// API call, and error handling.
3901//
3902// This method is useful when you want to inject custom logic or configuration
3903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3904//
3905//
3906//    // Example sending a request using the CreateFleetRequest method.
3907//    req, resp := client.CreateFleetRequest(params)
3908//
3909//    err := req.Send()
3910//    if err == nil { // resp is now filled
3911//        fmt.Println(resp)
3912//    }
3913//
3914// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
3915func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
3916	op := &request.Operation{
3917		Name:       opCreateFleet,
3918		HTTPMethod: "POST",
3919		HTTPPath:   "/",
3920	}
3921
3922	if input == nil {
3923		input = &CreateFleetInput{}
3924	}
3925
3926	output = &CreateFleetOutput{}
3927	req = c.newRequest(op, input, output)
3928	return
3929}
3930
3931// CreateFleet API operation for Amazon Elastic Compute Cloud.
3932//
3933// Launches an EC2 Fleet.
3934//
3935// You can create a single EC2 Fleet that includes multiple launch specifications
3936// that vary by instance type, AMI, Availability Zone, or subnet.
3937//
3938// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
3939// in the Amazon Elastic Compute Cloud User Guide.
3940//
3941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3942// with awserr.Error's Code and Message methods to get detailed information about
3943// the error.
3944//
3945// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3946// API operation CreateFleet for usage and error information.
3947// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
3948func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
3949	req, out := c.CreateFleetRequest(input)
3950	return out, req.Send()
3951}
3952
3953// CreateFleetWithContext is the same as CreateFleet with the addition of
3954// the ability to pass a context and additional request options.
3955//
3956// See CreateFleet for details on how to use this API operation.
3957//
3958// The context must be non-nil and will be used for request cancellation. If
3959// the context is nil a panic will occur. In the future the SDK may create
3960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3961// for more information on using Contexts.
3962func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
3963	req, out := c.CreateFleetRequest(input)
3964	req.SetContext(ctx)
3965	req.ApplyOptions(opts...)
3966	return out, req.Send()
3967}
3968
3969const opCreateFlowLogs = "CreateFlowLogs"
3970
3971// CreateFlowLogsRequest generates a "aws/request.Request" representing the
3972// client's request for the CreateFlowLogs operation. The "output" return
3973// value will be populated with the request's response once the request completes
3974// successfully.
3975//
3976// Use "Send" method on the returned Request to send the API call to the service.
3977// the "output" return value is not valid until after Send returns without error.
3978//
3979// See CreateFlowLogs for more information on using the CreateFlowLogs
3980// API call, and error handling.
3981//
3982// This method is useful when you want to inject custom logic or configuration
3983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3984//
3985//
3986//    // Example sending a request using the CreateFlowLogsRequest method.
3987//    req, resp := client.CreateFlowLogsRequest(params)
3988//
3989//    err := req.Send()
3990//    if err == nil { // resp is now filled
3991//        fmt.Println(resp)
3992//    }
3993//
3994// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
3995func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
3996	op := &request.Operation{
3997		Name:       opCreateFlowLogs,
3998		HTTPMethod: "POST",
3999		HTTPPath:   "/",
4000	}
4001
4002	if input == nil {
4003		input = &CreateFlowLogsInput{}
4004	}
4005
4006	output = &CreateFlowLogsOutput{}
4007	req = c.newRequest(op, input, output)
4008	return
4009}
4010
4011// CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
4012//
4013// Creates one or more flow logs to capture information about IP traffic for
4014// a specific network interface, subnet, or VPC.
4015//
4016// Flow log data for a monitored network interface is recorded as flow log records,
4017// which are log events consisting of fields that describe the traffic flow.
4018// For more information, see Flow Log Records (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html#flow-log-records)
4019// in the Amazon Virtual Private Cloud User Guide.
4020//
4021// When publishing to CloudWatch Logs, flow log records are published to a log
4022// group, and each network interface has a unique log stream in the log group.
4023// When publishing to Amazon S3, flow log records for all of the monitored network
4024// interfaces are published to a single log file object that is stored in the
4025// specified bucket.
4026//
4027// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html)
4028// in the Amazon Virtual Private Cloud User Guide.
4029//
4030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4031// with awserr.Error's Code and Message methods to get detailed information about
4032// the error.
4033//
4034// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4035// API operation CreateFlowLogs for usage and error information.
4036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4037func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
4038	req, out := c.CreateFlowLogsRequest(input)
4039	return out, req.Send()
4040}
4041
4042// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
4043// the ability to pass a context and additional request options.
4044//
4045// See CreateFlowLogs for details on how to use this API operation.
4046//
4047// The context must be non-nil and will be used for request cancellation. If
4048// the context is nil a panic will occur. In the future the SDK may create
4049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4050// for more information on using Contexts.
4051func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
4052	req, out := c.CreateFlowLogsRequest(input)
4053	req.SetContext(ctx)
4054	req.ApplyOptions(opts...)
4055	return out, req.Send()
4056}
4057
4058const opCreateFpgaImage = "CreateFpgaImage"
4059
4060// CreateFpgaImageRequest generates a "aws/request.Request" representing the
4061// client's request for the CreateFpgaImage operation. The "output" return
4062// value will be populated with the request's response once the request completes
4063// successfully.
4064//
4065// Use "Send" method on the returned Request to send the API call to the service.
4066// the "output" return value is not valid until after Send returns without error.
4067//
4068// See CreateFpgaImage for more information on using the CreateFpgaImage
4069// API call, and error handling.
4070//
4071// This method is useful when you want to inject custom logic or configuration
4072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4073//
4074//
4075//    // Example sending a request using the CreateFpgaImageRequest method.
4076//    req, resp := client.CreateFpgaImageRequest(params)
4077//
4078//    err := req.Send()
4079//    if err == nil { // resp is now filled
4080//        fmt.Println(resp)
4081//    }
4082//
4083// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4084func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
4085	op := &request.Operation{
4086		Name:       opCreateFpgaImage,
4087		HTTPMethod: "POST",
4088		HTTPPath:   "/",
4089	}
4090
4091	if input == nil {
4092		input = &CreateFpgaImageInput{}
4093	}
4094
4095	output = &CreateFpgaImageOutput{}
4096	req = c.newRequest(op, input, output)
4097	return
4098}
4099
4100// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
4101//
4102// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
4103//
4104// The create operation is asynchronous. To verify that the AFI is ready for
4105// use, check the output logs.
4106//
4107// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
4108// You can securely deploy an AFI on multiple FPGA-accelerated instances. For
4109// more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
4110//
4111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4112// with awserr.Error's Code and Message methods to get detailed information about
4113// the error.
4114//
4115// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4116// API operation CreateFpgaImage for usage and error information.
4117// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4118func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
4119	req, out := c.CreateFpgaImageRequest(input)
4120	return out, req.Send()
4121}
4122
4123// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
4124// the ability to pass a context and additional request options.
4125//
4126// See CreateFpgaImage for details on how to use this API operation.
4127//
4128// The context must be non-nil and will be used for request cancellation. If
4129// the context is nil a panic will occur. In the future the SDK may create
4130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4131// for more information on using Contexts.
4132func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
4133	req, out := c.CreateFpgaImageRequest(input)
4134	req.SetContext(ctx)
4135	req.ApplyOptions(opts...)
4136	return out, req.Send()
4137}
4138
4139const opCreateImage = "CreateImage"
4140
4141// CreateImageRequest generates a "aws/request.Request" representing the
4142// client's request for the CreateImage operation. The "output" return
4143// value will be populated with the request's response once the request completes
4144// successfully.
4145//
4146// Use "Send" method on the returned Request to send the API call to the service.
4147// the "output" return value is not valid until after Send returns without error.
4148//
4149// See CreateImage for more information on using the CreateImage
4150// API call, and error handling.
4151//
4152// This method is useful when you want to inject custom logic or configuration
4153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4154//
4155//
4156//    // Example sending a request using the CreateImageRequest method.
4157//    req, resp := client.CreateImageRequest(params)
4158//
4159//    err := req.Send()
4160//    if err == nil { // resp is now filled
4161//        fmt.Println(resp)
4162//    }
4163//
4164// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4165func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
4166	op := &request.Operation{
4167		Name:       opCreateImage,
4168		HTTPMethod: "POST",
4169		HTTPPath:   "/",
4170	}
4171
4172	if input == nil {
4173		input = &CreateImageInput{}
4174	}
4175
4176	output = &CreateImageOutput{}
4177	req = c.newRequest(op, input, output)
4178	return
4179}
4180
4181// CreateImage API operation for Amazon Elastic Compute Cloud.
4182//
4183// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
4184// is either running or stopped.
4185//
4186// If you customized your instance with instance store volumes or EBS volumes
4187// in addition to the root device volume, the new AMI contains block device
4188// mapping information for those volumes. When you launch an instance from this
4189// new AMI, the instance automatically launches with those additional volumes.
4190//
4191// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
4192// in the Amazon Elastic Compute Cloud User Guide.
4193//
4194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4195// with awserr.Error's Code and Message methods to get detailed information about
4196// the error.
4197//
4198// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4199// API operation CreateImage for usage and error information.
4200// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4201func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
4202	req, out := c.CreateImageRequest(input)
4203	return out, req.Send()
4204}
4205
4206// CreateImageWithContext is the same as CreateImage with the addition of
4207// the ability to pass a context and additional request options.
4208//
4209// See CreateImage for details on how to use this API operation.
4210//
4211// The context must be non-nil and will be used for request cancellation. If
4212// the context is nil a panic will occur. In the future the SDK may create
4213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4214// for more information on using Contexts.
4215func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
4216	req, out := c.CreateImageRequest(input)
4217	req.SetContext(ctx)
4218	req.ApplyOptions(opts...)
4219	return out, req.Send()
4220}
4221
4222const opCreateInstanceExportTask = "CreateInstanceExportTask"
4223
4224// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
4225// client's request for the CreateInstanceExportTask operation. The "output" return
4226// value will be populated with the request's response once the request completes
4227// successfully.
4228//
4229// Use "Send" method on the returned Request to send the API call to the service.
4230// the "output" return value is not valid until after Send returns without error.
4231//
4232// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
4233// API call, and error handling.
4234//
4235// This method is useful when you want to inject custom logic or configuration
4236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4237//
4238//
4239//    // Example sending a request using the CreateInstanceExportTaskRequest method.
4240//    req, resp := client.CreateInstanceExportTaskRequest(params)
4241//
4242//    err := req.Send()
4243//    if err == nil { // resp is now filled
4244//        fmt.Println(resp)
4245//    }
4246//
4247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4248func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
4249	op := &request.Operation{
4250		Name:       opCreateInstanceExportTask,
4251		HTTPMethod: "POST",
4252		HTTPPath:   "/",
4253	}
4254
4255	if input == nil {
4256		input = &CreateInstanceExportTaskInput{}
4257	}
4258
4259	output = &CreateInstanceExportTaskOutput{}
4260	req = c.newRequest(op, input, output)
4261	return
4262}
4263
4264// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
4265//
4266// Exports a running or stopped instance to an S3 bucket.
4267//
4268// For information about the supported operating systems, image formats, and
4269// known limitations for the types of instances you can export, see Exporting
4270// an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
4271// in the VM Import/Export User Guide.
4272//
4273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4274// with awserr.Error's Code and Message methods to get detailed information about
4275// the error.
4276//
4277// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4278// API operation CreateInstanceExportTask for usage and error information.
4279// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4280func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
4281	req, out := c.CreateInstanceExportTaskRequest(input)
4282	return out, req.Send()
4283}
4284
4285// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
4286// the ability to pass a context and additional request options.
4287//
4288// See CreateInstanceExportTask for details on how to use this API operation.
4289//
4290// The context must be non-nil and will be used for request cancellation. If
4291// the context is nil a panic will occur. In the future the SDK may create
4292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4293// for more information on using Contexts.
4294func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
4295	req, out := c.CreateInstanceExportTaskRequest(input)
4296	req.SetContext(ctx)
4297	req.ApplyOptions(opts...)
4298	return out, req.Send()
4299}
4300
4301const opCreateInternetGateway = "CreateInternetGateway"
4302
4303// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
4304// client's request for the CreateInternetGateway operation. The "output" return
4305// value will be populated with the request's response once the request completes
4306// successfully.
4307//
4308// Use "Send" method on the returned Request to send the API call to the service.
4309// the "output" return value is not valid until after Send returns without error.
4310//
4311// See CreateInternetGateway for more information on using the CreateInternetGateway
4312// API call, and error handling.
4313//
4314// This method is useful when you want to inject custom logic or configuration
4315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4316//
4317//
4318//    // Example sending a request using the CreateInternetGatewayRequest method.
4319//    req, resp := client.CreateInternetGatewayRequest(params)
4320//
4321//    err := req.Send()
4322//    if err == nil { // resp is now filled
4323//        fmt.Println(resp)
4324//    }
4325//
4326// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4327func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
4328	op := &request.Operation{
4329		Name:       opCreateInternetGateway,
4330		HTTPMethod: "POST",
4331		HTTPPath:   "/",
4332	}
4333
4334	if input == nil {
4335		input = &CreateInternetGatewayInput{}
4336	}
4337
4338	output = &CreateInternetGatewayOutput{}
4339	req = c.newRequest(op, input, output)
4340	return
4341}
4342
4343// CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
4344//
4345// Creates an internet gateway for use with a VPC. After creating the internet
4346// gateway, you attach it to a VPC using AttachInternetGateway.
4347//
4348// For more information about your VPC and internet gateway, see the Amazon
4349// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
4350//
4351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4352// with awserr.Error's Code and Message methods to get detailed information about
4353// the error.
4354//
4355// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4356// API operation CreateInternetGateway for usage and error information.
4357// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4358func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
4359	req, out := c.CreateInternetGatewayRequest(input)
4360	return out, req.Send()
4361}
4362
4363// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
4364// the ability to pass a context and additional request options.
4365//
4366// See CreateInternetGateway for details on how to use this API operation.
4367//
4368// The context must be non-nil and will be used for request cancellation. If
4369// the context is nil a panic will occur. In the future the SDK may create
4370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4371// for more information on using Contexts.
4372func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
4373	req, out := c.CreateInternetGatewayRequest(input)
4374	req.SetContext(ctx)
4375	req.ApplyOptions(opts...)
4376	return out, req.Send()
4377}
4378
4379const opCreateKeyPair = "CreateKeyPair"
4380
4381// CreateKeyPairRequest generates a "aws/request.Request" representing the
4382// client's request for the CreateKeyPair operation. The "output" return
4383// value will be populated with the request's response once the request completes
4384// successfully.
4385//
4386// Use "Send" method on the returned Request to send the API call to the service.
4387// the "output" return value is not valid until after Send returns without error.
4388//
4389// See CreateKeyPair for more information on using the CreateKeyPair
4390// API call, and error handling.
4391//
4392// This method is useful when you want to inject custom logic or configuration
4393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4394//
4395//
4396//    // Example sending a request using the CreateKeyPairRequest method.
4397//    req, resp := client.CreateKeyPairRequest(params)
4398//
4399//    err := req.Send()
4400//    if err == nil { // resp is now filled
4401//        fmt.Println(resp)
4402//    }
4403//
4404// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4405func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
4406	op := &request.Operation{
4407		Name:       opCreateKeyPair,
4408		HTTPMethod: "POST",
4409		HTTPPath:   "/",
4410	}
4411
4412	if input == nil {
4413		input = &CreateKeyPairInput{}
4414	}
4415
4416	output = &CreateKeyPairOutput{}
4417	req = c.newRequest(op, input, output)
4418	return
4419}
4420
4421// CreateKeyPair API operation for Amazon Elastic Compute Cloud.
4422//
4423// Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
4424// the public key and displays the private key for you to save to a file. The
4425// private key is returned as an unencrypted PEM encoded PKCS#1 private key.
4426// If a key with the specified name already exists, Amazon EC2 returns an error.
4427//
4428// You can have up to five thousand key pairs per Region.
4429//
4430// The key pair returned to you is available only in the Region in which you
4431// create it. If you prefer, you can create your own key pair using a third-party
4432// tool and upload it to any Region using ImportKeyPair.
4433//
4434// For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
4435// in the Amazon Elastic Compute Cloud User Guide.
4436//
4437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4438// with awserr.Error's Code and Message methods to get detailed information about
4439// the error.
4440//
4441// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4442// API operation CreateKeyPair for usage and error information.
4443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4444func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
4445	req, out := c.CreateKeyPairRequest(input)
4446	return out, req.Send()
4447}
4448
4449// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
4450// the ability to pass a context and additional request options.
4451//
4452// See CreateKeyPair for details on how to use this API operation.
4453//
4454// The context must be non-nil and will be used for request cancellation. If
4455// the context is nil a panic will occur. In the future the SDK may create
4456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4457// for more information on using Contexts.
4458func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
4459	req, out := c.CreateKeyPairRequest(input)
4460	req.SetContext(ctx)
4461	req.ApplyOptions(opts...)
4462	return out, req.Send()
4463}
4464
4465const opCreateLaunchTemplate = "CreateLaunchTemplate"
4466
4467// CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
4468// client's request for the CreateLaunchTemplate operation. The "output" return
4469// value will be populated with the request's response once the request completes
4470// successfully.
4471//
4472// Use "Send" method on the returned Request to send the API call to the service.
4473// the "output" return value is not valid until after Send returns without error.
4474//
4475// See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
4476// API call, and error handling.
4477//
4478// This method is useful when you want to inject custom logic or configuration
4479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4480//
4481//
4482//    // Example sending a request using the CreateLaunchTemplateRequest method.
4483//    req, resp := client.CreateLaunchTemplateRequest(params)
4484//
4485//    err := req.Send()
4486//    if err == nil { // resp is now filled
4487//        fmt.Println(resp)
4488//    }
4489//
4490// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4491func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
4492	op := &request.Operation{
4493		Name:       opCreateLaunchTemplate,
4494		HTTPMethod: "POST",
4495		HTTPPath:   "/",
4496	}
4497
4498	if input == nil {
4499		input = &CreateLaunchTemplateInput{}
4500	}
4501
4502	output = &CreateLaunchTemplateOutput{}
4503	req = c.newRequest(op, input, output)
4504	return
4505}
4506
4507// CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
4508//
4509// Creates a launch template. A launch template contains the parameters to launch
4510// an instance. When you launch an instance using RunInstances, you can specify
4511// a launch template instead of providing the launch parameters in the request.
4512//
4513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4514// with awserr.Error's Code and Message methods to get detailed information about
4515// the error.
4516//
4517// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4518// API operation CreateLaunchTemplate for usage and error information.
4519// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4520func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
4521	req, out := c.CreateLaunchTemplateRequest(input)
4522	return out, req.Send()
4523}
4524
4525// CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
4526// the ability to pass a context and additional request options.
4527//
4528// See CreateLaunchTemplate for details on how to use this API operation.
4529//
4530// The context must be non-nil and will be used for request cancellation. If
4531// the context is nil a panic will occur. In the future the SDK may create
4532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4533// for more information on using Contexts.
4534func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
4535	req, out := c.CreateLaunchTemplateRequest(input)
4536	req.SetContext(ctx)
4537	req.ApplyOptions(opts...)
4538	return out, req.Send()
4539}
4540
4541const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
4542
4543// CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
4544// client's request for the CreateLaunchTemplateVersion operation. The "output" return
4545// value will be populated with the request's response once the request completes
4546// successfully.
4547//
4548// Use "Send" method on the returned Request to send the API call to the service.
4549// the "output" return value is not valid until after Send returns without error.
4550//
4551// See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
4552// API call, and error handling.
4553//
4554// This method is useful when you want to inject custom logic or configuration
4555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4556//
4557//
4558//    // Example sending a request using the CreateLaunchTemplateVersionRequest method.
4559//    req, resp := client.CreateLaunchTemplateVersionRequest(params)
4560//
4561//    err := req.Send()
4562//    if err == nil { // resp is now filled
4563//        fmt.Println(resp)
4564//    }
4565//
4566// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
4567func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
4568	op := &request.Operation{
4569		Name:       opCreateLaunchTemplateVersion,
4570		HTTPMethod: "POST",
4571		HTTPPath:   "/",
4572	}
4573
4574	if input == nil {
4575		input = &CreateLaunchTemplateVersionInput{}
4576	}
4577
4578	output = &CreateLaunchTemplateVersionOutput{}
4579	req = c.newRequest(op, input, output)
4580	return
4581}
4582
4583// CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
4584//
4585// Creates a new version for a launch template. You can specify an existing
4586// version of launch template from which to base the new version.
4587//
4588// Launch template versions are numbered in the order in which they are created.
4589// You cannot specify, change, or replace the numbering of launch template versions.
4590//
4591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4592// with awserr.Error's Code and Message methods to get detailed information about
4593// the error.
4594//
4595// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4596// API operation CreateLaunchTemplateVersion for usage and error information.
4597// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
4598func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
4599	req, out := c.CreateLaunchTemplateVersionRequest(input)
4600	return out, req.Send()
4601}
4602
4603// CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
4604// the ability to pass a context and additional request options.
4605//
4606// See CreateLaunchTemplateVersion for details on how to use this API operation.
4607//
4608// The context must be non-nil and will be used for request cancellation. If
4609// the context is nil a panic will occur. In the future the SDK may create
4610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4611// for more information on using Contexts.
4612func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
4613	req, out := c.CreateLaunchTemplateVersionRequest(input)
4614	req.SetContext(ctx)
4615	req.ApplyOptions(opts...)
4616	return out, req.Send()
4617}
4618
4619const opCreateNatGateway = "CreateNatGateway"
4620
4621// CreateNatGatewayRequest generates a "aws/request.Request" representing the
4622// client's request for the CreateNatGateway operation. The "output" return
4623// value will be populated with the request's response once the request completes
4624// successfully.
4625//
4626// Use "Send" method on the returned Request to send the API call to the service.
4627// the "output" return value is not valid until after Send returns without error.
4628//
4629// See CreateNatGateway for more information on using the CreateNatGateway
4630// API call, and error handling.
4631//
4632// This method is useful when you want to inject custom logic or configuration
4633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4634//
4635//
4636//    // Example sending a request using the CreateNatGatewayRequest method.
4637//    req, resp := client.CreateNatGatewayRequest(params)
4638//
4639//    err := req.Send()
4640//    if err == nil { // resp is now filled
4641//        fmt.Println(resp)
4642//    }
4643//
4644// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
4645func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
4646	op := &request.Operation{
4647		Name:       opCreateNatGateway,
4648		HTTPMethod: "POST",
4649		HTTPPath:   "/",
4650	}
4651
4652	if input == nil {
4653		input = &CreateNatGatewayInput{}
4654	}
4655
4656	output = &CreateNatGatewayOutput{}
4657	req = c.newRequest(op, input, output)
4658	return
4659}
4660
4661// CreateNatGateway API operation for Amazon Elastic Compute Cloud.
4662//
4663// Creates a NAT gateway in the specified public subnet. This action creates
4664// a network interface in the specified subnet with a private IP address from
4665// the IP address range of the subnet. Internet-bound traffic from a private
4666// subnet can be routed to the NAT gateway, therefore enabling instances in
4667// the private subnet to connect to the internet. For more information, see
4668// NAT Gateways (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
4669// in the Amazon Virtual Private Cloud User Guide.
4670//
4671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4672// with awserr.Error's Code and Message methods to get detailed information about
4673// the error.
4674//
4675// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4676// API operation CreateNatGateway for usage and error information.
4677// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
4678func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
4679	req, out := c.CreateNatGatewayRequest(input)
4680	return out, req.Send()
4681}
4682
4683// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
4684// the ability to pass a context and additional request options.
4685//
4686// See CreateNatGateway for details on how to use this API operation.
4687//
4688// The context must be non-nil and will be used for request cancellation. If
4689// the context is nil a panic will occur. In the future the SDK may create
4690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4691// for more information on using Contexts.
4692func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
4693	req, out := c.CreateNatGatewayRequest(input)
4694	req.SetContext(ctx)
4695	req.ApplyOptions(opts...)
4696	return out, req.Send()
4697}
4698
4699const opCreateNetworkAcl = "CreateNetworkAcl"
4700
4701// CreateNetworkAclRequest generates a "aws/request.Request" representing the
4702// client's request for the CreateNetworkAcl operation. The "output" return
4703// value will be populated with the request's response once the request completes
4704// successfully.
4705//
4706// Use "Send" method on the returned Request to send the API call to the service.
4707// the "output" return value is not valid until after Send returns without error.
4708//
4709// See CreateNetworkAcl for more information on using the CreateNetworkAcl
4710// API call, and error handling.
4711//
4712// This method is useful when you want to inject custom logic or configuration
4713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4714//
4715//
4716//    // Example sending a request using the CreateNetworkAclRequest method.
4717//    req, resp := client.CreateNetworkAclRequest(params)
4718//
4719//    err := req.Send()
4720//    if err == nil { // resp is now filled
4721//        fmt.Println(resp)
4722//    }
4723//
4724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
4725func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
4726	op := &request.Operation{
4727		Name:       opCreateNetworkAcl,
4728		HTTPMethod: "POST",
4729		HTTPPath:   "/",
4730	}
4731
4732	if input == nil {
4733		input = &CreateNetworkAclInput{}
4734	}
4735
4736	output = &CreateNetworkAclOutput{}
4737	req = c.newRequest(op, input, output)
4738	return
4739}
4740
4741// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
4742//
4743// Creates a network ACL in a VPC. Network ACLs provide an optional layer of
4744// security (in addition to security groups) for the instances in your VPC.
4745//
4746// For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
4747// in the Amazon Virtual Private Cloud User Guide.
4748//
4749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4750// with awserr.Error's Code and Message methods to get detailed information about
4751// the error.
4752//
4753// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4754// API operation CreateNetworkAcl for usage and error information.
4755// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
4756func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
4757	req, out := c.CreateNetworkAclRequest(input)
4758	return out, req.Send()
4759}
4760
4761// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
4762// the ability to pass a context and additional request options.
4763//
4764// See CreateNetworkAcl for details on how to use this API operation.
4765//
4766// The context must be non-nil and will be used for request cancellation. If
4767// the context is nil a panic will occur. In the future the SDK may create
4768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4769// for more information on using Contexts.
4770func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
4771	req, out := c.CreateNetworkAclRequest(input)
4772	req.SetContext(ctx)
4773	req.ApplyOptions(opts...)
4774	return out, req.Send()
4775}
4776
4777const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
4778
4779// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
4780// client's request for the CreateNetworkAclEntry operation. The "output" return
4781// value will be populated with the request's response once the request completes
4782// successfully.
4783//
4784// Use "Send" method on the returned Request to send the API call to the service.
4785// the "output" return value is not valid until after Send returns without error.
4786//
4787// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
4788// API call, and error handling.
4789//
4790// This method is useful when you want to inject custom logic or configuration
4791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4792//
4793//
4794//    // Example sending a request using the CreateNetworkAclEntryRequest method.
4795//    req, resp := client.CreateNetworkAclEntryRequest(params)
4796//
4797//    err := req.Send()
4798//    if err == nil { // resp is now filled
4799//        fmt.Println(resp)
4800//    }
4801//
4802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
4803func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
4804	op := &request.Operation{
4805		Name:       opCreateNetworkAclEntry,
4806		HTTPMethod: "POST",
4807		HTTPPath:   "/",
4808	}
4809
4810	if input == nil {
4811		input = &CreateNetworkAclEntryInput{}
4812	}
4813
4814	output = &CreateNetworkAclEntryOutput{}
4815	req = c.newRequest(op, input, output)
4816	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4817	return
4818}
4819
4820// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
4821//
4822// Creates an entry (a rule) in a network ACL with the specified rule number.
4823// Each network ACL has a set of numbered ingress rules and a separate set of
4824// numbered egress rules. When determining whether a packet should be allowed
4825// in or out of a subnet associated with the ACL, we process the entries in
4826// the ACL according to the rule numbers, in ascending order. Each network ACL
4827// has a set of ingress rules and a separate set of egress rules.
4828//
4829// We recommend that you leave room between the rule numbers (for example, 100,
4830// 110, 120, ...), and not number them one right after the other (for example,
4831// 101, 102, 103, ...). This makes it easier to add a rule between existing
4832// ones without having to renumber the rules.
4833//
4834// After you add an entry, you can't modify it; you must either replace it,
4835// or create an entry and delete the old one.
4836//
4837// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
4838// in the Amazon Virtual Private Cloud User Guide.
4839//
4840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4841// with awserr.Error's Code and Message methods to get detailed information about
4842// the error.
4843//
4844// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4845// API operation CreateNetworkAclEntry for usage and error information.
4846// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
4847func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
4848	req, out := c.CreateNetworkAclEntryRequest(input)
4849	return out, req.Send()
4850}
4851
4852// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
4853// the ability to pass a context and additional request options.
4854//
4855// See CreateNetworkAclEntry for details on how to use this API operation.
4856//
4857// The context must be non-nil and will be used for request cancellation. If
4858// the context is nil a panic will occur. In the future the SDK may create
4859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4860// for more information on using Contexts.
4861func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
4862	req, out := c.CreateNetworkAclEntryRequest(input)
4863	req.SetContext(ctx)
4864	req.ApplyOptions(opts...)
4865	return out, req.Send()
4866}
4867
4868const opCreateNetworkInterface = "CreateNetworkInterface"
4869
4870// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
4871// client's request for the CreateNetworkInterface operation. The "output" return
4872// value will be populated with the request's response once the request completes
4873// successfully.
4874//
4875// Use "Send" method on the returned Request to send the API call to the service.
4876// the "output" return value is not valid until after Send returns without error.
4877//
4878// See CreateNetworkInterface for more information on using the CreateNetworkInterface
4879// API call, and error handling.
4880//
4881// This method is useful when you want to inject custom logic or configuration
4882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4883//
4884//
4885//    // Example sending a request using the CreateNetworkInterfaceRequest method.
4886//    req, resp := client.CreateNetworkInterfaceRequest(params)
4887//
4888//    err := req.Send()
4889//    if err == nil { // resp is now filled
4890//        fmt.Println(resp)
4891//    }
4892//
4893// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
4894func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
4895	op := &request.Operation{
4896		Name:       opCreateNetworkInterface,
4897		HTTPMethod: "POST",
4898		HTTPPath:   "/",
4899	}
4900
4901	if input == nil {
4902		input = &CreateNetworkInterfaceInput{}
4903	}
4904
4905	output = &CreateNetworkInterfaceOutput{}
4906	req = c.newRequest(op, input, output)
4907	return
4908}
4909
4910// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
4911//
4912// Creates a network interface in the specified subnet.
4913//
4914// For more information about network interfaces, see Elastic Network Interfaces
4915// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
4916// Amazon Virtual Private Cloud User Guide.
4917//
4918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4919// with awserr.Error's Code and Message methods to get detailed information about
4920// the error.
4921//
4922// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4923// API operation CreateNetworkInterface for usage and error information.
4924// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
4925func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
4926	req, out := c.CreateNetworkInterfaceRequest(input)
4927	return out, req.Send()
4928}
4929
4930// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
4931// the ability to pass a context and additional request options.
4932//
4933// See CreateNetworkInterface for details on how to use this API operation.
4934//
4935// The context must be non-nil and will be used for request cancellation. If
4936// the context is nil a panic will occur. In the future the SDK may create
4937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4938// for more information on using Contexts.
4939func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
4940	req, out := c.CreateNetworkInterfaceRequest(input)
4941	req.SetContext(ctx)
4942	req.ApplyOptions(opts...)
4943	return out, req.Send()
4944}
4945
4946const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
4947
4948// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
4949// client's request for the CreateNetworkInterfacePermission operation. The "output" return
4950// value will be populated with the request's response once the request completes
4951// successfully.
4952//
4953// Use "Send" method on the returned Request to send the API call to the service.
4954// the "output" return value is not valid until after Send returns without error.
4955//
4956// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
4957// API call, and error handling.
4958//
4959// This method is useful when you want to inject custom logic or configuration
4960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4961//
4962//
4963//    // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
4964//    req, resp := client.CreateNetworkInterfacePermissionRequest(params)
4965//
4966//    err := req.Send()
4967//    if err == nil { // resp is now filled
4968//        fmt.Println(resp)
4969//    }
4970//
4971// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
4972func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
4973	op := &request.Operation{
4974		Name:       opCreateNetworkInterfacePermission,
4975		HTTPMethod: "POST",
4976		HTTPPath:   "/",
4977	}
4978
4979	if input == nil {
4980		input = &CreateNetworkInterfacePermissionInput{}
4981	}
4982
4983	output = &CreateNetworkInterfacePermissionOutput{}
4984	req = c.newRequest(op, input, output)
4985	return
4986}
4987
4988// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
4989//
4990// Grants an AWS-authorized account permission to attach the specified network
4991// interface to an instance in their account.
4992//
4993// You can grant permission to a single AWS account only, and only one account
4994// at a time.
4995//
4996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4997// with awserr.Error's Code and Message methods to get detailed information about
4998// the error.
4999//
5000// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5001// API operation CreateNetworkInterfacePermission for usage and error information.
5002// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5003func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
5004	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5005	return out, req.Send()
5006}
5007
5008// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
5009// the ability to pass a context and additional request options.
5010//
5011// See CreateNetworkInterfacePermission for details on how to use this API operation.
5012//
5013// The context must be non-nil and will be used for request cancellation. If
5014// the context is nil a panic will occur. In the future the SDK may create
5015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5016// for more information on using Contexts.
5017func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
5018	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5019	req.SetContext(ctx)
5020	req.ApplyOptions(opts...)
5021	return out, req.Send()
5022}
5023
5024const opCreatePlacementGroup = "CreatePlacementGroup"
5025
5026// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
5027// client's request for the CreatePlacementGroup operation. The "output" return
5028// value will be populated with the request's response once the request completes
5029// successfully.
5030//
5031// Use "Send" method on the returned Request to send the API call to the service.
5032// the "output" return value is not valid until after Send returns without error.
5033//
5034// See CreatePlacementGroup for more information on using the CreatePlacementGroup
5035// API call, and error handling.
5036//
5037// This method is useful when you want to inject custom logic or configuration
5038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5039//
5040//
5041//    // Example sending a request using the CreatePlacementGroupRequest method.
5042//    req, resp := client.CreatePlacementGroupRequest(params)
5043//
5044//    err := req.Send()
5045//    if err == nil { // resp is now filled
5046//        fmt.Println(resp)
5047//    }
5048//
5049// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5050func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
5051	op := &request.Operation{
5052		Name:       opCreatePlacementGroup,
5053		HTTPMethod: "POST",
5054		HTTPPath:   "/",
5055	}
5056
5057	if input == nil {
5058		input = &CreatePlacementGroupInput{}
5059	}
5060
5061	output = &CreatePlacementGroupOutput{}
5062	req = c.newRequest(op, input, output)
5063	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5064	return
5065}
5066
5067// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
5068//
5069// Creates a placement group in which to launch instances. The strategy of the
5070// placement group determines how the instances are organized within the group.
5071//
5072// A cluster placement group is a logical grouping of instances within a single
5073// Availability Zone that benefit from low network latency, high network throughput.
5074// A spread placement group places instances on distinct hardware. A partition
5075// placement group places groups of instances in different partitions, where
5076// instances in one partition do not share the same hardware with instances
5077// in another partition.
5078//
5079// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
5080// in the Amazon Elastic Compute Cloud User Guide.
5081//
5082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5083// with awserr.Error's Code and Message methods to get detailed information about
5084// the error.
5085//
5086// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5087// API operation CreatePlacementGroup for usage and error information.
5088// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5089func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
5090	req, out := c.CreatePlacementGroupRequest(input)
5091	return out, req.Send()
5092}
5093
5094// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
5095// the ability to pass a context and additional request options.
5096//
5097// See CreatePlacementGroup for details on how to use this API operation.
5098//
5099// The context must be non-nil and will be used for request cancellation. If
5100// the context is nil a panic will occur. In the future the SDK may create
5101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5102// for more information on using Contexts.
5103func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
5104	req, out := c.CreatePlacementGroupRequest(input)
5105	req.SetContext(ctx)
5106	req.ApplyOptions(opts...)
5107	return out, req.Send()
5108}
5109
5110const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
5111
5112// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
5113// client's request for the CreateReservedInstancesListing operation. The "output" return
5114// value will be populated with the request's response once the request completes
5115// successfully.
5116//
5117// Use "Send" method on the returned Request to send the API call to the service.
5118// the "output" return value is not valid until after Send returns without error.
5119//
5120// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
5121// API call, and error handling.
5122//
5123// This method is useful when you want to inject custom logic or configuration
5124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5125//
5126//
5127//    // Example sending a request using the CreateReservedInstancesListingRequest method.
5128//    req, resp := client.CreateReservedInstancesListingRequest(params)
5129//
5130//    err := req.Send()
5131//    if err == nil { // resp is now filled
5132//        fmt.Println(resp)
5133//    }
5134//
5135// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5136func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
5137	op := &request.Operation{
5138		Name:       opCreateReservedInstancesListing,
5139		HTTPMethod: "POST",
5140		HTTPPath:   "/",
5141	}
5142
5143	if input == nil {
5144		input = &CreateReservedInstancesListingInput{}
5145	}
5146
5147	output = &CreateReservedInstancesListingOutput{}
5148	req = c.newRequest(op, input, output)
5149	return
5150}
5151
5152// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
5153//
5154// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
5155// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
5156// listing at a time. To get a list of your Standard Reserved Instances, you
5157// can use the DescribeReservedInstances operation.
5158//
5159// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
5160// Convertible Reserved Instances cannot be sold.
5161//
5162// The Reserved Instance Marketplace matches sellers who want to resell Standard
5163// Reserved Instance capacity that they no longer need with buyers who want
5164// to purchase additional capacity. Reserved Instances bought and sold through
5165// the Reserved Instance Marketplace work like any other Reserved Instances.
5166//
5167// To sell your Standard Reserved Instances, you must first register as a seller
5168// in the Reserved Instance Marketplace. After completing the registration process,
5169// you can create a Reserved Instance Marketplace listing of some or all of
5170// your Standard Reserved Instances, and specify the upfront price to receive
5171// for them. Your Standard Reserved Instance listings then become available
5172// for purchase. To view the details of your Standard Reserved Instance listing,
5173// you can use the DescribeReservedInstancesListings operation.
5174//
5175// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
5176// in the Amazon Elastic Compute Cloud User Guide.
5177//
5178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5179// with awserr.Error's Code and Message methods to get detailed information about
5180// the error.
5181//
5182// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5183// API operation CreateReservedInstancesListing for usage and error information.
5184// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5185func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
5186	req, out := c.CreateReservedInstancesListingRequest(input)
5187	return out, req.Send()
5188}
5189
5190// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
5191// the ability to pass a context and additional request options.
5192//
5193// See CreateReservedInstancesListing for details on how to use this API operation.
5194//
5195// The context must be non-nil and will be used for request cancellation. If
5196// the context is nil a panic will occur. In the future the SDK may create
5197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5198// for more information on using Contexts.
5199func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
5200	req, out := c.CreateReservedInstancesListingRequest(input)
5201	req.SetContext(ctx)
5202	req.ApplyOptions(opts...)
5203	return out, req.Send()
5204}
5205
5206const opCreateRoute = "CreateRoute"
5207
5208// CreateRouteRequest generates a "aws/request.Request" representing the
5209// client's request for the CreateRoute operation. The "output" return
5210// value will be populated with the request's response once the request completes
5211// successfully.
5212//
5213// Use "Send" method on the returned Request to send the API call to the service.
5214// the "output" return value is not valid until after Send returns without error.
5215//
5216// See CreateRoute for more information on using the CreateRoute
5217// API call, and error handling.
5218//
5219// This method is useful when you want to inject custom logic or configuration
5220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5221//
5222//
5223//    // Example sending a request using the CreateRouteRequest method.
5224//    req, resp := client.CreateRouteRequest(params)
5225//
5226//    err := req.Send()
5227//    if err == nil { // resp is now filled
5228//        fmt.Println(resp)
5229//    }
5230//
5231// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
5232func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
5233	op := &request.Operation{
5234		Name:       opCreateRoute,
5235		HTTPMethod: "POST",
5236		HTTPPath:   "/",
5237	}
5238
5239	if input == nil {
5240		input = &CreateRouteInput{}
5241	}
5242
5243	output = &CreateRouteOutput{}
5244	req = c.newRequest(op, input, output)
5245	return
5246}
5247
5248// CreateRoute API operation for Amazon Elastic Compute Cloud.
5249//
5250// Creates a route in a route table within a VPC.
5251//
5252// You must specify one of the following targets: internet gateway or virtual
5253// private gateway, NAT instance, NAT gateway, VPC peering connection, network
5254// interface, or egress-only internet gateway.
5255//
5256// When determining how to route traffic, we use the route with the most specific
5257// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
5258// the route table includes the following two IPv4 routes:
5259//
5260//    * 192.0.2.0/24 (goes to some target A)
5261//
5262//    * 192.0.2.0/28 (goes to some target B)
5263//
5264// Both routes apply to the traffic destined for 192.0.2.3. However, the second
5265// route in the list covers a smaller number of IP addresses and is therefore
5266// more specific, so we use that route to determine where to target the traffic.
5267//
5268// For more information about route tables, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
5269// in the Amazon Virtual Private Cloud User Guide.
5270//
5271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5272// with awserr.Error's Code and Message methods to get detailed information about
5273// the error.
5274//
5275// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5276// API operation CreateRoute for usage and error information.
5277// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
5278func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
5279	req, out := c.CreateRouteRequest(input)
5280	return out, req.Send()
5281}
5282
5283// CreateRouteWithContext is the same as CreateRoute with the addition of
5284// the ability to pass a context and additional request options.
5285//
5286// See CreateRoute for details on how to use this API operation.
5287//
5288// The context must be non-nil and will be used for request cancellation. If
5289// the context is nil a panic will occur. In the future the SDK may create
5290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5291// for more information on using Contexts.
5292func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
5293	req, out := c.CreateRouteRequest(input)
5294	req.SetContext(ctx)
5295	req.ApplyOptions(opts...)
5296	return out, req.Send()
5297}
5298
5299const opCreateRouteTable = "CreateRouteTable"
5300
5301// CreateRouteTableRequest generates a "aws/request.Request" representing the
5302// client's request for the CreateRouteTable operation. The "output" return
5303// value will be populated with the request's response once the request completes
5304// successfully.
5305//
5306// Use "Send" method on the returned Request to send the API call to the service.
5307// the "output" return value is not valid until after Send returns without error.
5308//
5309// See CreateRouteTable for more information on using the CreateRouteTable
5310// API call, and error handling.
5311//
5312// This method is useful when you want to inject custom logic or configuration
5313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5314//
5315//
5316//    // Example sending a request using the CreateRouteTableRequest method.
5317//    req, resp := client.CreateRouteTableRequest(params)
5318//
5319//    err := req.Send()
5320//    if err == nil { // resp is now filled
5321//        fmt.Println(resp)
5322//    }
5323//
5324// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
5325func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
5326	op := &request.Operation{
5327		Name:       opCreateRouteTable,
5328		HTTPMethod: "POST",
5329		HTTPPath:   "/",
5330	}
5331
5332	if input == nil {
5333		input = &CreateRouteTableInput{}
5334	}
5335
5336	output = &CreateRouteTableOutput{}
5337	req = c.newRequest(op, input, output)
5338	return
5339}
5340
5341// CreateRouteTable API operation for Amazon Elastic Compute Cloud.
5342//
5343// Creates a route table for the specified VPC. After you create a route table,
5344// you can add routes and associate the table with a subnet.
5345//
5346// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
5347// in the Amazon Virtual Private Cloud User Guide.
5348//
5349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5350// with awserr.Error's Code and Message methods to get detailed information about
5351// the error.
5352//
5353// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5354// API operation CreateRouteTable for usage and error information.
5355// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
5356func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
5357	req, out := c.CreateRouteTableRequest(input)
5358	return out, req.Send()
5359}
5360
5361// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
5362// the ability to pass a context and additional request options.
5363//
5364// See CreateRouteTable for details on how to use this API operation.
5365//
5366// The context must be non-nil and will be used for request cancellation. If
5367// the context is nil a panic will occur. In the future the SDK may create
5368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5369// for more information on using Contexts.
5370func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
5371	req, out := c.CreateRouteTableRequest(input)
5372	req.SetContext(ctx)
5373	req.ApplyOptions(opts...)
5374	return out, req.Send()
5375}
5376
5377const opCreateSecurityGroup = "CreateSecurityGroup"
5378
5379// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
5380// client's request for the CreateSecurityGroup operation. The "output" return
5381// value will be populated with the request's response once the request completes
5382// successfully.
5383//
5384// Use "Send" method on the returned Request to send the API call to the service.
5385// the "output" return value is not valid until after Send returns without error.
5386//
5387// See CreateSecurityGroup for more information on using the CreateSecurityGroup
5388// API call, and error handling.
5389//
5390// This method is useful when you want to inject custom logic or configuration
5391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5392//
5393//
5394//    // Example sending a request using the CreateSecurityGroupRequest method.
5395//    req, resp := client.CreateSecurityGroupRequest(params)
5396//
5397//    err := req.Send()
5398//    if err == nil { // resp is now filled
5399//        fmt.Println(resp)
5400//    }
5401//
5402// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
5403func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
5404	op := &request.Operation{
5405		Name:       opCreateSecurityGroup,
5406		HTTPMethod: "POST",
5407		HTTPPath:   "/",
5408	}
5409
5410	if input == nil {
5411		input = &CreateSecurityGroupInput{}
5412	}
5413
5414	output = &CreateSecurityGroupOutput{}
5415	req = c.newRequest(op, input, output)
5416	return
5417}
5418
5419// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
5420//
5421// Creates a security group.
5422//
5423// A security group acts as a virtual firewall for your instance to control
5424// inbound and outbound traffic. For more information, see Amazon EC2 Security
5425// Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
5426// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
5427// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
5428// in the Amazon Virtual Private Cloud User Guide.
5429//
5430// When you create a security group, you specify a friendly name of your choice.
5431// You can have a security group for use in EC2-Classic with the same name as
5432// a security group for use in a VPC. However, you can't have two security groups
5433// for use in EC2-Classic with the same name or two security groups for use
5434// in a VPC with the same name.
5435//
5436// You have a default security group for use in EC2-Classic and a default security
5437// group for use in your VPC. If you don't specify a security group when you
5438// launch an instance, the instance is launched into the appropriate default
5439// security group. A default security group includes a default rule that grants
5440// instances unrestricted network access to each other.
5441//
5442// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
5443// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
5444//
5445// For more information about VPC security group limits, see Amazon VPC Limits
5446// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
5447//
5448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5449// with awserr.Error's Code and Message methods to get detailed information about
5450// the error.
5451//
5452// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5453// API operation CreateSecurityGroup for usage and error information.
5454// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
5455func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
5456	req, out := c.CreateSecurityGroupRequest(input)
5457	return out, req.Send()
5458}
5459
5460// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
5461// the ability to pass a context and additional request options.
5462//
5463// See CreateSecurityGroup for details on how to use this API operation.
5464//
5465// The context must be non-nil and will be used for request cancellation. If
5466// the context is nil a panic will occur. In the future the SDK may create
5467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5468// for more information on using Contexts.
5469func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
5470	req, out := c.CreateSecurityGroupRequest(input)
5471	req.SetContext(ctx)
5472	req.ApplyOptions(opts...)
5473	return out, req.Send()
5474}
5475
5476const opCreateSnapshot = "CreateSnapshot"
5477
5478// CreateSnapshotRequest generates a "aws/request.Request" representing the
5479// client's request for the CreateSnapshot operation. The "output" return
5480// value will be populated with the request's response once the request completes
5481// successfully.
5482//
5483// Use "Send" method on the returned Request to send the API call to the service.
5484// the "output" return value is not valid until after Send returns without error.
5485//
5486// See CreateSnapshot for more information on using the CreateSnapshot
5487// API call, and error handling.
5488//
5489// This method is useful when you want to inject custom logic or configuration
5490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5491//
5492//
5493//    // Example sending a request using the CreateSnapshotRequest method.
5494//    req, resp := client.CreateSnapshotRequest(params)
5495//
5496//    err := req.Send()
5497//    if err == nil { // resp is now filled
5498//        fmt.Println(resp)
5499//    }
5500//
5501// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
5502func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
5503	op := &request.Operation{
5504		Name:       opCreateSnapshot,
5505		HTTPMethod: "POST",
5506		HTTPPath:   "/",
5507	}
5508
5509	if input == nil {
5510		input = &CreateSnapshotInput{}
5511	}
5512
5513	output = &Snapshot{}
5514	req = c.newRequest(op, input, output)
5515	return
5516}
5517
5518// CreateSnapshot API operation for Amazon Elastic Compute Cloud.
5519//
5520// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
5521// snapshots for backups, to make copies of EBS volumes, and to save data before
5522// shutting down an instance.
5523//
5524// When a snapshot is created, any AWS Marketplace product codes that are associated
5525// with the source volume are propagated to the snapshot.
5526//
5527// You can take a snapshot of an attached volume that is in use. However, snapshots
5528// only capture data that has been written to your EBS volume at the time the
5529// snapshot command is issued; this may exclude any data that has been cached
5530// by any applications or the operating system. If you can pause any file systems
5531// on the volume long enough to take a snapshot, your snapshot should be complete.
5532// However, if you cannot pause all file writes to the volume, you should unmount
5533// the volume from within the instance, issue the snapshot command, and then
5534// remount the volume to ensure a consistent and complete snapshot. You may
5535// remount and use your volume while the snapshot status is pending.
5536//
5537// To create a snapshot for EBS volumes that serve as root devices, you should
5538// stop the instance before taking the snapshot.
5539//
5540// Snapshots that are taken from encrypted volumes are automatically encrypted.
5541// Volumes that are created from encrypted snapshots are also automatically
5542// encrypted. Your encrypted volumes and any associated snapshots always remain
5543// protected.
5544//
5545// You can tag your snapshots during creation. For more information, see Tagging
5546// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
5547// in the Amazon Elastic Compute Cloud User Guide.
5548//
5549// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
5550// and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
5551// in the Amazon Elastic Compute Cloud User Guide.
5552//
5553// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5554// with awserr.Error's Code and Message methods to get detailed information about
5555// the error.
5556//
5557// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5558// API operation CreateSnapshot for usage and error information.
5559// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
5560func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
5561	req, out := c.CreateSnapshotRequest(input)
5562	return out, req.Send()
5563}
5564
5565// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
5566// the ability to pass a context and additional request options.
5567//
5568// See CreateSnapshot for details on how to use this API operation.
5569//
5570// The context must be non-nil and will be used for request cancellation. If
5571// the context is nil a panic will occur. In the future the SDK may create
5572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5573// for more information on using Contexts.
5574func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
5575	req, out := c.CreateSnapshotRequest(input)
5576	req.SetContext(ctx)
5577	req.ApplyOptions(opts...)
5578	return out, req.Send()
5579}
5580
5581const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
5582
5583// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
5584// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
5585// value will be populated with the request's response once the request completes
5586// successfully.
5587//
5588// Use "Send" method on the returned Request to send the API call to the service.
5589// the "output" return value is not valid until after Send returns without error.
5590//
5591// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
5592// API call, and error handling.
5593//
5594// This method is useful when you want to inject custom logic or configuration
5595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5596//
5597//
5598//    // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
5599//    req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
5600//
5601//    err := req.Send()
5602//    if err == nil { // resp is now filled
5603//        fmt.Println(resp)
5604//    }
5605//
5606// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
5607func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
5608	op := &request.Operation{
5609		Name:       opCreateSpotDatafeedSubscription,
5610		HTTPMethod: "POST",
5611		HTTPPath:   "/",
5612	}
5613
5614	if input == nil {
5615		input = &CreateSpotDatafeedSubscriptionInput{}
5616	}
5617
5618	output = &CreateSpotDatafeedSubscriptionOutput{}
5619	req = c.newRequest(op, input, output)
5620	return
5621}
5622
5623// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
5624//
5625// Creates a data feed for Spot Instances, enabling you to view Spot Instance
5626// usage logs. You can create one data feed per AWS account. For more information,
5627// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
5628// in the Amazon EC2 User Guide for Linux Instances.
5629//
5630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5631// with awserr.Error's Code and Message methods to get detailed information about
5632// the error.
5633//
5634// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5635// API operation CreateSpotDatafeedSubscription for usage and error information.
5636// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
5637func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
5638	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
5639	return out, req.Send()
5640}
5641
5642// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
5643// the ability to pass a context and additional request options.
5644//
5645// See CreateSpotDatafeedSubscription for details on how to use this API operation.
5646//
5647// The context must be non-nil and will be used for request cancellation. If
5648// the context is nil a panic will occur. In the future the SDK may create
5649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5650// for more information on using Contexts.
5651func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
5652	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
5653	req.SetContext(ctx)
5654	req.ApplyOptions(opts...)
5655	return out, req.Send()
5656}
5657
5658const opCreateSubnet = "CreateSubnet"
5659
5660// CreateSubnetRequest generates a "aws/request.Request" representing the
5661// client's request for the CreateSubnet operation. The "output" return
5662// value will be populated with the request's response once the request completes
5663// successfully.
5664//
5665// Use "Send" method on the returned Request to send the API call to the service.
5666// the "output" return value is not valid until after Send returns without error.
5667//
5668// See CreateSubnet for more information on using the CreateSubnet
5669// API call, and error handling.
5670//
5671// This method is useful when you want to inject custom logic or configuration
5672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5673//
5674//
5675//    // Example sending a request using the CreateSubnetRequest method.
5676//    req, resp := client.CreateSubnetRequest(params)
5677//
5678//    err := req.Send()
5679//    if err == nil { // resp is now filled
5680//        fmt.Println(resp)
5681//    }
5682//
5683// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
5684func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
5685	op := &request.Operation{
5686		Name:       opCreateSubnet,
5687		HTTPMethod: "POST",
5688		HTTPPath:   "/",
5689	}
5690
5691	if input == nil {
5692		input = &CreateSubnetInput{}
5693	}
5694
5695	output = &CreateSubnetOutput{}
5696	req = c.newRequest(op, input, output)
5697	return
5698}
5699
5700// CreateSubnet API operation for Amazon Elastic Compute Cloud.
5701//
5702// Creates a subnet in an existing VPC.
5703//
5704// When you create each subnet, you provide the VPC ID and IPv4 CIDR block for
5705// the subnet. After you create a subnet, you can't change its CIDR block. The
5706// size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR
5707// block, or a subset of a VPC's IPv4 CIDR block. If you create more than one
5708// subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest
5709// IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses),
5710// and the largest uses a /16 netmask (65,536 IPv4 addresses).
5711//
5712// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
5713// with an IPv6 CIDR block that uses a /64 prefix length.
5714//
5715// AWS reserves both the first four and the last IPv4 address in each subnet's
5716// CIDR block. They're not available for use.
5717//
5718// If you add more than one subnet to a VPC, they're set up in a star topology
5719// with a logical router in the middle.
5720//
5721// If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
5722// address doesn't change if you stop and restart the instance (unlike a similar
5723// instance launched outside a VPC, which gets a new IP address when restarted).
5724// It's therefore possible to have a subnet with no running instances (they're
5725// all stopped), but no remaining IP addresses available.
5726//
5727// For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
5728// in the Amazon Virtual Private Cloud User Guide.
5729//
5730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5731// with awserr.Error's Code and Message methods to get detailed information about
5732// the error.
5733//
5734// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5735// API operation CreateSubnet for usage and error information.
5736// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
5737func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
5738	req, out := c.CreateSubnetRequest(input)
5739	return out, req.Send()
5740}
5741
5742// CreateSubnetWithContext is the same as CreateSubnet with the addition of
5743// the ability to pass a context and additional request options.
5744//
5745// See CreateSubnet for details on how to use this API operation.
5746//
5747// The context must be non-nil and will be used for request cancellation. If
5748// the context is nil a panic will occur. In the future the SDK may create
5749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5750// for more information on using Contexts.
5751func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
5752	req, out := c.CreateSubnetRequest(input)
5753	req.SetContext(ctx)
5754	req.ApplyOptions(opts...)
5755	return out, req.Send()
5756}
5757
5758const opCreateTags = "CreateTags"
5759
5760// CreateTagsRequest generates a "aws/request.Request" representing the
5761// client's request for the CreateTags operation. The "output" return
5762// value will be populated with the request's response once the request completes
5763// successfully.
5764//
5765// Use "Send" method on the returned Request to send the API call to the service.
5766// the "output" return value is not valid until after Send returns without error.
5767//
5768// See CreateTags for more information on using the CreateTags
5769// API call, and error handling.
5770//
5771// This method is useful when you want to inject custom logic or configuration
5772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5773//
5774//
5775//    // Example sending a request using the CreateTagsRequest method.
5776//    req, resp := client.CreateTagsRequest(params)
5777//
5778//    err := req.Send()
5779//    if err == nil { // resp is now filled
5780//        fmt.Println(resp)
5781//    }
5782//
5783// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
5784func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
5785	op := &request.Operation{
5786		Name:       opCreateTags,
5787		HTTPMethod: "POST",
5788		HTTPPath:   "/",
5789	}
5790
5791	if input == nil {
5792		input = &CreateTagsInput{}
5793	}
5794
5795	output = &CreateTagsOutput{}
5796	req = c.newRequest(op, input, output)
5797	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5798	return
5799}
5800
5801// CreateTags API operation for Amazon Elastic Compute Cloud.
5802//
5803// Adds or overwrites the specified tags for the specified Amazon EC2 resource
5804// or resources. Each resource can have a maximum of 50 tags. Each tag consists
5805// of a key and optional value. Tag keys must be unique per resource.
5806//
5807// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
5808// in the Amazon Elastic Compute Cloud User Guide. For more information about
5809// creating IAM policies that control users' access to resources based on tags,
5810// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
5811// in the Amazon Elastic Compute Cloud User Guide.
5812//
5813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5814// with awserr.Error's Code and Message methods to get detailed information about
5815// the error.
5816//
5817// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5818// API operation CreateTags for usage and error information.
5819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
5820func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
5821	req, out := c.CreateTagsRequest(input)
5822	return out, req.Send()
5823}
5824
5825// CreateTagsWithContext is the same as CreateTags with the addition of
5826// the ability to pass a context and additional request options.
5827//
5828// See CreateTags for details on how to use this API operation.
5829//
5830// The context must be non-nil and will be used for request cancellation. If
5831// the context is nil a panic will occur. In the future the SDK may create
5832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5833// for more information on using Contexts.
5834func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
5835	req, out := c.CreateTagsRequest(input)
5836	req.SetContext(ctx)
5837	req.ApplyOptions(opts...)
5838	return out, req.Send()
5839}
5840
5841const opCreateTransitGateway = "CreateTransitGateway"
5842
5843// CreateTransitGatewayRequest generates a "aws/request.Request" representing the
5844// client's request for the CreateTransitGateway operation. The "output" return
5845// value will be populated with the request's response once the request completes
5846// successfully.
5847//
5848// Use "Send" method on the returned Request to send the API call to the service.
5849// the "output" return value is not valid until after Send returns without error.
5850//
5851// See CreateTransitGateway for more information on using the CreateTransitGateway
5852// API call, and error handling.
5853//
5854// This method is useful when you want to inject custom logic or configuration
5855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5856//
5857//
5858//    // Example sending a request using the CreateTransitGatewayRequest method.
5859//    req, resp := client.CreateTransitGatewayRequest(params)
5860//
5861//    err := req.Send()
5862//    if err == nil { // resp is now filled
5863//        fmt.Println(resp)
5864//    }
5865//
5866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
5867func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
5868	op := &request.Operation{
5869		Name:       opCreateTransitGateway,
5870		HTTPMethod: "POST",
5871		HTTPPath:   "/",
5872	}
5873
5874	if input == nil {
5875		input = &CreateTransitGatewayInput{}
5876	}
5877
5878	output = &CreateTransitGatewayOutput{}
5879	req = c.newRequest(op, input, output)
5880	return
5881}
5882
5883// CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
5884//
5885// Creates a transit gateway.
5886//
5887// You can use a transit gateway to interconnect your virtual private clouds
5888// (VPC) and on-premises networks. After the transit gateway enters the available
5889// state, you can attach your VPCs and VPN connections to the transit gateway.
5890//
5891// To attach your VPCs, use CreateTransitGatewayVpcAttachment.
5892//
5893// To attach a VPN connection, use CreateCustomerGateway to create a customer
5894// gateway and specify the ID of the customer gateway and the ID of the transit
5895// gateway in a call to CreateVpnConnection.
5896//
5897// When you create a transit gateway, we create a default transit gateway route
5898// table and use it as the default association route table and the default propagation
5899// route table. You can use CreateTransitGatewayRouteTable to create additional
5900// transit gateway route tables. If you disable automatic route propagation,
5901// we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
5902// to propagate routes from a resource attachment to a transit gateway route
5903// table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
5904// to associate a resource attachment with a transit gateway route table.
5905//
5906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5907// with awserr.Error's Code and Message methods to get detailed information about
5908// the error.
5909//
5910// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5911// API operation CreateTransitGateway for usage and error information.
5912// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
5913func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
5914	req, out := c.CreateTransitGatewayRequest(input)
5915	return out, req.Send()
5916}
5917
5918// CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
5919// the ability to pass a context and additional request options.
5920//
5921// See CreateTransitGateway for details on how to use this API operation.
5922//
5923// The context must be non-nil and will be used for request cancellation. If
5924// the context is nil a panic will occur. In the future the SDK may create
5925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5926// for more information on using Contexts.
5927func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
5928	req, out := c.CreateTransitGatewayRequest(input)
5929	req.SetContext(ctx)
5930	req.ApplyOptions(opts...)
5931	return out, req.Send()
5932}
5933
5934const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
5935
5936// CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
5937// client's request for the CreateTransitGatewayRoute operation. The "output" return
5938// value will be populated with the request's response once the request completes
5939// successfully.
5940//
5941// Use "Send" method on the returned Request to send the API call to the service.
5942// the "output" return value is not valid until after Send returns without error.
5943//
5944// See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
5945// API call, and error handling.
5946//
5947// This method is useful when you want to inject custom logic or configuration
5948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5949//
5950//
5951//    // Example sending a request using the CreateTransitGatewayRouteRequest method.
5952//    req, resp := client.CreateTransitGatewayRouteRequest(params)
5953//
5954//    err := req.Send()
5955//    if err == nil { // resp is now filled
5956//        fmt.Println(resp)
5957//    }
5958//
5959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
5960func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
5961	op := &request.Operation{
5962		Name:       opCreateTransitGatewayRoute,
5963		HTTPMethod: "POST",
5964		HTTPPath:   "/",
5965	}
5966
5967	if input == nil {
5968		input = &CreateTransitGatewayRouteInput{}
5969	}
5970
5971	output = &CreateTransitGatewayRouteOutput{}
5972	req = c.newRequest(op, input, output)
5973	return
5974}
5975
5976// CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
5977//
5978// Creates a static route for the specified transit gateway route table.
5979//
5980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5981// with awserr.Error's Code and Message methods to get detailed information about
5982// the error.
5983//
5984// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5985// API operation CreateTransitGatewayRoute for usage and error information.
5986// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
5987func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
5988	req, out := c.CreateTransitGatewayRouteRequest(input)
5989	return out, req.Send()
5990}
5991
5992// CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
5993// the ability to pass a context and additional request options.
5994//
5995// See CreateTransitGatewayRoute for details on how to use this API operation.
5996//
5997// The context must be non-nil and will be used for request cancellation. If
5998// the context is nil a panic will occur. In the future the SDK may create
5999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6000// for more information on using Contexts.
6001func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
6002	req, out := c.CreateTransitGatewayRouteRequest(input)
6003	req.SetContext(ctx)
6004	req.ApplyOptions(opts...)
6005	return out, req.Send()
6006}
6007
6008const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
6009
6010// CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
6011// client's request for the CreateTransitGatewayRouteTable operation. The "output" return
6012// value will be populated with the request's response once the request completes
6013// successfully.
6014//
6015// Use "Send" method on the returned Request to send the API call to the service.
6016// the "output" return value is not valid until after Send returns without error.
6017//
6018// See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
6019// API call, and error handling.
6020//
6021// This method is useful when you want to inject custom logic or configuration
6022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6023//
6024//
6025//    // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
6026//    req, resp := client.CreateTransitGatewayRouteTableRequest(params)
6027//
6028//    err := req.Send()
6029//    if err == nil { // resp is now filled
6030//        fmt.Println(resp)
6031//    }
6032//
6033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
6034func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
6035	op := &request.Operation{
6036		Name:       opCreateTransitGatewayRouteTable,
6037		HTTPMethod: "POST",
6038		HTTPPath:   "/",
6039	}
6040
6041	if input == nil {
6042		input = &CreateTransitGatewayRouteTableInput{}
6043	}
6044
6045	output = &CreateTransitGatewayRouteTableOutput{}
6046	req = c.newRequest(op, input, output)
6047	return
6048}
6049
6050// CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
6051//
6052// Creates a route table for the specified transit gateway.
6053//
6054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6055// with awserr.Error's Code and Message methods to get detailed information about
6056// the error.
6057//
6058// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6059// API operation CreateTransitGatewayRouteTable for usage and error information.
6060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
6061func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
6062	req, out := c.CreateTransitGatewayRouteTableRequest(input)
6063	return out, req.Send()
6064}
6065
6066// CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
6067// the ability to pass a context and additional request options.
6068//
6069// See CreateTransitGatewayRouteTable for details on how to use this API operation.
6070//
6071// The context must be non-nil and will be used for request cancellation. If
6072// the context is nil a panic will occur. In the future the SDK may create
6073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6074// for more information on using Contexts.
6075func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
6076	req, out := c.CreateTransitGatewayRouteTableRequest(input)
6077	req.SetContext(ctx)
6078	req.ApplyOptions(opts...)
6079	return out, req.Send()
6080}
6081
6082const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
6083
6084// CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
6085// client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
6086// value will be populated with the request's response once the request completes
6087// successfully.
6088//
6089// Use "Send" method on the returned Request to send the API call to the service.
6090// the "output" return value is not valid until after Send returns without error.
6091//
6092// See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
6093// API call, and error handling.
6094//
6095// This method is useful when you want to inject custom logic or configuration
6096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6097//
6098//
6099//    // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
6100//    req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
6101//
6102//    err := req.Send()
6103//    if err == nil { // resp is now filled
6104//        fmt.Println(resp)
6105//    }
6106//
6107// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
6108func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
6109	op := &request.Operation{
6110		Name:       opCreateTransitGatewayVpcAttachment,
6111		HTTPMethod: "POST",
6112		HTTPPath:   "/",
6113	}
6114
6115	if input == nil {
6116		input = &CreateTransitGatewayVpcAttachmentInput{}
6117	}
6118
6119	output = &CreateTransitGatewayVpcAttachmentOutput{}
6120	req = c.newRequest(op, input, output)
6121	return
6122}
6123
6124// CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
6125//
6126// Attaches the specified VPC to the specified transit gateway.
6127//
6128// If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
6129// that is already attached, the new VPC CIDR range is not propagated to the
6130// default propagation route table.
6131//
6132// To send VPC traffic to an attached transit gateway, add a route to the VPC
6133// route table using CreateRoute.
6134//
6135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6136// with awserr.Error's Code and Message methods to get detailed information about
6137// the error.
6138//
6139// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6140// API operation CreateTransitGatewayVpcAttachment for usage and error information.
6141// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
6142func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
6143	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
6144	return out, req.Send()
6145}
6146
6147// CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
6148// the ability to pass a context and additional request options.
6149//
6150// See CreateTransitGatewayVpcAttachment for details on how to use this API operation.
6151//
6152// The context must be non-nil and will be used for request cancellation. If
6153// the context is nil a panic will occur. In the future the SDK may create
6154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6155// for more information on using Contexts.
6156func (c *EC2) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
6157	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
6158	req.SetContext(ctx)
6159	req.ApplyOptions(opts...)
6160	return out, req.Send()
6161}
6162
6163const opCreateVolume = "CreateVolume"
6164
6165// CreateVolumeRequest generates a "aws/request.Request" representing the
6166// client's request for the CreateVolume operation. The "output" return
6167// value will be populated with the request's response once the request completes
6168// successfully.
6169//
6170// Use "Send" method on the returned Request to send the API call to the service.
6171// the "output" return value is not valid until after Send returns without error.
6172//
6173// See CreateVolume for more information on using the CreateVolume
6174// API call, and error handling.
6175//
6176// This method is useful when you want to inject custom logic or configuration
6177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6178//
6179//
6180//    // Example sending a request using the CreateVolumeRequest method.
6181//    req, resp := client.CreateVolumeRequest(params)
6182//
6183//    err := req.Send()
6184//    if err == nil { // resp is now filled
6185//        fmt.Println(resp)
6186//    }
6187//
6188// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
6189func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
6190	op := &request.Operation{
6191		Name:       opCreateVolume,
6192		HTTPMethod: "POST",
6193		HTTPPath:   "/",
6194	}
6195
6196	if input == nil {
6197		input = &CreateVolumeInput{}
6198	}
6199
6200	output = &Volume{}
6201	req = c.newRequest(op, input, output)
6202	return
6203}
6204
6205// CreateVolume API operation for Amazon Elastic Compute Cloud.
6206//
6207// Creates an EBS volume that can be attached to an instance in the same Availability
6208// Zone. The volume is created in the regional endpoint that you send the HTTP
6209// request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
6210//
6211// You can create a new empty volume or restore a volume from an EBS snapshot.
6212// Any AWS Marketplace product codes from the snapshot are propagated to the
6213// volume.
6214//
6215// You can create encrypted volumes with the Encrypted parameter. Encrypted
6216// volumes may only be attached to instances that support Amazon EBS encryption.
6217// Volumes that are created from encrypted snapshots are also automatically
6218// encrypted. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
6219// in the Amazon Elastic Compute Cloud User Guide.
6220//
6221// You can tag your volumes during creation. For more information, see Tagging
6222// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
6223// in the Amazon Elastic Compute Cloud User Guide.
6224//
6225// For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
6226// in the Amazon Elastic Compute Cloud User Guide.
6227//
6228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6229// with awserr.Error's Code and Message methods to get detailed information about
6230// the error.
6231//
6232// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6233// API operation CreateVolume for usage and error information.
6234// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
6235func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
6236	req, out := c.CreateVolumeRequest(input)
6237	return out, req.Send()
6238}
6239
6240// CreateVolumeWithContext is the same as CreateVolume with the addition of
6241// the ability to pass a context and additional request options.
6242//
6243// See CreateVolume for details on how to use this API operation.
6244//
6245// The context must be non-nil and will be used for request cancellation. If
6246// the context is nil a panic will occur. In the future the SDK may create
6247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6248// for more information on using Contexts.
6249func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
6250	req, out := c.CreateVolumeRequest(input)
6251	req.SetContext(ctx)
6252	req.ApplyOptions(opts...)
6253	return out, req.Send()
6254}
6255
6256const opCreateVpc = "CreateVpc"
6257
6258// CreateVpcRequest generates a "aws/request.Request" representing the
6259// client's request for the CreateVpc operation. The "output" return
6260// value will be populated with the request's response once the request completes
6261// successfully.
6262//
6263// Use "Send" method on the returned Request to send the API call to the service.
6264// the "output" return value is not valid until after Send returns without error.
6265//
6266// See CreateVpc for more information on using the CreateVpc
6267// API call, and error handling.
6268//
6269// This method is useful when you want to inject custom logic or configuration
6270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6271//
6272//
6273//    // Example sending a request using the CreateVpcRequest method.
6274//    req, resp := client.CreateVpcRequest(params)
6275//
6276//    err := req.Send()
6277//    if err == nil { // resp is now filled
6278//        fmt.Println(resp)
6279//    }
6280//
6281// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
6282func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
6283	op := &request.Operation{
6284		Name:       opCreateVpc,
6285		HTTPMethod: "POST",
6286		HTTPPath:   "/",
6287	}
6288
6289	if input == nil {
6290		input = &CreateVpcInput{}
6291	}
6292
6293	output = &CreateVpcOutput{}
6294	req = c.newRequest(op, input, output)
6295	return
6296}
6297
6298// CreateVpc API operation for Amazon Elastic Compute Cloud.
6299//
6300// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
6301// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
6302// netmask (65,536 IPv4 addresses). For more information about how large to
6303// make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
6304// in the Amazon Virtual Private Cloud User Guide.
6305//
6306// You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
6307// The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
6308// pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
6309//
6310// By default, each instance you launch in the VPC has the default DHCP options,
6311// which include only a default DNS server that we provide (AmazonProvidedDNS).
6312// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
6313// in the Amazon Virtual Private Cloud User Guide.
6314//
6315// You can specify the instance tenancy value for the VPC when you create it.
6316// You can't change this value for the VPC after you create it. For more information,
6317// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
6318// in the Amazon Elastic Compute Cloud User Guide.
6319//
6320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6321// with awserr.Error's Code and Message methods to get detailed information about
6322// the error.
6323//
6324// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6325// API operation CreateVpc for usage and error information.
6326// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
6327func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
6328	req, out := c.CreateVpcRequest(input)
6329	return out, req.Send()
6330}
6331
6332// CreateVpcWithContext is the same as CreateVpc with the addition of
6333// the ability to pass a context and additional request options.
6334//
6335// See CreateVpc for details on how to use this API operation.
6336//
6337// The context must be non-nil and will be used for request cancellation. If
6338// the context is nil a panic will occur. In the future the SDK may create
6339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6340// for more information on using Contexts.
6341func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
6342	req, out := c.CreateVpcRequest(input)
6343	req.SetContext(ctx)
6344	req.ApplyOptions(opts...)
6345	return out, req.Send()
6346}
6347
6348const opCreateVpcEndpoint = "CreateVpcEndpoint"
6349
6350// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
6351// client's request for the CreateVpcEndpoint operation. The "output" return
6352// value will be populated with the request's response once the request completes
6353// successfully.
6354//
6355// Use "Send" method on the returned Request to send the API call to the service.
6356// the "output" return value is not valid until after Send returns without error.
6357//
6358// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
6359// API call, and error handling.
6360//
6361// This method is useful when you want to inject custom logic or configuration
6362// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6363//
6364//
6365//    // Example sending a request using the CreateVpcEndpointRequest method.
6366//    req, resp := client.CreateVpcEndpointRequest(params)
6367//
6368//    err := req.Send()
6369//    if err == nil { // resp is now filled
6370//        fmt.Println(resp)
6371//    }
6372//
6373// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
6374func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
6375	op := &request.Operation{
6376		Name:       opCreateVpcEndpoint,
6377		HTTPMethod: "POST",
6378		HTTPPath:   "/",
6379	}
6380
6381	if input == nil {
6382		input = &CreateVpcEndpointInput{}
6383	}
6384
6385	output = &CreateVpcEndpointOutput{}
6386	req = c.newRequest(op, input, output)
6387	return
6388}
6389
6390// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
6391//
6392// Creates a VPC endpoint for a specified service. An endpoint enables you to
6393// create a private connection between your VPC and the service. The service
6394// may be provided by AWS, an AWS Marketplace partner, or another AWS account.
6395// For more information, see VPC Endpoints (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
6396// in the Amazon Virtual Private Cloud User Guide.
6397//
6398// A gateway endpoint serves as a target for a route in your route table for
6399// traffic destined for the AWS service. You can specify an endpoint policy
6400// to attach to the endpoint that will control access to the service from your
6401// VPC. You can also specify the VPC route tables that use the endpoint.
6402//
6403// An interface endpoint is a network interface in your subnet that serves as
6404// an endpoint for communicating with the specified service. You can specify
6405// the subnets in which to create an endpoint, and the security groups to associate
6406// with the endpoint network interface.
6407//
6408// Use DescribeVpcEndpointServices to get a list of supported services.
6409//
6410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6411// with awserr.Error's Code and Message methods to get detailed information about
6412// the error.
6413//
6414// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6415// API operation CreateVpcEndpoint for usage and error information.
6416// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
6417func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
6418	req, out := c.CreateVpcEndpointRequest(input)
6419	return out, req.Send()
6420}
6421
6422// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
6423// the ability to pass a context and additional request options.
6424//
6425// See CreateVpcEndpoint for details on how to use this API operation.
6426//
6427// The context must be non-nil and will be used for request cancellation. If
6428// the context is nil a panic will occur. In the future the SDK may create
6429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6430// for more information on using Contexts.
6431func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
6432	req, out := c.CreateVpcEndpointRequest(input)
6433	req.SetContext(ctx)
6434	req.ApplyOptions(opts...)
6435	return out, req.Send()
6436}
6437
6438const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
6439
6440// CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
6441// client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
6442// value will be populated with the request's response once the request completes
6443// successfully.
6444//
6445// Use "Send" method on the returned Request to send the API call to the service.
6446// the "output" return value is not valid until after Send returns without error.
6447//
6448// See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
6449// API call, and error handling.
6450//
6451// This method is useful when you want to inject custom logic or configuration
6452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6453//
6454//
6455//    // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
6456//    req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
6457//
6458//    err := req.Send()
6459//    if err == nil { // resp is now filled
6460//        fmt.Println(resp)
6461//    }
6462//
6463// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
6464func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
6465	op := &request.Operation{
6466		Name:       opCreateVpcEndpointConnectionNotification,
6467		HTTPMethod: "POST",
6468		HTTPPath:   "/",
6469	}
6470
6471	if input == nil {
6472		input = &CreateVpcEndpointConnectionNotificationInput{}
6473	}
6474
6475	output = &CreateVpcEndpointConnectionNotificationOutput{}
6476	req = c.newRequest(op, input, output)
6477	return
6478}
6479
6480// CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
6481//
6482// Creates a connection notification for a specified VPC endpoint or VPC endpoint
6483// service. A connection notification notifies you of specific endpoint events.
6484// You must create an SNS topic to receive notifications. For more information,
6485// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
6486// in the Amazon Simple Notification Service Developer Guide.
6487//
6488// You can create a connection notification for interface endpoints only.
6489//
6490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6491// with awserr.Error's Code and Message methods to get detailed information about
6492// the error.
6493//
6494// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6495// API operation CreateVpcEndpointConnectionNotification for usage and error information.
6496// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
6497func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
6498	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
6499	return out, req.Send()
6500}
6501
6502// CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
6503// the ability to pass a context and additional request options.
6504//
6505// See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
6506//
6507// The context must be non-nil and will be used for request cancellation. If
6508// the context is nil a panic will occur. In the future the SDK may create
6509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6510// for more information on using Contexts.
6511func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
6512	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
6513	req.SetContext(ctx)
6514	req.ApplyOptions(opts...)
6515	return out, req.Send()
6516}
6517
6518const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
6519
6520// CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
6521// client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
6522// value will be populated with the request's response once the request completes
6523// successfully.
6524//
6525// Use "Send" method on the returned Request to send the API call to the service.
6526// the "output" return value is not valid until after Send returns without error.
6527//
6528// See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
6529// API call, and error handling.
6530//
6531// This method is useful when you want to inject custom logic or configuration
6532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6533//
6534//
6535//    // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
6536//    req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
6537//
6538//    err := req.Send()
6539//    if err == nil { // resp is now filled
6540//        fmt.Println(resp)
6541//    }
6542//
6543// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
6544func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
6545	op := &request.Operation{
6546		Name:       opCreateVpcEndpointServiceConfiguration,
6547		HTTPMethod: "POST",
6548		HTTPPath:   "/",
6549	}
6550
6551	if input == nil {
6552		input = &CreateVpcEndpointServiceConfigurationInput{}
6553	}
6554
6555	output = &CreateVpcEndpointServiceConfigurationOutput{}
6556	req = c.newRequest(op, input, output)
6557	return
6558}
6559
6560// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
6561//
6562// Creates a VPC endpoint service configuration to which service consumers (AWS
6563// accounts, IAM users, and IAM roles) can connect. Service consumers can create
6564// an interface VPC endpoint to connect to your service.
6565//
6566// To create an endpoint service configuration, you must first create a Network
6567// Load Balancer for your service. For more information, see VPC Endpoint Services
6568// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html)
6569// in the Amazon Virtual Private Cloud User Guide.
6570//
6571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6572// with awserr.Error's Code and Message methods to get detailed information about
6573// the error.
6574//
6575// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6576// API operation CreateVpcEndpointServiceConfiguration for usage and error information.
6577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
6578func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
6579	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
6580	return out, req.Send()
6581}
6582
6583// CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
6584// the ability to pass a context and additional request options.
6585//
6586// See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
6587//
6588// The context must be non-nil and will be used for request cancellation. If
6589// the context is nil a panic will occur. In the future the SDK may create
6590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6591// for more information on using Contexts.
6592func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
6593	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
6594	req.SetContext(ctx)
6595	req.ApplyOptions(opts...)
6596	return out, req.Send()
6597}
6598
6599const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
6600
6601// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
6602// client's request for the CreateVpcPeeringConnection operation. The "output" return
6603// value will be populated with the request's response once the request completes
6604// successfully.
6605//
6606// Use "Send" method on the returned Request to send the API call to the service.
6607// the "output" return value is not valid until after Send returns without error.
6608//
6609// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
6610// API call, and error handling.
6611//
6612// This method is useful when you want to inject custom logic or configuration
6613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6614//
6615//
6616//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
6617//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
6618//
6619//    err := req.Send()
6620//    if err == nil { // resp is now filled
6621//        fmt.Println(resp)
6622//    }
6623//
6624// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
6625func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
6626	op := &request.Operation{
6627		Name:       opCreateVpcPeeringConnection,
6628		HTTPMethod: "POST",
6629		HTTPPath:   "/",
6630	}
6631
6632	if input == nil {
6633		input = &CreateVpcPeeringConnectionInput{}
6634	}
6635
6636	output = &CreateVpcPeeringConnectionOutput{}
6637	req = c.newRequest(op, input, output)
6638	return
6639}
6640
6641// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
6642//
6643// Requests a VPC peering connection between two VPCs: a requester VPC that
6644// you own and an accepter VPC with which to create the connection. The accepter
6645// VPC can belong to another AWS account and can be in a different Region to
6646// the requester VPC. The requester VPC and accepter VPC cannot have overlapping
6647// CIDR blocks.
6648//
6649// Limitations and rules apply to a VPC peering connection. For more information,
6650// see the limitations (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations)
6651// section in the VPC Peering Guide.
6652//
6653// The owner of the accepter VPC must accept the peering request to activate
6654// the peering connection. The VPC peering connection request expires after
6655// 7 days, after which it cannot be accepted or rejected.
6656//
6657// If you create a VPC peering connection request between VPCs with overlapping
6658// CIDR blocks, the VPC peering connection has a status of failed.
6659//
6660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6661// with awserr.Error's Code and Message methods to get detailed information about
6662// the error.
6663//
6664// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6665// API operation CreateVpcPeeringConnection for usage and error information.
6666// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
6667func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
6668	req, out := c.CreateVpcPeeringConnectionRequest(input)
6669	return out, req.Send()
6670}
6671
6672// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
6673// the ability to pass a context and additional request options.
6674//
6675// See CreateVpcPeeringConnection for details on how to use this API operation.
6676//
6677// The context must be non-nil and will be used for request cancellation. If
6678// the context is nil a panic will occur. In the future the SDK may create
6679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6680// for more information on using Contexts.
6681func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
6682	req, out := c.CreateVpcPeeringConnectionRequest(input)
6683	req.SetContext(ctx)
6684	req.ApplyOptions(opts...)
6685	return out, req.Send()
6686}
6687
6688const opCreateVpnConnection = "CreateVpnConnection"
6689
6690// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
6691// client's request for the CreateVpnConnection operation. The "output" return
6692// value will be populated with the request's response once the request completes
6693// successfully.
6694//
6695// Use "Send" method on the returned Request to send the API call to the service.
6696// the "output" return value is not valid until after Send returns without error.
6697//
6698// See CreateVpnConnection for more information on using the CreateVpnConnection
6699// API call, and error handling.
6700//
6701// This method is useful when you want to inject custom logic or configuration
6702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6703//
6704//
6705//    // Example sending a request using the CreateVpnConnectionRequest method.
6706//    req, resp := client.CreateVpnConnectionRequest(params)
6707//
6708//    err := req.Send()
6709//    if err == nil { // resp is now filled
6710//        fmt.Println(resp)
6711//    }
6712//
6713// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
6714func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
6715	op := &request.Operation{
6716		Name:       opCreateVpnConnection,
6717		HTTPMethod: "POST",
6718		HTTPPath:   "/",
6719	}
6720
6721	if input == nil {
6722		input = &CreateVpnConnectionInput{}
6723	}
6724
6725	output = &CreateVpnConnectionOutput{}
6726	req = c.newRequest(op, input, output)
6727	return
6728}
6729
6730// CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
6731//
6732// Creates a VPN connection between an existing virtual private gateway and
6733// a VPN customer gateway. The supported connection types are ipsec.1 and ipsec.2.
6734//
6735// The response includes information that you need to give to your network administrator
6736// to configure your customer gateway.
6737//
6738// We strongly recommend that you use HTTPS when calling this operation because
6739// the response contains sensitive cryptographic information for configuring
6740// your customer gateway.
6741//
6742// If you decide to shut down your VPN connection for any reason and later create
6743// a new VPN connection, you must reconfigure your customer gateway with the
6744// new information returned from this call.
6745//
6746// This is an idempotent operation. If you perform the operation more than once,
6747// Amazon EC2 doesn't return an error.
6748//
6749// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
6750// in the AWS Site-to-Site VPN User Guide.
6751//
6752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6753// with awserr.Error's Code and Message methods to get detailed information about
6754// the error.
6755//
6756// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6757// API operation CreateVpnConnection for usage and error information.
6758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
6759func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
6760	req, out := c.CreateVpnConnectionRequest(input)
6761	return out, req.Send()
6762}
6763
6764// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
6765// the ability to pass a context and additional request options.
6766//
6767// See CreateVpnConnection for details on how to use this API operation.
6768//
6769// The context must be non-nil and will be used for request cancellation. If
6770// the context is nil a panic will occur. In the future the SDK may create
6771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6772// for more information on using Contexts.
6773func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
6774	req, out := c.CreateVpnConnectionRequest(input)
6775	req.SetContext(ctx)
6776	req.ApplyOptions(opts...)
6777	return out, req.Send()
6778}
6779
6780const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
6781
6782// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
6783// client's request for the CreateVpnConnectionRoute operation. The "output" return
6784// value will be populated with the request's response once the request completes
6785// successfully.
6786//
6787// Use "Send" method on the returned Request to send the API call to the service.
6788// the "output" return value is not valid until after Send returns without error.
6789//
6790// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
6791// API call, and error handling.
6792//
6793// This method is useful when you want to inject custom logic or configuration
6794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6795//
6796//
6797//    // Example sending a request using the CreateVpnConnectionRouteRequest method.
6798//    req, resp := client.CreateVpnConnectionRouteRequest(params)
6799//
6800//    err := req.Send()
6801//    if err == nil { // resp is now filled
6802//        fmt.Println(resp)
6803//    }
6804//
6805// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
6806func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
6807	op := &request.Operation{
6808		Name:       opCreateVpnConnectionRoute,
6809		HTTPMethod: "POST",
6810		HTTPPath:   "/",
6811	}
6812
6813	if input == nil {
6814		input = &CreateVpnConnectionRouteInput{}
6815	}
6816
6817	output = &CreateVpnConnectionRouteOutput{}
6818	req = c.newRequest(op, input, output)
6819	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6820	return
6821}
6822
6823// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
6824//
6825// Creates a static route associated with a VPN connection between an existing
6826// virtual private gateway and a VPN customer gateway. The static route allows
6827// traffic to be routed from the virtual private gateway to the VPN customer
6828// gateway.
6829//
6830// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
6831// in the AWS Site-to-Site VPN User Guide.
6832//
6833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6834// with awserr.Error's Code and Message methods to get detailed information about
6835// the error.
6836//
6837// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6838// API operation CreateVpnConnectionRoute for usage and error information.
6839// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
6840func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
6841	req, out := c.CreateVpnConnectionRouteRequest(input)
6842	return out, req.Send()
6843}
6844
6845// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
6846// the ability to pass a context and additional request options.
6847//
6848// See CreateVpnConnectionRoute for details on how to use this API operation.
6849//
6850// The context must be non-nil and will be used for request cancellation. If
6851// the context is nil a panic will occur. In the future the SDK may create
6852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6853// for more information on using Contexts.
6854func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
6855	req, out := c.CreateVpnConnectionRouteRequest(input)
6856	req.SetContext(ctx)
6857	req.ApplyOptions(opts...)
6858	return out, req.Send()
6859}
6860
6861const opCreateVpnGateway = "CreateVpnGateway"
6862
6863// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
6864// client's request for the CreateVpnGateway operation. The "output" return
6865// value will be populated with the request's response once the request completes
6866// successfully.
6867//
6868// Use "Send" method on the returned Request to send the API call to the service.
6869// the "output" return value is not valid until after Send returns without error.
6870//
6871// See CreateVpnGateway for more information on using the CreateVpnGateway
6872// API call, and error handling.
6873//
6874// This method is useful when you want to inject custom logic or configuration
6875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6876//
6877//
6878//    // Example sending a request using the CreateVpnGatewayRequest method.
6879//    req, resp := client.CreateVpnGatewayRequest(params)
6880//
6881//    err := req.Send()
6882//    if err == nil { // resp is now filled
6883//        fmt.Println(resp)
6884//    }
6885//
6886// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
6887func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
6888	op := &request.Operation{
6889		Name:       opCreateVpnGateway,
6890		HTTPMethod: "POST",
6891		HTTPPath:   "/",
6892	}
6893
6894	if input == nil {
6895		input = &CreateVpnGatewayInput{}
6896	}
6897
6898	output = &CreateVpnGatewayOutput{}
6899	req = c.newRequest(op, input, output)
6900	return
6901}
6902
6903// CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
6904//
6905// Creates a virtual private gateway. A virtual private gateway is the endpoint
6906// on the VPC side of your VPN connection. You can create a virtual private
6907// gateway before creating the VPC itself.
6908//
6909// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
6910// in the AWS Site-to-Site VPN User Guide.
6911//
6912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6913// with awserr.Error's Code and Message methods to get detailed information about
6914// the error.
6915//
6916// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6917// API operation CreateVpnGateway for usage and error information.
6918// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
6919func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
6920	req, out := c.CreateVpnGatewayRequest(input)
6921	return out, req.Send()
6922}
6923
6924// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
6925// the ability to pass a context and additional request options.
6926//
6927// See CreateVpnGateway for details on how to use this API operation.
6928//
6929// The context must be non-nil and will be used for request cancellation. If
6930// the context is nil a panic will occur. In the future the SDK may create
6931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6932// for more information on using Contexts.
6933func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
6934	req, out := c.CreateVpnGatewayRequest(input)
6935	req.SetContext(ctx)
6936	req.ApplyOptions(opts...)
6937	return out, req.Send()
6938}
6939
6940const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
6941
6942// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
6943// client's request for the DeleteClientVpnEndpoint operation. The "output" return
6944// value will be populated with the request's response once the request completes
6945// successfully.
6946//
6947// Use "Send" method on the returned Request to send the API call to the service.
6948// the "output" return value is not valid until after Send returns without error.
6949//
6950// See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
6951// API call, and error handling.
6952//
6953// This method is useful when you want to inject custom logic or configuration
6954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6955//
6956//
6957//    // Example sending a request using the DeleteClientVpnEndpointRequest method.
6958//    req, resp := client.DeleteClientVpnEndpointRequest(params)
6959//
6960//    err := req.Send()
6961//    if err == nil { // resp is now filled
6962//        fmt.Println(resp)
6963//    }
6964//
6965// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
6966func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
6967	op := &request.Operation{
6968		Name:       opDeleteClientVpnEndpoint,
6969		HTTPMethod: "POST",
6970		HTTPPath:   "/",
6971	}
6972
6973	if input == nil {
6974		input = &DeleteClientVpnEndpointInput{}
6975	}
6976
6977	output = &DeleteClientVpnEndpointOutput{}
6978	req = c.newRequest(op, input, output)
6979	return
6980}
6981
6982// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
6983//
6984// Deletes the specified Client VPN endpoint. You must disassociate all target
6985// networks before you can delete a Client VPN endpoint.
6986//
6987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6988// with awserr.Error's Code and Message methods to get detailed information about
6989// the error.
6990//
6991// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6992// API operation DeleteClientVpnEndpoint for usage and error information.
6993// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
6994func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
6995	req, out := c.DeleteClientVpnEndpointRequest(input)
6996	return out, req.Send()
6997}
6998
6999// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
7000// the ability to pass a context and additional request options.
7001//
7002// See DeleteClientVpnEndpoint for details on how to use this API operation.
7003//
7004// The context must be non-nil and will be used for request cancellation. If
7005// the context is nil a panic will occur. In the future the SDK may create
7006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7007// for more information on using Contexts.
7008func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
7009	req, out := c.DeleteClientVpnEndpointRequest(input)
7010	req.SetContext(ctx)
7011	req.ApplyOptions(opts...)
7012	return out, req.Send()
7013}
7014
7015const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
7016
7017// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
7018// client's request for the DeleteClientVpnRoute operation. The "output" return
7019// value will be populated with the request's response once the request completes
7020// successfully.
7021//
7022// Use "Send" method on the returned Request to send the API call to the service.
7023// the "output" return value is not valid until after Send returns without error.
7024//
7025// See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
7026// API call, and error handling.
7027//
7028// This method is useful when you want to inject custom logic or configuration
7029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7030//
7031//
7032//    // Example sending a request using the DeleteClientVpnRouteRequest method.
7033//    req, resp := client.DeleteClientVpnRouteRequest(params)
7034//
7035//    err := req.Send()
7036//    if err == nil { // resp is now filled
7037//        fmt.Println(resp)
7038//    }
7039//
7040// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
7041func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
7042	op := &request.Operation{
7043		Name:       opDeleteClientVpnRoute,
7044		HTTPMethod: "POST",
7045		HTTPPath:   "/",
7046	}
7047
7048	if input == nil {
7049		input = &DeleteClientVpnRouteInput{}
7050	}
7051
7052	output = &DeleteClientVpnRouteOutput{}
7053	req = c.newRequest(op, input, output)
7054	return
7055}
7056
7057// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
7058//
7059// Deletes a route from a Client VPN endpoint. You can only delete routes that
7060// you manually added using the CreateClientVpnRoute action. You cannot delete
7061// routes that were automatically added when associating a subnet. To remove
7062// routes that have been automatically added, disassociate the target subnet
7063// from the Client VPN endpoint.
7064//
7065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7066// with awserr.Error's Code and Message methods to get detailed information about
7067// the error.
7068//
7069// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7070// API operation DeleteClientVpnRoute for usage and error information.
7071// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
7072func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
7073	req, out := c.DeleteClientVpnRouteRequest(input)
7074	return out, req.Send()
7075}
7076
7077// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
7078// the ability to pass a context and additional request options.
7079//
7080// See DeleteClientVpnRoute for details on how to use this API operation.
7081//
7082// The context must be non-nil and will be used for request cancellation. If
7083// the context is nil a panic will occur. In the future the SDK may create
7084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7085// for more information on using Contexts.
7086func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
7087	req, out := c.DeleteClientVpnRouteRequest(input)
7088	req.SetContext(ctx)
7089	req.ApplyOptions(opts...)
7090	return out, req.Send()
7091}
7092
7093const opDeleteCustomerGateway = "DeleteCustomerGateway"
7094
7095// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
7096// client's request for the DeleteCustomerGateway operation. The "output" return
7097// value will be populated with the request's response once the request completes
7098// successfully.
7099//
7100// Use "Send" method on the returned Request to send the API call to the service.
7101// the "output" return value is not valid until after Send returns without error.
7102//
7103// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
7104// API call, and error handling.
7105//
7106// This method is useful when you want to inject custom logic or configuration
7107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7108//
7109//
7110//    // Example sending a request using the DeleteCustomerGatewayRequest method.
7111//    req, resp := client.DeleteCustomerGatewayRequest(params)
7112//
7113//    err := req.Send()
7114//    if err == nil { // resp is now filled
7115//        fmt.Println(resp)
7116//    }
7117//
7118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
7119func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
7120	op := &request.Operation{
7121		Name:       opDeleteCustomerGateway,
7122		HTTPMethod: "POST",
7123		HTTPPath:   "/",
7124	}
7125
7126	if input == nil {
7127		input = &DeleteCustomerGatewayInput{}
7128	}
7129
7130	output = &DeleteCustomerGatewayOutput{}
7131	req = c.newRequest(op, input, output)
7132	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7133	return
7134}
7135
7136// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
7137//
7138// Deletes the specified customer gateway. You must delete the VPN connection
7139// before you can delete the customer gateway.
7140//
7141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7142// with awserr.Error's Code and Message methods to get detailed information about
7143// the error.
7144//
7145// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7146// API operation DeleteCustomerGateway for usage and error information.
7147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
7148func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
7149	req, out := c.DeleteCustomerGatewayRequest(input)
7150	return out, req.Send()
7151}
7152
7153// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
7154// the ability to pass a context and additional request options.
7155//
7156// See DeleteCustomerGateway for details on how to use this API operation.
7157//
7158// The context must be non-nil and will be used for request cancellation. If
7159// the context is nil a panic will occur. In the future the SDK may create
7160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7161// for more information on using Contexts.
7162func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
7163	req, out := c.DeleteCustomerGatewayRequest(input)
7164	req.SetContext(ctx)
7165	req.ApplyOptions(opts...)
7166	return out, req.Send()
7167}
7168
7169const opDeleteDhcpOptions = "DeleteDhcpOptions"
7170
7171// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
7172// client's request for the DeleteDhcpOptions operation. The "output" return
7173// value will be populated with the request's response once the request completes
7174// successfully.
7175//
7176// Use "Send" method on the returned Request to send the API call to the service.
7177// the "output" return value is not valid until after Send returns without error.
7178//
7179// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
7180// API call, and error handling.
7181//
7182// This method is useful when you want to inject custom logic or configuration
7183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7184//
7185//
7186//    // Example sending a request using the DeleteDhcpOptionsRequest method.
7187//    req, resp := client.DeleteDhcpOptionsRequest(params)
7188//
7189//    err := req.Send()
7190//    if err == nil { // resp is now filled
7191//        fmt.Println(resp)
7192//    }
7193//
7194// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
7195func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
7196	op := &request.Operation{
7197		Name:       opDeleteDhcpOptions,
7198		HTTPMethod: "POST",
7199		HTTPPath:   "/",
7200	}
7201
7202	if input == nil {
7203		input = &DeleteDhcpOptionsInput{}
7204	}
7205
7206	output = &DeleteDhcpOptionsOutput{}
7207	req = c.newRequest(op, input, output)
7208	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7209	return
7210}
7211
7212// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
7213//
7214// Deletes the specified set of DHCP options. You must disassociate the set
7215// of DHCP options before you can delete it. You can disassociate the set of
7216// DHCP options by associating either a new set of options or the default set
7217// of options with the VPC.
7218//
7219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7220// with awserr.Error's Code and Message methods to get detailed information about
7221// the error.
7222//
7223// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7224// API operation DeleteDhcpOptions for usage and error information.
7225// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
7226func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
7227	req, out := c.DeleteDhcpOptionsRequest(input)
7228	return out, req.Send()
7229}
7230
7231// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
7232// the ability to pass a context and additional request options.
7233//
7234// See DeleteDhcpOptions for details on how to use this API operation.
7235//
7236// The context must be non-nil and will be used for request cancellation. If
7237// the context is nil a panic will occur. In the future the SDK may create
7238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7239// for more information on using Contexts.
7240func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
7241	req, out := c.DeleteDhcpOptionsRequest(input)
7242	req.SetContext(ctx)
7243	req.ApplyOptions(opts...)
7244	return out, req.Send()
7245}
7246
7247const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
7248
7249// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
7250// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
7251// value will be populated with the request's response once the request completes
7252// successfully.
7253//
7254// Use "Send" method on the returned Request to send the API call to the service.
7255// the "output" return value is not valid until after Send returns without error.
7256//
7257// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
7258// API call, and error handling.
7259//
7260// This method is useful when you want to inject custom logic or configuration
7261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7262//
7263//
7264//    // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
7265//    req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
7266//
7267//    err := req.Send()
7268//    if err == nil { // resp is now filled
7269//        fmt.Println(resp)
7270//    }
7271//
7272// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
7273func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
7274	op := &request.Operation{
7275		Name:       opDeleteEgressOnlyInternetGateway,
7276		HTTPMethod: "POST",
7277		HTTPPath:   "/",
7278	}
7279
7280	if input == nil {
7281		input = &DeleteEgressOnlyInternetGatewayInput{}
7282	}
7283
7284	output = &DeleteEgressOnlyInternetGatewayOutput{}
7285	req = c.newRequest(op, input, output)
7286	return
7287}
7288
7289// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
7290//
7291// Deletes an egress-only internet gateway.
7292//
7293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7294// with awserr.Error's Code and Message methods to get detailed information about
7295// the error.
7296//
7297// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7298// API operation DeleteEgressOnlyInternetGateway for usage and error information.
7299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
7300func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
7301	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
7302	return out, req.Send()
7303}
7304
7305// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
7306// the ability to pass a context and additional request options.
7307//
7308// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
7309//
7310// The context must be non-nil and will be used for request cancellation. If
7311// the context is nil a panic will occur. In the future the SDK may create
7312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7313// for more information on using Contexts.
7314func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
7315	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
7316	req.SetContext(ctx)
7317	req.ApplyOptions(opts...)
7318	return out, req.Send()
7319}
7320
7321const opDeleteFleets = "DeleteFleets"
7322
7323// DeleteFleetsRequest generates a "aws/request.Request" representing the
7324// client's request for the DeleteFleets operation. The "output" return
7325// value will be populated with the request's response once the request completes
7326// successfully.
7327//
7328// Use "Send" method on the returned Request to send the API call to the service.
7329// the "output" return value is not valid until after Send returns without error.
7330//
7331// See DeleteFleets for more information on using the DeleteFleets
7332// API call, and error handling.
7333//
7334// This method is useful when you want to inject custom logic or configuration
7335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7336//
7337//
7338//    // Example sending a request using the DeleteFleetsRequest method.
7339//    req, resp := client.DeleteFleetsRequest(params)
7340//
7341//    err := req.Send()
7342//    if err == nil { // resp is now filled
7343//        fmt.Println(resp)
7344//    }
7345//
7346// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
7347func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
7348	op := &request.Operation{
7349		Name:       opDeleteFleets,
7350		HTTPMethod: "POST",
7351		HTTPPath:   "/",
7352	}
7353
7354	if input == nil {
7355		input = &DeleteFleetsInput{}
7356	}
7357
7358	output = &DeleteFleetsOutput{}
7359	req = c.newRequest(op, input, output)
7360	return
7361}
7362
7363// DeleteFleets API operation for Amazon Elastic Compute Cloud.
7364//
7365// Deletes the specified EC2 Fleet.
7366//
7367// After you delete an EC2 Fleet, it launches no new instances. You must specify
7368// whether an EC2 Fleet should also terminate its instances. If you terminate
7369// the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise,
7370// the EC2 Fleet enters the deleted_running state, and the instances continue
7371// to run until they are interrupted or you terminate them manually.
7372//
7373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7374// with awserr.Error's Code and Message methods to get detailed information about
7375// the error.
7376//
7377// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7378// API operation DeleteFleets for usage and error information.
7379// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
7380func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
7381	req, out := c.DeleteFleetsRequest(input)
7382	return out, req.Send()
7383}
7384
7385// DeleteFleetsWithContext is the same as DeleteFleets with the addition of
7386// the ability to pass a context and additional request options.
7387//
7388// See DeleteFleets for details on how to use this API operation.
7389//
7390// The context must be non-nil and will be used for request cancellation. If
7391// the context is nil a panic will occur. In the future the SDK may create
7392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7393// for more information on using Contexts.
7394func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
7395	req, out := c.DeleteFleetsRequest(input)
7396	req.SetContext(ctx)
7397	req.ApplyOptions(opts...)
7398	return out, req.Send()
7399}
7400
7401const opDeleteFlowLogs = "DeleteFlowLogs"
7402
7403// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
7404// client's request for the DeleteFlowLogs operation. The "output" return
7405// value will be populated with the request's response once the request completes
7406// successfully.
7407//
7408// Use "Send" method on the returned Request to send the API call to the service.
7409// the "output" return value is not valid until after Send returns without error.
7410//
7411// See DeleteFlowLogs for more information on using the DeleteFlowLogs
7412// API call, and error handling.
7413//
7414// This method is useful when you want to inject custom logic or configuration
7415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7416//
7417//
7418//    // Example sending a request using the DeleteFlowLogsRequest method.
7419//    req, resp := client.DeleteFlowLogsRequest(params)
7420//
7421//    err := req.Send()
7422//    if err == nil { // resp is now filled
7423//        fmt.Println(resp)
7424//    }
7425//
7426// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
7427func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
7428	op := &request.Operation{
7429		Name:       opDeleteFlowLogs,
7430		HTTPMethod: "POST",
7431		HTTPPath:   "/",
7432	}
7433
7434	if input == nil {
7435		input = &DeleteFlowLogsInput{}
7436	}
7437
7438	output = &DeleteFlowLogsOutput{}
7439	req = c.newRequest(op, input, output)
7440	return
7441}
7442
7443// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
7444//
7445// Deletes one or more flow logs.
7446//
7447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7448// with awserr.Error's Code and Message methods to get detailed information about
7449// the error.
7450//
7451// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7452// API operation DeleteFlowLogs for usage and error information.
7453// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
7454func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
7455	req, out := c.DeleteFlowLogsRequest(input)
7456	return out, req.Send()
7457}
7458
7459// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
7460// the ability to pass a context and additional request options.
7461//
7462// See DeleteFlowLogs for details on how to use this API operation.
7463//
7464// The context must be non-nil and will be used for request cancellation. If
7465// the context is nil a panic will occur. In the future the SDK may create
7466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7467// for more information on using Contexts.
7468func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
7469	req, out := c.DeleteFlowLogsRequest(input)
7470	req.SetContext(ctx)
7471	req.ApplyOptions(opts...)
7472	return out, req.Send()
7473}
7474
7475const opDeleteFpgaImage = "DeleteFpgaImage"
7476
7477// DeleteFpgaImageRequest generates a "aws/request.Request" representing the
7478// client's request for the DeleteFpgaImage operation. The "output" return
7479// value will be populated with the request's response once the request completes
7480// successfully.
7481//
7482// Use "Send" method on the returned Request to send the API call to the service.
7483// the "output" return value is not valid until after Send returns without error.
7484//
7485// See DeleteFpgaImage for more information on using the DeleteFpgaImage
7486// API call, and error handling.
7487//
7488// This method is useful when you want to inject custom logic or configuration
7489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7490//
7491//
7492//    // Example sending a request using the DeleteFpgaImageRequest method.
7493//    req, resp := client.DeleteFpgaImageRequest(params)
7494//
7495//    err := req.Send()
7496//    if err == nil { // resp is now filled
7497//        fmt.Println(resp)
7498//    }
7499//
7500// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
7501func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
7502	op := &request.Operation{
7503		Name:       opDeleteFpgaImage,
7504		HTTPMethod: "POST",
7505		HTTPPath:   "/",
7506	}
7507
7508	if input == nil {
7509		input = &DeleteFpgaImageInput{}
7510	}
7511
7512	output = &DeleteFpgaImageOutput{}
7513	req = c.newRequest(op, input, output)
7514	return
7515}
7516
7517// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
7518//
7519// Deletes the specified Amazon FPGA Image (AFI).
7520//
7521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7522// with awserr.Error's Code and Message methods to get detailed information about
7523// the error.
7524//
7525// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7526// API operation DeleteFpgaImage for usage and error information.
7527// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
7528func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
7529	req, out := c.DeleteFpgaImageRequest(input)
7530	return out, req.Send()
7531}
7532
7533// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
7534// the ability to pass a context and additional request options.
7535//
7536// See DeleteFpgaImage for details on how to use this API operation.
7537//
7538// The context must be non-nil and will be used for request cancellation. If
7539// the context is nil a panic will occur. In the future the SDK may create
7540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7541// for more information on using Contexts.
7542func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
7543	req, out := c.DeleteFpgaImageRequest(input)
7544	req.SetContext(ctx)
7545	req.ApplyOptions(opts...)
7546	return out, req.Send()
7547}
7548
7549const opDeleteInternetGateway = "DeleteInternetGateway"
7550
7551// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
7552// client's request for the DeleteInternetGateway operation. The "output" return
7553// value will be populated with the request's response once the request completes
7554// successfully.
7555//
7556// Use "Send" method on the returned Request to send the API call to the service.
7557// the "output" return value is not valid until after Send returns without error.
7558//
7559// See DeleteInternetGateway for more information on using the DeleteInternetGateway
7560// API call, and error handling.
7561//
7562// This method is useful when you want to inject custom logic or configuration
7563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7564//
7565//
7566//    // Example sending a request using the DeleteInternetGatewayRequest method.
7567//    req, resp := client.DeleteInternetGatewayRequest(params)
7568//
7569//    err := req.Send()
7570//    if err == nil { // resp is now filled
7571//        fmt.Println(resp)
7572//    }
7573//
7574// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
7575func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
7576	op := &request.Operation{
7577		Name:       opDeleteInternetGateway,
7578		HTTPMethod: "POST",
7579		HTTPPath:   "/",
7580	}
7581
7582	if input == nil {
7583		input = &DeleteInternetGatewayInput{}
7584	}
7585
7586	output = &DeleteInternetGatewayOutput{}
7587	req = c.newRequest(op, input, output)
7588	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7589	return
7590}
7591
7592// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
7593//
7594// Deletes the specified internet gateway. You must detach the internet gateway
7595// from the VPC before you can delete it.
7596//
7597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7598// with awserr.Error's Code and Message methods to get detailed information about
7599// the error.
7600//
7601// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7602// API operation DeleteInternetGateway for usage and error information.
7603// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
7604func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
7605	req, out := c.DeleteInternetGatewayRequest(input)
7606	return out, req.Send()
7607}
7608
7609// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
7610// the ability to pass a context and additional request options.
7611//
7612// See DeleteInternetGateway for details on how to use this API operation.
7613//
7614// The context must be non-nil and will be used for request cancellation. If
7615// the context is nil a panic will occur. In the future the SDK may create
7616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7617// for more information on using Contexts.
7618func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
7619	req, out := c.DeleteInternetGatewayRequest(input)
7620	req.SetContext(ctx)
7621	req.ApplyOptions(opts...)
7622	return out, req.Send()
7623}
7624
7625const opDeleteKeyPair = "DeleteKeyPair"
7626
7627// DeleteKeyPairRequest generates a "aws/request.Request" representing the
7628// client's request for the DeleteKeyPair operation. The "output" return
7629// value will be populated with the request's response once the request completes
7630// successfully.
7631//
7632// Use "Send" method on the returned Request to send the API call to the service.
7633// the "output" return value is not valid until after Send returns without error.
7634//
7635// See DeleteKeyPair for more information on using the DeleteKeyPair
7636// API call, and error handling.
7637//
7638// This method is useful when you want to inject custom logic or configuration
7639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7640//
7641//
7642//    // Example sending a request using the DeleteKeyPairRequest method.
7643//    req, resp := client.DeleteKeyPairRequest(params)
7644//
7645//    err := req.Send()
7646//    if err == nil { // resp is now filled
7647//        fmt.Println(resp)
7648//    }
7649//
7650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
7651func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
7652	op := &request.Operation{
7653		Name:       opDeleteKeyPair,
7654		HTTPMethod: "POST",
7655		HTTPPath:   "/",
7656	}
7657
7658	if input == nil {
7659		input = &DeleteKeyPairInput{}
7660	}
7661
7662	output = &DeleteKeyPairOutput{}
7663	req = c.newRequest(op, input, output)
7664	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7665	return
7666}
7667
7668// DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
7669//
7670// Deletes the specified key pair, by removing the public key from Amazon EC2.
7671//
7672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7673// with awserr.Error's Code and Message methods to get detailed information about
7674// the error.
7675//
7676// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7677// API operation DeleteKeyPair for usage and error information.
7678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
7679func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
7680	req, out := c.DeleteKeyPairRequest(input)
7681	return out, req.Send()
7682}
7683
7684// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
7685// the ability to pass a context and additional request options.
7686//
7687// See DeleteKeyPair for details on how to use this API operation.
7688//
7689// The context must be non-nil and will be used for request cancellation. If
7690// the context is nil a panic will occur. In the future the SDK may create
7691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7692// for more information on using Contexts.
7693func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
7694	req, out := c.DeleteKeyPairRequest(input)
7695	req.SetContext(ctx)
7696	req.ApplyOptions(opts...)
7697	return out, req.Send()
7698}
7699
7700const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
7701
7702// DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
7703// client's request for the DeleteLaunchTemplate operation. The "output" return
7704// value will be populated with the request's response once the request completes
7705// successfully.
7706//
7707// Use "Send" method on the returned Request to send the API call to the service.
7708// the "output" return value is not valid until after Send returns without error.
7709//
7710// See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
7711// API call, and error handling.
7712//
7713// This method is useful when you want to inject custom logic or configuration
7714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7715//
7716//
7717//    // Example sending a request using the DeleteLaunchTemplateRequest method.
7718//    req, resp := client.DeleteLaunchTemplateRequest(params)
7719//
7720//    err := req.Send()
7721//    if err == nil { // resp is now filled
7722//        fmt.Println(resp)
7723//    }
7724//
7725// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
7726func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
7727	op := &request.Operation{
7728		Name:       opDeleteLaunchTemplate,
7729		HTTPMethod: "POST",
7730		HTTPPath:   "/",
7731	}
7732
7733	if input == nil {
7734		input = &DeleteLaunchTemplateInput{}
7735	}
7736
7737	output = &DeleteLaunchTemplateOutput{}
7738	req = c.newRequest(op, input, output)
7739	return
7740}
7741
7742// DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
7743//
7744// Deletes a launch template. Deleting a launch template deletes all of its
7745// versions.
7746//
7747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7748// with awserr.Error's Code and Message methods to get detailed information about
7749// the error.
7750//
7751// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7752// API operation DeleteLaunchTemplate for usage and error information.
7753// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
7754func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
7755	req, out := c.DeleteLaunchTemplateRequest(input)
7756	return out, req.Send()
7757}
7758
7759// DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
7760// the ability to pass a context and additional request options.
7761//
7762// See DeleteLaunchTemplate for details on how to use this API operation.
7763//
7764// The context must be non-nil and will be used for request cancellation. If
7765// the context is nil a panic will occur. In the future the SDK may create
7766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7767// for more information on using Contexts.
7768func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
7769	req, out := c.DeleteLaunchTemplateRequest(input)
7770	req.SetContext(ctx)
7771	req.ApplyOptions(opts...)
7772	return out, req.Send()
7773}
7774
7775const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
7776
7777// DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
7778// client's request for the DeleteLaunchTemplateVersions operation. The "output" return
7779// value will be populated with the request's response once the request completes
7780// successfully.
7781//
7782// Use "Send" method on the returned Request to send the API call to the service.
7783// the "output" return value is not valid until after Send returns without error.
7784//
7785// See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
7786// API call, and error handling.
7787//
7788// This method is useful when you want to inject custom logic or configuration
7789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7790//
7791//
7792//    // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
7793//    req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
7794//
7795//    err := req.Send()
7796//    if err == nil { // resp is now filled
7797//        fmt.Println(resp)
7798//    }
7799//
7800// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
7801func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
7802	op := &request.Operation{
7803		Name:       opDeleteLaunchTemplateVersions,
7804		HTTPMethod: "POST",
7805		HTTPPath:   "/",
7806	}
7807
7808	if input == nil {
7809		input = &DeleteLaunchTemplateVersionsInput{}
7810	}
7811
7812	output = &DeleteLaunchTemplateVersionsOutput{}
7813	req = c.newRequest(op, input, output)
7814	return
7815}
7816
7817// DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
7818//
7819// Deletes one or more versions of a launch template. You cannot delete the
7820// default version of a launch template; you must first assign a different version
7821// as the default. If the default version is the only version for the launch
7822// template, you must delete the entire launch template using DeleteLaunchTemplate.
7823//
7824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7825// with awserr.Error's Code and Message methods to get detailed information about
7826// the error.
7827//
7828// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7829// API operation DeleteLaunchTemplateVersions for usage and error information.
7830// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
7831func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
7832	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
7833	return out, req.Send()
7834}
7835
7836// DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
7837// the ability to pass a context and additional request options.
7838//
7839// See DeleteLaunchTemplateVersions for details on how to use this API operation.
7840//
7841// The context must be non-nil and will be used for request cancellation. If
7842// the context is nil a panic will occur. In the future the SDK may create
7843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7844// for more information on using Contexts.
7845func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
7846	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
7847	req.SetContext(ctx)
7848	req.ApplyOptions(opts...)
7849	return out, req.Send()
7850}
7851
7852const opDeleteNatGateway = "DeleteNatGateway"
7853
7854// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
7855// client's request for the DeleteNatGateway operation. The "output" return
7856// value will be populated with the request's response once the request completes
7857// successfully.
7858//
7859// Use "Send" method on the returned Request to send the API call to the service.
7860// the "output" return value is not valid until after Send returns without error.
7861//
7862// See DeleteNatGateway for more information on using the DeleteNatGateway
7863// API call, and error handling.
7864//
7865// This method is useful when you want to inject custom logic or configuration
7866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7867//
7868//
7869//    // Example sending a request using the DeleteNatGatewayRequest method.
7870//    req, resp := client.DeleteNatGatewayRequest(params)
7871//
7872//    err := req.Send()
7873//    if err == nil { // resp is now filled
7874//        fmt.Println(resp)
7875//    }
7876//
7877// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
7878func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
7879	op := &request.Operation{
7880		Name:       opDeleteNatGateway,
7881		HTTPMethod: "POST",
7882		HTTPPath:   "/",
7883	}
7884
7885	if input == nil {
7886		input = &DeleteNatGatewayInput{}
7887	}
7888
7889	output = &DeleteNatGatewayOutput{}
7890	req = c.newRequest(op, input, output)
7891	return
7892}
7893
7894// DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
7895//
7896// Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
7897// Elastic IP address, but does not release the address from your account. Deleting
7898// a NAT gateway does not delete any NAT gateway routes in your route tables.
7899//
7900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7901// with awserr.Error's Code and Message methods to get detailed information about
7902// the error.
7903//
7904// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7905// API operation DeleteNatGateway for usage and error information.
7906// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
7907func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
7908	req, out := c.DeleteNatGatewayRequest(input)
7909	return out, req.Send()
7910}
7911
7912// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
7913// the ability to pass a context and additional request options.
7914//
7915// See DeleteNatGateway for details on how to use this API operation.
7916//
7917// The context must be non-nil and will be used for request cancellation. If
7918// the context is nil a panic will occur. In the future the SDK may create
7919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7920// for more information on using Contexts.
7921func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
7922	req, out := c.DeleteNatGatewayRequest(input)
7923	req.SetContext(ctx)
7924	req.ApplyOptions(opts...)
7925	return out, req.Send()
7926}
7927
7928const opDeleteNetworkAcl = "DeleteNetworkAcl"
7929
7930// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
7931// client's request for the DeleteNetworkAcl operation. The "output" return
7932// value will be populated with the request's response once the request completes
7933// successfully.
7934//
7935// Use "Send" method on the returned Request to send the API call to the service.
7936// the "output" return value is not valid until after Send returns without error.
7937//
7938// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
7939// API call, and error handling.
7940//
7941// This method is useful when you want to inject custom logic or configuration
7942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7943//
7944//
7945//    // Example sending a request using the DeleteNetworkAclRequest method.
7946//    req, resp := client.DeleteNetworkAclRequest(params)
7947//
7948//    err := req.Send()
7949//    if err == nil { // resp is now filled
7950//        fmt.Println(resp)
7951//    }
7952//
7953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
7954func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
7955	op := &request.Operation{
7956		Name:       opDeleteNetworkAcl,
7957		HTTPMethod: "POST",
7958		HTTPPath:   "/",
7959	}
7960
7961	if input == nil {
7962		input = &DeleteNetworkAclInput{}
7963	}
7964
7965	output = &DeleteNetworkAclOutput{}
7966	req = c.newRequest(op, input, output)
7967	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7968	return
7969}
7970
7971// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
7972//
7973// Deletes the specified network ACL. You can't delete the ACL if it's associated
7974// with any subnets. You can't delete the default network ACL.
7975//
7976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7977// with awserr.Error's Code and Message methods to get detailed information about
7978// the error.
7979//
7980// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7981// API operation DeleteNetworkAcl for usage and error information.
7982// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
7983func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
7984	req, out := c.DeleteNetworkAclRequest(input)
7985	return out, req.Send()
7986}
7987
7988// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
7989// the ability to pass a context and additional request options.
7990//
7991// See DeleteNetworkAcl for details on how to use this API operation.
7992//
7993// The context must be non-nil and will be used for request cancellation. If
7994// the context is nil a panic will occur. In the future the SDK may create
7995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7996// for more information on using Contexts.
7997func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
7998	req, out := c.DeleteNetworkAclRequest(input)
7999	req.SetContext(ctx)
8000	req.ApplyOptions(opts...)
8001	return out, req.Send()
8002}
8003
8004const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
8005
8006// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
8007// client's request for the DeleteNetworkAclEntry operation. The "output" return
8008// value will be populated with the request's response once the request completes
8009// successfully.
8010//
8011// Use "Send" method on the returned Request to send the API call to the service.
8012// the "output" return value is not valid until after Send returns without error.
8013//
8014// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
8015// API call, and error handling.
8016//
8017// This method is useful when you want to inject custom logic or configuration
8018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8019//
8020//
8021//    // Example sending a request using the DeleteNetworkAclEntryRequest method.
8022//    req, resp := client.DeleteNetworkAclEntryRequest(params)
8023//
8024//    err := req.Send()
8025//    if err == nil { // resp is now filled
8026//        fmt.Println(resp)
8027//    }
8028//
8029// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
8030func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
8031	op := &request.Operation{
8032		Name:       opDeleteNetworkAclEntry,
8033		HTTPMethod: "POST",
8034		HTTPPath:   "/",
8035	}
8036
8037	if input == nil {
8038		input = &DeleteNetworkAclEntryInput{}
8039	}
8040
8041	output = &DeleteNetworkAclEntryOutput{}
8042	req = c.newRequest(op, input, output)
8043	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8044	return
8045}
8046
8047// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
8048//
8049// Deletes the specified ingress or egress entry (rule) from the specified network
8050// ACL.
8051//
8052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8053// with awserr.Error's Code and Message methods to get detailed information about
8054// the error.
8055//
8056// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8057// API operation DeleteNetworkAclEntry for usage and error information.
8058// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
8059func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
8060	req, out := c.DeleteNetworkAclEntryRequest(input)
8061	return out, req.Send()
8062}
8063
8064// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
8065// the ability to pass a context and additional request options.
8066//
8067// See DeleteNetworkAclEntry for details on how to use this API operation.
8068//
8069// The context must be non-nil and will be used for request cancellation. If
8070// the context is nil a panic will occur. In the future the SDK may create
8071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8072// for more information on using Contexts.
8073func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
8074	req, out := c.DeleteNetworkAclEntryRequest(input)
8075	req.SetContext(ctx)
8076	req.ApplyOptions(opts...)
8077	return out, req.Send()
8078}
8079
8080const opDeleteNetworkInterface = "DeleteNetworkInterface"
8081
8082// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
8083// client's request for the DeleteNetworkInterface operation. The "output" return
8084// value will be populated with the request's response once the request completes
8085// successfully.
8086//
8087// Use "Send" method on the returned Request to send the API call to the service.
8088// the "output" return value is not valid until after Send returns without error.
8089//
8090// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
8091// API call, and error handling.
8092//
8093// This method is useful when you want to inject custom logic or configuration
8094// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8095//
8096//
8097//    // Example sending a request using the DeleteNetworkInterfaceRequest method.
8098//    req, resp := client.DeleteNetworkInterfaceRequest(params)
8099//
8100//    err := req.Send()
8101//    if err == nil { // resp is now filled
8102//        fmt.Println(resp)
8103//    }
8104//
8105// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
8106func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
8107	op := &request.Operation{
8108		Name:       opDeleteNetworkInterface,
8109		HTTPMethod: "POST",
8110		HTTPPath:   "/",
8111	}
8112
8113	if input == nil {
8114		input = &DeleteNetworkInterfaceInput{}
8115	}
8116
8117	output = &DeleteNetworkInterfaceOutput{}
8118	req = c.newRequest(op, input, output)
8119	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8120	return
8121}
8122
8123// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
8124//
8125// Deletes the specified network interface. You must detach the network interface
8126// before you can delete it.
8127//
8128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8129// with awserr.Error's Code and Message methods to get detailed information about
8130// the error.
8131//
8132// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8133// API operation DeleteNetworkInterface for usage and error information.
8134// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
8135func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
8136	req, out := c.DeleteNetworkInterfaceRequest(input)
8137	return out, req.Send()
8138}
8139
8140// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
8141// the ability to pass a context and additional request options.
8142//
8143// See DeleteNetworkInterface for details on how to use this API operation.
8144//
8145// The context must be non-nil and will be used for request cancellation. If
8146// the context is nil a panic will occur. In the future the SDK may create
8147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8148// for more information on using Contexts.
8149func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
8150	req, out := c.DeleteNetworkInterfaceRequest(input)
8151	req.SetContext(ctx)
8152	req.ApplyOptions(opts...)
8153	return out, req.Send()
8154}
8155
8156const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
8157
8158// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
8159// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
8160// value will be populated with the request's response once the request completes
8161// successfully.
8162//
8163// Use "Send" method on the returned Request to send the API call to the service.
8164// the "output" return value is not valid until after Send returns without error.
8165//
8166// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
8167// API call, and error handling.
8168//
8169// This method is useful when you want to inject custom logic or configuration
8170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8171//
8172//
8173//    // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
8174//    req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
8175//
8176//    err := req.Send()
8177//    if err == nil { // resp is now filled
8178//        fmt.Println(resp)
8179//    }
8180//
8181// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
8182func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
8183	op := &request.Operation{
8184		Name:       opDeleteNetworkInterfacePermission,
8185		HTTPMethod: "POST",
8186		HTTPPath:   "/",
8187	}
8188
8189	if input == nil {
8190		input = &DeleteNetworkInterfacePermissionInput{}
8191	}
8192
8193	output = &DeleteNetworkInterfacePermissionOutput{}
8194	req = c.newRequest(op, input, output)
8195	return
8196}
8197
8198// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
8199//
8200// Deletes a permission for a network interface. By default, you cannot delete
8201// the permission if the account for which you're removing the permission has
8202// attached the network interface to an instance. However, you can force delete
8203// the permission, regardless of any attachment.
8204//
8205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8206// with awserr.Error's Code and Message methods to get detailed information about
8207// the error.
8208//
8209// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8210// API operation DeleteNetworkInterfacePermission for usage and error information.
8211// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
8212func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
8213	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
8214	return out, req.Send()
8215}
8216
8217// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
8218// the ability to pass a context and additional request options.
8219//
8220// See DeleteNetworkInterfacePermission for details on how to use this API operation.
8221//
8222// The context must be non-nil and will be used for request cancellation. If
8223// the context is nil a panic will occur. In the future the SDK may create
8224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8225// for more information on using Contexts.
8226func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
8227	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
8228	req.SetContext(ctx)
8229	req.ApplyOptions(opts...)
8230	return out, req.Send()
8231}
8232
8233const opDeletePlacementGroup = "DeletePlacementGroup"
8234
8235// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
8236// client's request for the DeletePlacementGroup operation. The "output" return
8237// value will be populated with the request's response once the request completes
8238// successfully.
8239//
8240// Use "Send" method on the returned Request to send the API call to the service.
8241// the "output" return value is not valid until after Send returns without error.
8242//
8243// See DeletePlacementGroup for more information on using the DeletePlacementGroup
8244// API call, and error handling.
8245//
8246// This method is useful when you want to inject custom logic or configuration
8247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8248//
8249//
8250//    // Example sending a request using the DeletePlacementGroupRequest method.
8251//    req, resp := client.DeletePlacementGroupRequest(params)
8252//
8253//    err := req.Send()
8254//    if err == nil { // resp is now filled
8255//        fmt.Println(resp)
8256//    }
8257//
8258// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
8259func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
8260	op := &request.Operation{
8261		Name:       opDeletePlacementGroup,
8262		HTTPMethod: "POST",
8263		HTTPPath:   "/",
8264	}
8265
8266	if input == nil {
8267		input = &DeletePlacementGroupInput{}
8268	}
8269
8270	output = &DeletePlacementGroupOutput{}
8271	req = c.newRequest(op, input, output)
8272	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8273	return
8274}
8275
8276// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
8277//
8278// Deletes the specified placement group. You must terminate all instances in
8279// the placement group before you can delete the placement group. For more information,
8280// see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
8281// in the Amazon Elastic Compute Cloud User Guide.
8282//
8283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8284// with awserr.Error's Code and Message methods to get detailed information about
8285// the error.
8286//
8287// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8288// API operation DeletePlacementGroup for usage and error information.
8289// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
8290func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
8291	req, out := c.DeletePlacementGroupRequest(input)
8292	return out, req.Send()
8293}
8294
8295// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
8296// the ability to pass a context and additional request options.
8297//
8298// See DeletePlacementGroup for details on how to use this API operation.
8299//
8300// The context must be non-nil and will be used for request cancellation. If
8301// the context is nil a panic will occur. In the future the SDK may create
8302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8303// for more information on using Contexts.
8304func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
8305	req, out := c.DeletePlacementGroupRequest(input)
8306	req.SetContext(ctx)
8307	req.ApplyOptions(opts...)
8308	return out, req.Send()
8309}
8310
8311const opDeleteRoute = "DeleteRoute"
8312
8313// DeleteRouteRequest generates a "aws/request.Request" representing the
8314// client's request for the DeleteRoute operation. The "output" return
8315// value will be populated with the request's response once the request completes
8316// successfully.
8317//
8318// Use "Send" method on the returned Request to send the API call to the service.
8319// the "output" return value is not valid until after Send returns without error.
8320//
8321// See DeleteRoute for more information on using the DeleteRoute
8322// API call, and error handling.
8323//
8324// This method is useful when you want to inject custom logic or configuration
8325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8326//
8327//
8328//    // Example sending a request using the DeleteRouteRequest method.
8329//    req, resp := client.DeleteRouteRequest(params)
8330//
8331//    err := req.Send()
8332//    if err == nil { // resp is now filled
8333//        fmt.Println(resp)
8334//    }
8335//
8336// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
8337func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
8338	op := &request.Operation{
8339		Name:       opDeleteRoute,
8340		HTTPMethod: "POST",
8341		HTTPPath:   "/",
8342	}
8343
8344	if input == nil {
8345		input = &DeleteRouteInput{}
8346	}
8347
8348	output = &DeleteRouteOutput{}
8349	req = c.newRequest(op, input, output)
8350	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8351	return
8352}
8353
8354// DeleteRoute API operation for Amazon Elastic Compute Cloud.
8355//
8356// Deletes the specified route from the specified route table.
8357//
8358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8359// with awserr.Error's Code and Message methods to get detailed information about
8360// the error.
8361//
8362// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8363// API operation DeleteRoute for usage and error information.
8364// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
8365func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
8366	req, out := c.DeleteRouteRequest(input)
8367	return out, req.Send()
8368}
8369
8370// DeleteRouteWithContext is the same as DeleteRoute with the addition of
8371// the ability to pass a context and additional request options.
8372//
8373// See DeleteRoute for details on how to use this API operation.
8374//
8375// The context must be non-nil and will be used for request cancellation. If
8376// the context is nil a panic will occur. In the future the SDK may create
8377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8378// for more information on using Contexts.
8379func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
8380	req, out := c.DeleteRouteRequest(input)
8381	req.SetContext(ctx)
8382	req.ApplyOptions(opts...)
8383	return out, req.Send()
8384}
8385
8386const opDeleteRouteTable = "DeleteRouteTable"
8387
8388// DeleteRouteTableRequest generates a "aws/request.Request" representing the
8389// client's request for the DeleteRouteTable operation. The "output" return
8390// value will be populated with the request's response once the request completes
8391// successfully.
8392//
8393// Use "Send" method on the returned Request to send the API call to the service.
8394// the "output" return value is not valid until after Send returns without error.
8395//
8396// See DeleteRouteTable for more information on using the DeleteRouteTable
8397// API call, and error handling.
8398//
8399// This method is useful when you want to inject custom logic or configuration
8400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8401//
8402//
8403//    // Example sending a request using the DeleteRouteTableRequest method.
8404//    req, resp := client.DeleteRouteTableRequest(params)
8405//
8406//    err := req.Send()
8407//    if err == nil { // resp is now filled
8408//        fmt.Println(resp)
8409//    }
8410//
8411// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
8412func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
8413	op := &request.Operation{
8414		Name:       opDeleteRouteTable,
8415		HTTPMethod: "POST",
8416		HTTPPath:   "/",
8417	}
8418
8419	if input == nil {
8420		input = &DeleteRouteTableInput{}
8421	}
8422
8423	output = &DeleteRouteTableOutput{}
8424	req = c.newRequest(op, input, output)
8425	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8426	return
8427}
8428
8429// DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
8430//
8431// Deletes the specified route table. You must disassociate the route table
8432// from any subnets before you can delete it. You can't delete the main route
8433// table.
8434//
8435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8436// with awserr.Error's Code and Message methods to get detailed information about
8437// the error.
8438//
8439// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8440// API operation DeleteRouteTable for usage and error information.
8441// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
8442func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
8443	req, out := c.DeleteRouteTableRequest(input)
8444	return out, req.Send()
8445}
8446
8447// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
8448// the ability to pass a context and additional request options.
8449//
8450// See DeleteRouteTable for details on how to use this API operation.
8451//
8452// The context must be non-nil and will be used for request cancellation. If
8453// the context is nil a panic will occur. In the future the SDK may create
8454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8455// for more information on using Contexts.
8456func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
8457	req, out := c.DeleteRouteTableRequest(input)
8458	req.SetContext(ctx)
8459	req.ApplyOptions(opts...)
8460	return out, req.Send()
8461}
8462
8463const opDeleteSecurityGroup = "DeleteSecurityGroup"
8464
8465// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
8466// client's request for the DeleteSecurityGroup operation. The "output" return
8467// value will be populated with the request's response once the request completes
8468// successfully.
8469//
8470// Use "Send" method on the returned Request to send the API call to the service.
8471// the "output" return value is not valid until after Send returns without error.
8472//
8473// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
8474// API call, and error handling.
8475//
8476// This method is useful when you want to inject custom logic or configuration
8477// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8478//
8479//
8480//    // Example sending a request using the DeleteSecurityGroupRequest method.
8481//    req, resp := client.DeleteSecurityGroupRequest(params)
8482//
8483//    err := req.Send()
8484//    if err == nil { // resp is now filled
8485//        fmt.Println(resp)
8486//    }
8487//
8488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
8489func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
8490	op := &request.Operation{
8491		Name:       opDeleteSecurityGroup,
8492		HTTPMethod: "POST",
8493		HTTPPath:   "/",
8494	}
8495
8496	if input == nil {
8497		input = &DeleteSecurityGroupInput{}
8498	}
8499
8500	output = &DeleteSecurityGroupOutput{}
8501	req = c.newRequest(op, input, output)
8502	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8503	return
8504}
8505
8506// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
8507//
8508// Deletes a security group.
8509//
8510// If you attempt to delete a security group that is associated with an instance,
8511// or is referenced by another security group, the operation fails with InvalidGroup.InUse
8512// in EC2-Classic or DependencyViolation in EC2-VPC.
8513//
8514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8515// with awserr.Error's Code and Message methods to get detailed information about
8516// the error.
8517//
8518// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8519// API operation DeleteSecurityGroup for usage and error information.
8520// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
8521func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
8522	req, out := c.DeleteSecurityGroupRequest(input)
8523	return out, req.Send()
8524}
8525
8526// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
8527// the ability to pass a context and additional request options.
8528//
8529// See DeleteSecurityGroup for details on how to use this API operation.
8530//
8531// The context must be non-nil and will be used for request cancellation. If
8532// the context is nil a panic will occur. In the future the SDK may create
8533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8534// for more information on using Contexts.
8535func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
8536	req, out := c.DeleteSecurityGroupRequest(input)
8537	req.SetContext(ctx)
8538	req.ApplyOptions(opts...)
8539	return out, req.Send()
8540}
8541
8542const opDeleteSnapshot = "DeleteSnapshot"
8543
8544// DeleteSnapshotRequest generates a "aws/request.Request" representing the
8545// client's request for the DeleteSnapshot operation. The "output" return
8546// value will be populated with the request's response once the request completes
8547// successfully.
8548//
8549// Use "Send" method on the returned Request to send the API call to the service.
8550// the "output" return value is not valid until after Send returns without error.
8551//
8552// See DeleteSnapshot for more information on using the DeleteSnapshot
8553// API call, and error handling.
8554//
8555// This method is useful when you want to inject custom logic or configuration
8556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8557//
8558//
8559//    // Example sending a request using the DeleteSnapshotRequest method.
8560//    req, resp := client.DeleteSnapshotRequest(params)
8561//
8562//    err := req.Send()
8563//    if err == nil { // resp is now filled
8564//        fmt.Println(resp)
8565//    }
8566//
8567// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
8568func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
8569	op := &request.Operation{
8570		Name:       opDeleteSnapshot,
8571		HTTPMethod: "POST",
8572		HTTPPath:   "/",
8573	}
8574
8575	if input == nil {
8576		input = &DeleteSnapshotInput{}
8577	}
8578
8579	output = &DeleteSnapshotOutput{}
8580	req = c.newRequest(op, input, output)
8581	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8582	return
8583}
8584
8585// DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
8586//
8587// Deletes the specified snapshot.
8588//
8589// When you make periodic snapshots of a volume, the snapshots are incremental,
8590// and only the blocks on the device that have changed since your last snapshot
8591// are saved in the new snapshot. When you delete a snapshot, only the data
8592// not needed for any other snapshot is removed. So regardless of which prior
8593// snapshots have been deleted, all active snapshots will have access to all
8594// the information needed to restore the volume.
8595//
8596// You cannot delete a snapshot of the root device of an EBS volume used by
8597// a registered AMI. You must first de-register the AMI before you can delete
8598// the snapshot.
8599//
8600// For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
8601// in the Amazon Elastic Compute Cloud User Guide.
8602//
8603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8604// with awserr.Error's Code and Message methods to get detailed information about
8605// the error.
8606//
8607// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8608// API operation DeleteSnapshot for usage and error information.
8609// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
8610func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
8611	req, out := c.DeleteSnapshotRequest(input)
8612	return out, req.Send()
8613}
8614
8615// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
8616// the ability to pass a context and additional request options.
8617//
8618// See DeleteSnapshot for details on how to use this API operation.
8619//
8620// The context must be non-nil and will be used for request cancellation. If
8621// the context is nil a panic will occur. In the future the SDK may create
8622// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8623// for more information on using Contexts.
8624func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
8625	req, out := c.DeleteSnapshotRequest(input)
8626	req.SetContext(ctx)
8627	req.ApplyOptions(opts...)
8628	return out, req.Send()
8629}
8630
8631const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
8632
8633// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
8634// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
8635// value will be populated with the request's response once the request completes
8636// successfully.
8637//
8638// Use "Send" method on the returned Request to send the API call to the service.
8639// the "output" return value is not valid until after Send returns without error.
8640//
8641// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
8642// API call, and error handling.
8643//
8644// This method is useful when you want to inject custom logic or configuration
8645// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8646//
8647//
8648//    // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
8649//    req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
8650//
8651//    err := req.Send()
8652//    if err == nil { // resp is now filled
8653//        fmt.Println(resp)
8654//    }
8655//
8656// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
8657func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
8658	op := &request.Operation{
8659		Name:       opDeleteSpotDatafeedSubscription,
8660		HTTPMethod: "POST",
8661		HTTPPath:   "/",
8662	}
8663
8664	if input == nil {
8665		input = &DeleteSpotDatafeedSubscriptionInput{}
8666	}
8667
8668	output = &DeleteSpotDatafeedSubscriptionOutput{}
8669	req = c.newRequest(op, input, output)
8670	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8671	return
8672}
8673
8674// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
8675//
8676// Deletes the data feed for Spot Instances.
8677//
8678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8679// with awserr.Error's Code and Message methods to get detailed information about
8680// the error.
8681//
8682// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8683// API operation DeleteSpotDatafeedSubscription for usage and error information.
8684// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
8685func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
8686	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
8687	return out, req.Send()
8688}
8689
8690// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
8691// the ability to pass a context and additional request options.
8692//
8693// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
8694//
8695// The context must be non-nil and will be used for request cancellation. If
8696// the context is nil a panic will occur. In the future the SDK may create
8697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8698// for more information on using Contexts.
8699func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
8700	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
8701	req.SetContext(ctx)
8702	req.ApplyOptions(opts...)
8703	return out, req.Send()
8704}
8705
8706const opDeleteSubnet = "DeleteSubnet"
8707
8708// DeleteSubnetRequest generates a "aws/request.Request" representing the
8709// client's request for the DeleteSubnet operation. The "output" return
8710// value will be populated with the request's response once the request completes
8711// successfully.
8712//
8713// Use "Send" method on the returned Request to send the API call to the service.
8714// the "output" return value is not valid until after Send returns without error.
8715//
8716// See DeleteSubnet for more information on using the DeleteSubnet
8717// API call, and error handling.
8718//
8719// This method is useful when you want to inject custom logic or configuration
8720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8721//
8722//
8723//    // Example sending a request using the DeleteSubnetRequest method.
8724//    req, resp := client.DeleteSubnetRequest(params)
8725//
8726//    err := req.Send()
8727//    if err == nil { // resp is now filled
8728//        fmt.Println(resp)
8729//    }
8730//
8731// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
8732func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
8733	op := &request.Operation{
8734		Name:       opDeleteSubnet,
8735		HTTPMethod: "POST",
8736		HTTPPath:   "/",
8737	}
8738
8739	if input == nil {
8740		input = &DeleteSubnetInput{}
8741	}
8742
8743	output = &DeleteSubnetOutput{}
8744	req = c.newRequest(op, input, output)
8745	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8746	return
8747}
8748
8749// DeleteSubnet API operation for Amazon Elastic Compute Cloud.
8750//
8751// Deletes the specified subnet. You must terminate all running instances in
8752// the subnet before you can delete the subnet.
8753//
8754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8755// with awserr.Error's Code and Message methods to get detailed information about
8756// the error.
8757//
8758// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8759// API operation DeleteSubnet for usage and error information.
8760// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
8761func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
8762	req, out := c.DeleteSubnetRequest(input)
8763	return out, req.Send()
8764}
8765
8766// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
8767// the ability to pass a context and additional request options.
8768//
8769// See DeleteSubnet for details on how to use this API operation.
8770//
8771// The context must be non-nil and will be used for request cancellation. If
8772// the context is nil a panic will occur. In the future the SDK may create
8773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8774// for more information on using Contexts.
8775func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
8776	req, out := c.DeleteSubnetRequest(input)
8777	req.SetContext(ctx)
8778	req.ApplyOptions(opts...)
8779	return out, req.Send()
8780}
8781
8782const opDeleteTags = "DeleteTags"
8783
8784// DeleteTagsRequest generates a "aws/request.Request" representing the
8785// client's request for the DeleteTags operation. The "output" return
8786// value will be populated with the request's response once the request completes
8787// successfully.
8788//
8789// Use "Send" method on the returned Request to send the API call to the service.
8790// the "output" return value is not valid until after Send returns without error.
8791//
8792// See DeleteTags for more information on using the DeleteTags
8793// API call, and error handling.
8794//
8795// This method is useful when you want to inject custom logic or configuration
8796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8797//
8798//
8799//    // Example sending a request using the DeleteTagsRequest method.
8800//    req, resp := client.DeleteTagsRequest(params)
8801//
8802//    err := req.Send()
8803//    if err == nil { // resp is now filled
8804//        fmt.Println(resp)
8805//    }
8806//
8807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
8808func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
8809	op := &request.Operation{
8810		Name:       opDeleteTags,
8811		HTTPMethod: "POST",
8812		HTTPPath:   "/",
8813	}
8814
8815	if input == nil {
8816		input = &DeleteTagsInput{}
8817	}
8818
8819	output = &DeleteTagsOutput{}
8820	req = c.newRequest(op, input, output)
8821	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8822	return
8823}
8824
8825// DeleteTags API operation for Amazon Elastic Compute Cloud.
8826//
8827// Deletes the specified set of tags from the specified set of resources.
8828//
8829// To list the current tags, use DescribeTags. For more information about tags,
8830// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
8831// in the Amazon Elastic Compute Cloud User Guide.
8832//
8833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8834// with awserr.Error's Code and Message methods to get detailed information about
8835// the error.
8836//
8837// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8838// API operation DeleteTags for usage and error information.
8839// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
8840func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
8841	req, out := c.DeleteTagsRequest(input)
8842	return out, req.Send()
8843}
8844
8845// DeleteTagsWithContext is the same as DeleteTags with the addition of
8846// the ability to pass a context and additional request options.
8847//
8848// See DeleteTags for details on how to use this API operation.
8849//
8850// The context must be non-nil and will be used for request cancellation. If
8851// the context is nil a panic will occur. In the future the SDK may create
8852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8853// for more information on using Contexts.
8854func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
8855	req, out := c.DeleteTagsRequest(input)
8856	req.SetContext(ctx)
8857	req.ApplyOptions(opts...)
8858	return out, req.Send()
8859}
8860
8861const opDeleteTransitGateway = "DeleteTransitGateway"
8862
8863// DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
8864// client's request for the DeleteTransitGateway operation. The "output" return
8865// value will be populated with the request's response once the request completes
8866// successfully.
8867//
8868// Use "Send" method on the returned Request to send the API call to the service.
8869// the "output" return value is not valid until after Send returns without error.
8870//
8871// See DeleteTransitGateway for more information on using the DeleteTransitGateway
8872// API call, and error handling.
8873//
8874// This method is useful when you want to inject custom logic or configuration
8875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8876//
8877//
8878//    // Example sending a request using the DeleteTransitGatewayRequest method.
8879//    req, resp := client.DeleteTransitGatewayRequest(params)
8880//
8881//    err := req.Send()
8882//    if err == nil { // resp is now filled
8883//        fmt.Println(resp)
8884//    }
8885//
8886// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
8887func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
8888	op := &request.Operation{
8889		Name:       opDeleteTransitGateway,
8890		HTTPMethod: "POST",
8891		HTTPPath:   "/",
8892	}
8893
8894	if input == nil {
8895		input = &DeleteTransitGatewayInput{}
8896	}
8897
8898	output = &DeleteTransitGatewayOutput{}
8899	req = c.newRequest(op, input, output)
8900	return
8901}
8902
8903// DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
8904//
8905// Deletes the specified transit gateway.
8906//
8907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8908// with awserr.Error's Code and Message methods to get detailed information about
8909// the error.
8910//
8911// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8912// API operation DeleteTransitGateway for usage and error information.
8913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
8914func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
8915	req, out := c.DeleteTransitGatewayRequest(input)
8916	return out, req.Send()
8917}
8918
8919// DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
8920// the ability to pass a context and additional request options.
8921//
8922// See DeleteTransitGateway for details on how to use this API operation.
8923//
8924// The context must be non-nil and will be used for request cancellation. If
8925// the context is nil a panic will occur. In the future the SDK may create
8926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8927// for more information on using Contexts.
8928func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
8929	req, out := c.DeleteTransitGatewayRequest(input)
8930	req.SetContext(ctx)
8931	req.ApplyOptions(opts...)
8932	return out, req.Send()
8933}
8934
8935const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
8936
8937// DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
8938// client's request for the DeleteTransitGatewayRoute operation. The "output" return
8939// value will be populated with the request's response once the request completes
8940// successfully.
8941//
8942// Use "Send" method on the returned Request to send the API call to the service.
8943// the "output" return value is not valid until after Send returns without error.
8944//
8945// See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
8946// API call, and error handling.
8947//
8948// This method is useful when you want to inject custom logic or configuration
8949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8950//
8951//
8952//    // Example sending a request using the DeleteTransitGatewayRouteRequest method.
8953//    req, resp := client.DeleteTransitGatewayRouteRequest(params)
8954//
8955//    err := req.Send()
8956//    if err == nil { // resp is now filled
8957//        fmt.Println(resp)
8958//    }
8959//
8960// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
8961func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
8962	op := &request.Operation{
8963		Name:       opDeleteTransitGatewayRoute,
8964		HTTPMethod: "POST",
8965		HTTPPath:   "/",
8966	}
8967
8968	if input == nil {
8969		input = &DeleteTransitGatewayRouteInput{}
8970	}
8971
8972	output = &DeleteTransitGatewayRouteOutput{}
8973	req = c.newRequest(op, input, output)
8974	return
8975}
8976
8977// DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
8978//
8979// Deletes the specified route from the specified transit gateway route table.
8980//
8981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8982// with awserr.Error's Code and Message methods to get detailed information about
8983// the error.
8984//
8985// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8986// API operation DeleteTransitGatewayRoute for usage and error information.
8987// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
8988func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
8989	req, out := c.DeleteTransitGatewayRouteRequest(input)
8990	return out, req.Send()
8991}
8992
8993// DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
8994// the ability to pass a context and additional request options.
8995//
8996// See DeleteTransitGatewayRoute for details on how to use this API operation.
8997//
8998// The context must be non-nil and will be used for request cancellation. If
8999// the context is nil a panic will occur. In the future the SDK may create
9000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9001// for more information on using Contexts.
9002func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
9003	req, out := c.DeleteTransitGatewayRouteRequest(input)
9004	req.SetContext(ctx)
9005	req.ApplyOptions(opts...)
9006	return out, req.Send()
9007}
9008
9009const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
9010
9011// DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
9012// client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
9013// value will be populated with the request's response once the request completes
9014// successfully.
9015//
9016// Use "Send" method on the returned Request to send the API call to the service.
9017// the "output" return value is not valid until after Send returns without error.
9018//
9019// See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
9020// API call, and error handling.
9021//
9022// This method is useful when you want to inject custom logic or configuration
9023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9024//
9025//
9026//    // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
9027//    req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
9028//
9029//    err := req.Send()
9030//    if err == nil { // resp is now filled
9031//        fmt.Println(resp)
9032//    }
9033//
9034// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
9035func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
9036	op := &request.Operation{
9037		Name:       opDeleteTransitGatewayRouteTable,
9038		HTTPMethod: "POST",
9039		HTTPPath:   "/",
9040	}
9041
9042	if input == nil {
9043		input = &DeleteTransitGatewayRouteTableInput{}
9044	}
9045
9046	output = &DeleteTransitGatewayRouteTableOutput{}
9047	req = c.newRequest(op, input, output)
9048	return
9049}
9050
9051// DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
9052//
9053// Deletes the specified transit gateway route table. You must disassociate
9054// the route table from any transit gateway route tables before you can delete
9055// it.
9056//
9057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9058// with awserr.Error's Code and Message methods to get detailed information about
9059// the error.
9060//
9061// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9062// API operation DeleteTransitGatewayRouteTable for usage and error information.
9063// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
9064func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
9065	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
9066	return out, req.Send()
9067}
9068
9069// DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
9070// the ability to pass a context and additional request options.
9071//
9072// See DeleteTransitGatewayRouteTable for details on how to use this API operation.
9073//
9074// The context must be non-nil and will be used for request cancellation. If
9075// the context is nil a panic will occur. In the future the SDK may create
9076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9077// for more information on using Contexts.
9078func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
9079	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
9080	req.SetContext(ctx)
9081	req.ApplyOptions(opts...)
9082	return out, req.Send()
9083}
9084
9085const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
9086
9087// DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
9088// client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
9089// value will be populated with the request's response once the request completes
9090// successfully.
9091//
9092// Use "Send" method on the returned Request to send the API call to the service.
9093// the "output" return value is not valid until after Send returns without error.
9094//
9095// See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
9096// API call, and error handling.
9097//
9098// This method is useful when you want to inject custom logic or configuration
9099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9100//
9101//
9102//    // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
9103//    req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
9104//
9105//    err := req.Send()
9106//    if err == nil { // resp is now filled
9107//        fmt.Println(resp)
9108//    }
9109//
9110// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
9111func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
9112	op := &request.Operation{
9113		Name:       opDeleteTransitGatewayVpcAttachment,
9114		HTTPMethod: "POST",
9115		HTTPPath:   "/",
9116	}
9117
9118	if input == nil {
9119		input = &DeleteTransitGatewayVpcAttachmentInput{}
9120	}
9121
9122	output = &DeleteTransitGatewayVpcAttachmentOutput{}
9123	req = c.newRequest(op, input, output)
9124	return
9125}
9126
9127// DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
9128//
9129// Deletes the specified VPC attachment.
9130//
9131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9132// with awserr.Error's Code and Message methods to get detailed information about
9133// the error.
9134//
9135// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9136// API operation DeleteTransitGatewayVpcAttachment for usage and error information.
9137// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
9138func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
9139	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
9140	return out, req.Send()
9141}
9142
9143// DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
9144// the ability to pass a context and additional request options.
9145//
9146// See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
9147//
9148// The context must be non-nil and will be used for request cancellation. If
9149// the context is nil a panic will occur. In the future the SDK may create
9150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9151// for more information on using Contexts.
9152func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
9153	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
9154	req.SetContext(ctx)
9155	req.ApplyOptions(opts...)
9156	return out, req.Send()
9157}
9158
9159const opDeleteVolume = "DeleteVolume"
9160
9161// DeleteVolumeRequest generates a "aws/request.Request" representing the
9162// client's request for the DeleteVolume operation. The "output" return
9163// value will be populated with the request's response once the request completes
9164// successfully.
9165//
9166// Use "Send" method on the returned Request to send the API call to the service.
9167// the "output" return value is not valid until after Send returns without error.
9168//
9169// See DeleteVolume for more information on using the DeleteVolume
9170// API call, and error handling.
9171//
9172// This method is useful when you want to inject custom logic or configuration
9173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9174//
9175//
9176//    // Example sending a request using the DeleteVolumeRequest method.
9177//    req, resp := client.DeleteVolumeRequest(params)
9178//
9179//    err := req.Send()
9180//    if err == nil { // resp is now filled
9181//        fmt.Println(resp)
9182//    }
9183//
9184// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
9185func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
9186	op := &request.Operation{
9187		Name:       opDeleteVolume,
9188		HTTPMethod: "POST",
9189		HTTPPath:   "/",
9190	}
9191
9192	if input == nil {
9193		input = &DeleteVolumeInput{}
9194	}
9195
9196	output = &DeleteVolumeOutput{}
9197	req = c.newRequest(op, input, output)
9198	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9199	return
9200}
9201
9202// DeleteVolume API operation for Amazon Elastic Compute Cloud.
9203//
9204// Deletes the specified EBS volume. The volume must be in the available state
9205// (not attached to an instance).
9206//
9207// The volume can remain in the deleting state for several minutes.
9208//
9209// For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
9210// in the Amazon Elastic Compute Cloud User Guide.
9211//
9212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9213// with awserr.Error's Code and Message methods to get detailed information about
9214// the error.
9215//
9216// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9217// API operation DeleteVolume for usage and error information.
9218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
9219func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
9220	req, out := c.DeleteVolumeRequest(input)
9221	return out, req.Send()
9222}
9223
9224// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
9225// the ability to pass a context and additional request options.
9226//
9227// See DeleteVolume for details on how to use this API operation.
9228//
9229// The context must be non-nil and will be used for request cancellation. If
9230// the context is nil a panic will occur. In the future the SDK may create
9231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9232// for more information on using Contexts.
9233func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
9234	req, out := c.DeleteVolumeRequest(input)
9235	req.SetContext(ctx)
9236	req.ApplyOptions(opts...)
9237	return out, req.Send()
9238}
9239
9240const opDeleteVpc = "DeleteVpc"
9241
9242// DeleteVpcRequest generates a "aws/request.Request" representing the
9243// client's request for the DeleteVpc operation. The "output" return
9244// value will be populated with the request's response once the request completes
9245// successfully.
9246//
9247// Use "Send" method on the returned Request to send the API call to the service.
9248// the "output" return value is not valid until after Send returns without error.
9249//
9250// See DeleteVpc for more information on using the DeleteVpc
9251// API call, and error handling.
9252//
9253// This method is useful when you want to inject custom logic or configuration
9254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9255//
9256//
9257//    // Example sending a request using the DeleteVpcRequest method.
9258//    req, resp := client.DeleteVpcRequest(params)
9259//
9260//    err := req.Send()
9261//    if err == nil { // resp is now filled
9262//        fmt.Println(resp)
9263//    }
9264//
9265// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
9266func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
9267	op := &request.Operation{
9268		Name:       opDeleteVpc,
9269		HTTPMethod: "POST",
9270		HTTPPath:   "/",
9271	}
9272
9273	if input == nil {
9274		input = &DeleteVpcInput{}
9275	}
9276
9277	output = &DeleteVpcOutput{}
9278	req = c.newRequest(op, input, output)
9279	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9280	return
9281}
9282
9283// DeleteVpc API operation for Amazon Elastic Compute Cloud.
9284//
9285// Deletes the specified VPC. You must detach or delete all gateways and resources
9286// that are associated with the VPC before you can delete it. For example, you
9287// must terminate all instances running in the VPC, delete all security groups
9288// associated with the VPC (except the default one), delete all route tables
9289// associated with the VPC (except the default one), and so on.
9290//
9291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9292// with awserr.Error's Code and Message methods to get detailed information about
9293// the error.
9294//
9295// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9296// API operation DeleteVpc for usage and error information.
9297// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
9298func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
9299	req, out := c.DeleteVpcRequest(input)
9300	return out, req.Send()
9301}
9302
9303// DeleteVpcWithContext is the same as DeleteVpc with the addition of
9304// the ability to pass a context and additional request options.
9305//
9306// See DeleteVpc for details on how to use this API operation.
9307//
9308// The context must be non-nil and will be used for request cancellation. If
9309// the context is nil a panic will occur. In the future the SDK may create
9310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9311// for more information on using Contexts.
9312func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
9313	req, out := c.DeleteVpcRequest(input)
9314	req.SetContext(ctx)
9315	req.ApplyOptions(opts...)
9316	return out, req.Send()
9317}
9318
9319const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
9320
9321// DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
9322// client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
9323// value will be populated with the request's response once the request completes
9324// successfully.
9325//
9326// Use "Send" method on the returned Request to send the API call to the service.
9327// the "output" return value is not valid until after Send returns without error.
9328//
9329// See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
9330// API call, and error handling.
9331//
9332// This method is useful when you want to inject custom logic or configuration
9333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9334//
9335//
9336//    // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
9337//    req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
9338//
9339//    err := req.Send()
9340//    if err == nil { // resp is now filled
9341//        fmt.Println(resp)
9342//    }
9343//
9344// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
9345func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
9346	op := &request.Operation{
9347		Name:       opDeleteVpcEndpointConnectionNotifications,
9348		HTTPMethod: "POST",
9349		HTTPPath:   "/",
9350	}
9351
9352	if input == nil {
9353		input = &DeleteVpcEndpointConnectionNotificationsInput{}
9354	}
9355
9356	output = &DeleteVpcEndpointConnectionNotificationsOutput{}
9357	req = c.newRequest(op, input, output)
9358	return
9359}
9360
9361// DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
9362//
9363// Deletes one or more VPC endpoint connection notifications.
9364//
9365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9366// with awserr.Error's Code and Message methods to get detailed information about
9367// the error.
9368//
9369// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9370// API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
9371// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
9372func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
9373	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
9374	return out, req.Send()
9375}
9376
9377// DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
9378// the ability to pass a context and additional request options.
9379//
9380// See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
9381//
9382// The context must be non-nil and will be used for request cancellation. If
9383// the context is nil a panic will occur. In the future the SDK may create
9384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9385// for more information on using Contexts.
9386func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
9387	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
9388	req.SetContext(ctx)
9389	req.ApplyOptions(opts...)
9390	return out, req.Send()
9391}
9392
9393const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
9394
9395// DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
9396// client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
9397// value will be populated with the request's response once the request completes
9398// successfully.
9399//
9400// Use "Send" method on the returned Request to send the API call to the service.
9401// the "output" return value is not valid until after Send returns without error.
9402//
9403// See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
9404// API call, and error handling.
9405//
9406// This method is useful when you want to inject custom logic or configuration
9407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9408//
9409//
9410//    // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
9411//    req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
9412//
9413//    err := req.Send()
9414//    if err == nil { // resp is now filled
9415//        fmt.Println(resp)
9416//    }
9417//
9418// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
9419func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
9420	op := &request.Operation{
9421		Name:       opDeleteVpcEndpointServiceConfigurations,
9422		HTTPMethod: "POST",
9423		HTTPPath:   "/",
9424	}
9425
9426	if input == nil {
9427		input = &DeleteVpcEndpointServiceConfigurationsInput{}
9428	}
9429
9430	output = &DeleteVpcEndpointServiceConfigurationsOutput{}
9431	req = c.newRequest(op, input, output)
9432	return
9433}
9434
9435// DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
9436//
9437// Deletes one or more VPC endpoint service configurations in your account.
9438// Before you delete the endpoint service configuration, you must reject any
9439// Available or PendingAcceptance interface endpoint connections that are attached
9440// to the service.
9441//
9442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9443// with awserr.Error's Code and Message methods to get detailed information about
9444// the error.
9445//
9446// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9447// API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
9448// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
9449func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
9450	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
9451	return out, req.Send()
9452}
9453
9454// DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
9455// the ability to pass a context and additional request options.
9456//
9457// See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
9458//
9459// The context must be non-nil and will be used for request cancellation. If
9460// the context is nil a panic will occur. In the future the SDK may create
9461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9462// for more information on using Contexts.
9463func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
9464	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
9465	req.SetContext(ctx)
9466	req.ApplyOptions(opts...)
9467	return out, req.Send()
9468}
9469
9470const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
9471
9472// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
9473// client's request for the DeleteVpcEndpoints operation. The "output" return
9474// value will be populated with the request's response once the request completes
9475// successfully.
9476//
9477// Use "Send" method on the returned Request to send the API call to the service.
9478// the "output" return value is not valid until after Send returns without error.
9479//
9480// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
9481// API call, and error handling.
9482//
9483// This method is useful when you want to inject custom logic or configuration
9484// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9485//
9486//
9487//    // Example sending a request using the DeleteVpcEndpointsRequest method.
9488//    req, resp := client.DeleteVpcEndpointsRequest(params)
9489//
9490//    err := req.Send()
9491//    if err == nil { // resp is now filled
9492//        fmt.Println(resp)
9493//    }
9494//
9495// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
9496func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
9497	op := &request.Operation{
9498		Name:       opDeleteVpcEndpoints,
9499		HTTPMethod: "POST",
9500		HTTPPath:   "/",
9501	}
9502
9503	if input == nil {
9504		input = &DeleteVpcEndpointsInput{}
9505	}
9506
9507	output = &DeleteVpcEndpointsOutput{}
9508	req = c.newRequest(op, input, output)
9509	return
9510}
9511
9512// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
9513//
9514// Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
9515// also deletes the endpoint routes in the route tables that were associated
9516// with the endpoint. Deleting an interface endpoint deletes the endpoint network
9517// interfaces.
9518//
9519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9520// with awserr.Error's Code and Message methods to get detailed information about
9521// the error.
9522//
9523// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9524// API operation DeleteVpcEndpoints for usage and error information.
9525// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
9526func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
9527	req, out := c.DeleteVpcEndpointsRequest(input)
9528	return out, req.Send()
9529}
9530
9531// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
9532// the ability to pass a context and additional request options.
9533//
9534// See DeleteVpcEndpoints for details on how to use this API operation.
9535//
9536// The context must be non-nil and will be used for request cancellation. If
9537// the context is nil a panic will occur. In the future the SDK may create
9538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9539// for more information on using Contexts.
9540func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
9541	req, out := c.DeleteVpcEndpointsRequest(input)
9542	req.SetContext(ctx)
9543	req.ApplyOptions(opts...)
9544	return out, req.Send()
9545}
9546
9547const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
9548
9549// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
9550// client's request for the DeleteVpcPeeringConnection operation. The "output" return
9551// value will be populated with the request's response once the request completes
9552// successfully.
9553//
9554// Use "Send" method on the returned Request to send the API call to the service.
9555// the "output" return value is not valid until after Send returns without error.
9556//
9557// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
9558// API call, and error handling.
9559//
9560// This method is useful when you want to inject custom logic or configuration
9561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9562//
9563//
9564//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
9565//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
9566//
9567//    err := req.Send()
9568//    if err == nil { // resp is now filled
9569//        fmt.Println(resp)
9570//    }
9571//
9572// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
9573func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
9574	op := &request.Operation{
9575		Name:       opDeleteVpcPeeringConnection,
9576		HTTPMethod: "POST",
9577		HTTPPath:   "/",
9578	}
9579
9580	if input == nil {
9581		input = &DeleteVpcPeeringConnectionInput{}
9582	}
9583
9584	output = &DeleteVpcPeeringConnectionOutput{}
9585	req = c.newRequest(op, input, output)
9586	return
9587}
9588
9589// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
9590//
9591// Deletes a VPC peering connection. Either the owner of the requester VPC or
9592// the owner of the accepter VPC can delete the VPC peering connection if it's
9593// in the active state. The owner of the requester VPC can delete a VPC peering
9594// connection in the pending-acceptance state. You cannot delete a VPC peering
9595// connection that's in the failed state.
9596//
9597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9598// with awserr.Error's Code and Message methods to get detailed information about
9599// the error.
9600//
9601// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9602// API operation DeleteVpcPeeringConnection for usage and error information.
9603// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
9604func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
9605	req, out := c.DeleteVpcPeeringConnectionRequest(input)
9606	return out, req.Send()
9607}
9608
9609// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
9610// the ability to pass a context and additional request options.
9611//
9612// See DeleteVpcPeeringConnection for details on how to use this API operation.
9613//
9614// The context must be non-nil and will be used for request cancellation. If
9615// the context is nil a panic will occur. In the future the SDK may create
9616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9617// for more information on using Contexts.
9618func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
9619	req, out := c.DeleteVpcPeeringConnectionRequest(input)
9620	req.SetContext(ctx)
9621	req.ApplyOptions(opts...)
9622	return out, req.Send()
9623}
9624
9625const opDeleteVpnConnection = "DeleteVpnConnection"
9626
9627// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
9628// client's request for the DeleteVpnConnection operation. The "output" return
9629// value will be populated with the request's response once the request completes
9630// successfully.
9631//
9632// Use "Send" method on the returned Request to send the API call to the service.
9633// the "output" return value is not valid until after Send returns without error.
9634//
9635// See DeleteVpnConnection for more information on using the DeleteVpnConnection
9636// API call, and error handling.
9637//
9638// This method is useful when you want to inject custom logic or configuration
9639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9640//
9641//
9642//    // Example sending a request using the DeleteVpnConnectionRequest method.
9643//    req, resp := client.DeleteVpnConnectionRequest(params)
9644//
9645//    err := req.Send()
9646//    if err == nil { // resp is now filled
9647//        fmt.Println(resp)
9648//    }
9649//
9650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
9651func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
9652	op := &request.Operation{
9653		Name:       opDeleteVpnConnection,
9654		HTTPMethod: "POST",
9655		HTTPPath:   "/",
9656	}
9657
9658	if input == nil {
9659		input = &DeleteVpnConnectionInput{}
9660	}
9661
9662	output = &DeleteVpnConnectionOutput{}
9663	req = c.newRequest(op, input, output)
9664	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9665	return
9666}
9667
9668// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
9669//
9670// Deletes the specified VPN connection.
9671//
9672// If you're deleting the VPC and its associated components, we recommend that
9673// you detach the virtual private gateway from the VPC and delete the VPC before
9674// deleting the VPN connection. If you believe that the tunnel credentials for
9675// your VPN connection have been compromised, you can delete the VPN connection
9676// and create a new one that has new keys, without needing to delete the VPC
9677// or virtual private gateway. If you create a new VPN connection, you must
9678// reconfigure the customer gateway using the new configuration information
9679// returned with the new VPN connection ID.
9680//
9681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9682// with awserr.Error's Code and Message methods to get detailed information about
9683// the error.
9684//
9685// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9686// API operation DeleteVpnConnection for usage and error information.
9687// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
9688func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
9689	req, out := c.DeleteVpnConnectionRequest(input)
9690	return out, req.Send()
9691}
9692
9693// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
9694// the ability to pass a context and additional request options.
9695//
9696// See DeleteVpnConnection for details on how to use this API operation.
9697//
9698// The context must be non-nil and will be used for request cancellation. If
9699// the context is nil a panic will occur. In the future the SDK may create
9700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9701// for more information on using Contexts.
9702func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
9703	req, out := c.DeleteVpnConnectionRequest(input)
9704	req.SetContext(ctx)
9705	req.ApplyOptions(opts...)
9706	return out, req.Send()
9707}
9708
9709const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
9710
9711// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
9712// client's request for the DeleteVpnConnectionRoute operation. The "output" return
9713// value will be populated with the request's response once the request completes
9714// successfully.
9715//
9716// Use "Send" method on the returned Request to send the API call to the service.
9717// the "output" return value is not valid until after Send returns without error.
9718//
9719// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
9720// API call, and error handling.
9721//
9722// This method is useful when you want to inject custom logic or configuration
9723// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9724//
9725//
9726//    // Example sending a request using the DeleteVpnConnectionRouteRequest method.
9727//    req, resp := client.DeleteVpnConnectionRouteRequest(params)
9728//
9729//    err := req.Send()
9730//    if err == nil { // resp is now filled
9731//        fmt.Println(resp)
9732//    }
9733//
9734// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
9735func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
9736	op := &request.Operation{
9737		Name:       opDeleteVpnConnectionRoute,
9738		HTTPMethod: "POST",
9739		HTTPPath:   "/",
9740	}
9741
9742	if input == nil {
9743		input = &DeleteVpnConnectionRouteInput{}
9744	}
9745
9746	output = &DeleteVpnConnectionRouteOutput{}
9747	req = c.newRequest(op, input, output)
9748	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9749	return
9750}
9751
9752// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
9753//
9754// Deletes the specified static route associated with a VPN connection between
9755// an existing virtual private gateway and a VPN customer gateway. The static
9756// route allows traffic to be routed from the virtual private gateway to the
9757// VPN customer gateway.
9758//
9759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9760// with awserr.Error's Code and Message methods to get detailed information about
9761// the error.
9762//
9763// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9764// API operation DeleteVpnConnectionRoute for usage and error information.
9765// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
9766func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
9767	req, out := c.DeleteVpnConnectionRouteRequest(input)
9768	return out, req.Send()
9769}
9770
9771// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
9772// the ability to pass a context and additional request options.
9773//
9774// See DeleteVpnConnectionRoute for details on how to use this API operation.
9775//
9776// The context must be non-nil and will be used for request cancellation. If
9777// the context is nil a panic will occur. In the future the SDK may create
9778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9779// for more information on using Contexts.
9780func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
9781	req, out := c.DeleteVpnConnectionRouteRequest(input)
9782	req.SetContext(ctx)
9783	req.ApplyOptions(opts...)
9784	return out, req.Send()
9785}
9786
9787const opDeleteVpnGateway = "DeleteVpnGateway"
9788
9789// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
9790// client's request for the DeleteVpnGateway operation. The "output" return
9791// value will be populated with the request's response once the request completes
9792// successfully.
9793//
9794// Use "Send" method on the returned Request to send the API call to the service.
9795// the "output" return value is not valid until after Send returns without error.
9796//
9797// See DeleteVpnGateway for more information on using the DeleteVpnGateway
9798// API call, and error handling.
9799//
9800// This method is useful when you want to inject custom logic or configuration
9801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9802//
9803//
9804//    // Example sending a request using the DeleteVpnGatewayRequest method.
9805//    req, resp := client.DeleteVpnGatewayRequest(params)
9806//
9807//    err := req.Send()
9808//    if err == nil { // resp is now filled
9809//        fmt.Println(resp)
9810//    }
9811//
9812// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
9813func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
9814	op := &request.Operation{
9815		Name:       opDeleteVpnGateway,
9816		HTTPMethod: "POST",
9817		HTTPPath:   "/",
9818	}
9819
9820	if input == nil {
9821		input = &DeleteVpnGatewayInput{}
9822	}
9823
9824	output = &DeleteVpnGatewayOutput{}
9825	req = c.newRequest(op, input, output)
9826	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9827	return
9828}
9829
9830// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
9831//
9832// Deletes the specified virtual private gateway. We recommend that before you
9833// delete a virtual private gateway, you detach it from the VPC and delete the
9834// VPN connection. Note that you don't need to delete the virtual private gateway
9835// if you plan to delete and recreate the VPN connection between your VPC and
9836// your network.
9837//
9838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9839// with awserr.Error's Code and Message methods to get detailed information about
9840// the error.
9841//
9842// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9843// API operation DeleteVpnGateway for usage and error information.
9844// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
9845func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
9846	req, out := c.DeleteVpnGatewayRequest(input)
9847	return out, req.Send()
9848}
9849
9850// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
9851// the ability to pass a context and additional request options.
9852//
9853// See DeleteVpnGateway for details on how to use this API operation.
9854//
9855// The context must be non-nil and will be used for request cancellation. If
9856// the context is nil a panic will occur. In the future the SDK may create
9857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9858// for more information on using Contexts.
9859func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
9860	req, out := c.DeleteVpnGatewayRequest(input)
9861	req.SetContext(ctx)
9862	req.ApplyOptions(opts...)
9863	return out, req.Send()
9864}
9865
9866const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
9867
9868// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
9869// client's request for the DeprovisionByoipCidr operation. The "output" return
9870// value will be populated with the request's response once the request completes
9871// successfully.
9872//
9873// Use "Send" method on the returned Request to send the API call to the service.
9874// the "output" return value is not valid until after Send returns without error.
9875//
9876// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
9877// API call, and error handling.
9878//
9879// This method is useful when you want to inject custom logic or configuration
9880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9881//
9882//
9883//    // Example sending a request using the DeprovisionByoipCidrRequest method.
9884//    req, resp := client.DeprovisionByoipCidrRequest(params)
9885//
9886//    err := req.Send()
9887//    if err == nil { // resp is now filled
9888//        fmt.Println(resp)
9889//    }
9890//
9891// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
9892func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
9893	op := &request.Operation{
9894		Name:       opDeprovisionByoipCidr,
9895		HTTPMethod: "POST",
9896		HTTPPath:   "/",
9897	}
9898
9899	if input == nil {
9900		input = &DeprovisionByoipCidrInput{}
9901	}
9902
9903	output = &DeprovisionByoipCidrOutput{}
9904	req = c.newRequest(op, input, output)
9905	return
9906}
9907
9908// DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
9909//
9910// Releases the specified address range that you provisioned for use with your
9911// AWS resources through bring your own IP addresses (BYOIP) and deletes the
9912// corresponding address pool.
9913//
9914// Before you can release an address range, you must stop advertising it using
9915// WithdrawByoipCidr and you must not have any IP addresses allocated from its
9916// address range.
9917//
9918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9919// with awserr.Error's Code and Message methods to get detailed information about
9920// the error.
9921//
9922// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9923// API operation DeprovisionByoipCidr for usage and error information.
9924// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
9925func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
9926	req, out := c.DeprovisionByoipCidrRequest(input)
9927	return out, req.Send()
9928}
9929
9930// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
9931// the ability to pass a context and additional request options.
9932//
9933// See DeprovisionByoipCidr for details on how to use this API operation.
9934//
9935// The context must be non-nil and will be used for request cancellation. If
9936// the context is nil a panic will occur. In the future the SDK may create
9937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9938// for more information on using Contexts.
9939func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
9940	req, out := c.DeprovisionByoipCidrRequest(input)
9941	req.SetContext(ctx)
9942	req.ApplyOptions(opts...)
9943	return out, req.Send()
9944}
9945
9946const opDeregisterImage = "DeregisterImage"
9947
9948// DeregisterImageRequest generates a "aws/request.Request" representing the
9949// client's request for the DeregisterImage operation. The "output" return
9950// value will be populated with the request's response once the request completes
9951// successfully.
9952//
9953// Use "Send" method on the returned Request to send the API call to the service.
9954// the "output" return value is not valid until after Send returns without error.
9955//
9956// See DeregisterImage for more information on using the DeregisterImage
9957// API call, and error handling.
9958//
9959// This method is useful when you want to inject custom logic or configuration
9960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9961//
9962//
9963//    // Example sending a request using the DeregisterImageRequest method.
9964//    req, resp := client.DeregisterImageRequest(params)
9965//
9966//    err := req.Send()
9967//    if err == nil { // resp is now filled
9968//        fmt.Println(resp)
9969//    }
9970//
9971// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
9972func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
9973	op := &request.Operation{
9974		Name:       opDeregisterImage,
9975		HTTPMethod: "POST",
9976		HTTPPath:   "/",
9977	}
9978
9979	if input == nil {
9980		input = &DeregisterImageInput{}
9981	}
9982
9983	output = &DeregisterImageOutput{}
9984	req = c.newRequest(op, input, output)
9985	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9986	return
9987}
9988
9989// DeregisterImage API operation for Amazon Elastic Compute Cloud.
9990//
9991// Deregisters the specified AMI. After you deregister an AMI, it can't be used
9992// to launch new instances; however, it doesn't affect any instances that you've
9993// already launched from the AMI. You'll continue to incur usage costs for those
9994// instances until you terminate them.
9995//
9996// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
9997// that was created for the root volume of the instance during the AMI creation
9998// process. When you deregister an instance store-backed AMI, it doesn't affect
9999// the files that you uploaded to Amazon S3 when you created the AMI.
10000//
10001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10002// with awserr.Error's Code and Message methods to get detailed information about
10003// the error.
10004//
10005// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10006// API operation DeregisterImage for usage and error information.
10007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
10008func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
10009	req, out := c.DeregisterImageRequest(input)
10010	return out, req.Send()
10011}
10012
10013// DeregisterImageWithContext is the same as DeregisterImage with the addition of
10014// the ability to pass a context and additional request options.
10015//
10016// See DeregisterImage for details on how to use this API operation.
10017//
10018// The context must be non-nil and will be used for request cancellation. If
10019// the context is nil a panic will occur. In the future the SDK may create
10020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10021// for more information on using Contexts.
10022func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
10023	req, out := c.DeregisterImageRequest(input)
10024	req.SetContext(ctx)
10025	req.ApplyOptions(opts...)
10026	return out, req.Send()
10027}
10028
10029const opDescribeAccountAttributes = "DescribeAccountAttributes"
10030
10031// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
10032// client's request for the DescribeAccountAttributes operation. The "output" return
10033// value will be populated with the request's response once the request completes
10034// successfully.
10035//
10036// Use "Send" method on the returned Request to send the API call to the service.
10037// the "output" return value is not valid until after Send returns without error.
10038//
10039// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
10040// API call, and error handling.
10041//
10042// This method is useful when you want to inject custom logic or configuration
10043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10044//
10045//
10046//    // Example sending a request using the DescribeAccountAttributesRequest method.
10047//    req, resp := client.DescribeAccountAttributesRequest(params)
10048//
10049//    err := req.Send()
10050//    if err == nil { // resp is now filled
10051//        fmt.Println(resp)
10052//    }
10053//
10054// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
10055func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
10056	op := &request.Operation{
10057		Name:       opDescribeAccountAttributes,
10058		HTTPMethod: "POST",
10059		HTTPPath:   "/",
10060	}
10061
10062	if input == nil {
10063		input = &DescribeAccountAttributesInput{}
10064	}
10065
10066	output = &DescribeAccountAttributesOutput{}
10067	req = c.newRequest(op, input, output)
10068	return
10069}
10070
10071// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
10072//
10073// Describes attributes of your AWS account. The following are the supported
10074// account attributes:
10075//
10076//    * supported-platforms: Indicates whether your account can launch instances
10077//    into EC2-Classic and EC2-VPC, or only into EC2-VPC.
10078//
10079//    * default-vpc: The ID of the default VPC for your account, or none.
10080//
10081//    * max-instances: The maximum number of On-Demand Instances that you can
10082//    run.
10083//
10084//    * vpc-max-security-groups-per-interface: The maximum number of security
10085//    groups that you can assign to a network interface.
10086//
10087//    * max-elastic-ips: The maximum number of Elastic IP addresses that you
10088//    can allocate for use with EC2-Classic.
10089//
10090//    * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
10091//    you can allocate for use with EC2-VPC.
10092//
10093// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10094// with awserr.Error's Code and Message methods to get detailed information about
10095// the error.
10096//
10097// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10098// API operation DescribeAccountAttributes for usage and error information.
10099// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
10100func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
10101	req, out := c.DescribeAccountAttributesRequest(input)
10102	return out, req.Send()
10103}
10104
10105// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
10106// the ability to pass a context and additional request options.
10107//
10108// See DescribeAccountAttributes for details on how to use this API operation.
10109//
10110// The context must be non-nil and will be used for request cancellation. If
10111// the context is nil a panic will occur. In the future the SDK may create
10112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10113// for more information on using Contexts.
10114func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
10115	req, out := c.DescribeAccountAttributesRequest(input)
10116	req.SetContext(ctx)
10117	req.ApplyOptions(opts...)
10118	return out, req.Send()
10119}
10120
10121const opDescribeAddresses = "DescribeAddresses"
10122
10123// DescribeAddressesRequest generates a "aws/request.Request" representing the
10124// client's request for the DescribeAddresses operation. The "output" return
10125// value will be populated with the request's response once the request completes
10126// successfully.
10127//
10128// Use "Send" method on the returned Request to send the API call to the service.
10129// the "output" return value is not valid until after Send returns without error.
10130//
10131// See DescribeAddresses for more information on using the DescribeAddresses
10132// API call, and error handling.
10133//
10134// This method is useful when you want to inject custom logic or configuration
10135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10136//
10137//
10138//    // Example sending a request using the DescribeAddressesRequest method.
10139//    req, resp := client.DescribeAddressesRequest(params)
10140//
10141//    err := req.Send()
10142//    if err == nil { // resp is now filled
10143//        fmt.Println(resp)
10144//    }
10145//
10146// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
10147func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
10148	op := &request.Operation{
10149		Name:       opDescribeAddresses,
10150		HTTPMethod: "POST",
10151		HTTPPath:   "/",
10152	}
10153
10154	if input == nil {
10155		input = &DescribeAddressesInput{}
10156	}
10157
10158	output = &DescribeAddressesOutput{}
10159	req = c.newRequest(op, input, output)
10160	return
10161}
10162
10163// DescribeAddresses API operation for Amazon Elastic Compute Cloud.
10164//
10165// Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
10166//
10167// An Elastic IP address is for use in either the EC2-Classic platform or in
10168// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
10169// in the Amazon Elastic Compute Cloud User Guide.
10170//
10171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10172// with awserr.Error's Code and Message methods to get detailed information about
10173// the error.
10174//
10175// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10176// API operation DescribeAddresses for usage and error information.
10177// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
10178func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
10179	req, out := c.DescribeAddressesRequest(input)
10180	return out, req.Send()
10181}
10182
10183// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
10184// the ability to pass a context and additional request options.
10185//
10186// See DescribeAddresses for details on how to use this API operation.
10187//
10188// The context must be non-nil and will be used for request cancellation. If
10189// the context is nil a panic will occur. In the future the SDK may create
10190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10191// for more information on using Contexts.
10192func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
10193	req, out := c.DescribeAddressesRequest(input)
10194	req.SetContext(ctx)
10195	req.ApplyOptions(opts...)
10196	return out, req.Send()
10197}
10198
10199const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
10200
10201// DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
10202// client's request for the DescribeAggregateIdFormat operation. The "output" return
10203// value will be populated with the request's response once the request completes
10204// successfully.
10205//
10206// Use "Send" method on the returned Request to send the API call to the service.
10207// the "output" return value is not valid until after Send returns without error.
10208//
10209// See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
10210// API call, and error handling.
10211//
10212// This method is useful when you want to inject custom logic or configuration
10213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10214//
10215//
10216//    // Example sending a request using the DescribeAggregateIdFormatRequest method.
10217//    req, resp := client.DescribeAggregateIdFormatRequest(params)
10218//
10219//    err := req.Send()
10220//    if err == nil { // resp is now filled
10221//        fmt.Println(resp)
10222//    }
10223//
10224// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
10225func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
10226	op := &request.Operation{
10227		Name:       opDescribeAggregateIdFormat,
10228		HTTPMethod: "POST",
10229		HTTPPath:   "/",
10230	}
10231
10232	if input == nil {
10233		input = &DescribeAggregateIdFormatInput{}
10234	}
10235
10236	output = &DescribeAggregateIdFormatOutput{}
10237	req = c.newRequest(op, input, output)
10238	return
10239}
10240
10241// DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
10242//
10243// Describes the longer ID format settings for all resource types in a specific
10244// Region. This request is useful for performing a quick audit to determine
10245// whether a specific Region is fully opted in for longer IDs (17-character
10246// IDs).
10247//
10248// This request only returns information about resource types that support longer
10249// IDs.
10250//
10251// The following resource types support longer IDs: bundle | conversion-task
10252// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
10253// | export-task | flow-log | image | import-task | instance | internet-gateway
10254// | network-acl | network-acl-association | network-interface | network-interface-attachment
10255// | prefix-list | reservation | route-table | route-table-association | security-group
10256// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
10257// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
10258//
10259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10260// with awserr.Error's Code and Message methods to get detailed information about
10261// the error.
10262//
10263// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10264// API operation DescribeAggregateIdFormat for usage and error information.
10265// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
10266func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
10267	req, out := c.DescribeAggregateIdFormatRequest(input)
10268	return out, req.Send()
10269}
10270
10271// DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
10272// the ability to pass a context and additional request options.
10273//
10274// See DescribeAggregateIdFormat for details on how to use this API operation.
10275//
10276// The context must be non-nil and will be used for request cancellation. If
10277// the context is nil a panic will occur. In the future the SDK may create
10278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10279// for more information on using Contexts.
10280func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
10281	req, out := c.DescribeAggregateIdFormatRequest(input)
10282	req.SetContext(ctx)
10283	req.ApplyOptions(opts...)
10284	return out, req.Send()
10285}
10286
10287const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
10288
10289// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
10290// client's request for the DescribeAvailabilityZones operation. The "output" return
10291// value will be populated with the request's response once the request completes
10292// successfully.
10293//
10294// Use "Send" method on the returned Request to send the API call to the service.
10295// the "output" return value is not valid until after Send returns without error.
10296//
10297// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
10298// API call, and error handling.
10299//
10300// This method is useful when you want to inject custom logic or configuration
10301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10302//
10303//
10304//    // Example sending a request using the DescribeAvailabilityZonesRequest method.
10305//    req, resp := client.DescribeAvailabilityZonesRequest(params)
10306//
10307//    err := req.Send()
10308//    if err == nil { // resp is now filled
10309//        fmt.Println(resp)
10310//    }
10311//
10312// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
10313func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
10314	op := &request.Operation{
10315		Name:       opDescribeAvailabilityZones,
10316		HTTPMethod: "POST",
10317		HTTPPath:   "/",
10318	}
10319
10320	if input == nil {
10321		input = &DescribeAvailabilityZonesInput{}
10322	}
10323
10324	output = &DescribeAvailabilityZonesOutput{}
10325	req = c.newRequest(op, input, output)
10326	return
10327}
10328
10329// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
10330//
10331// Describes the Availability Zones that are available to you. The results include
10332// zones only for the Region you're currently using. If there is an event impacting
10333// an Availability Zone, you can use this request to view the state and any
10334// provided message for that Availability Zone.
10335//
10336// For more information, see Regions and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
10337// in the Amazon Elastic Compute Cloud User Guide.
10338//
10339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10340// with awserr.Error's Code and Message methods to get detailed information about
10341// the error.
10342//
10343// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10344// API operation DescribeAvailabilityZones for usage and error information.
10345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
10346func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
10347	req, out := c.DescribeAvailabilityZonesRequest(input)
10348	return out, req.Send()
10349}
10350
10351// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
10352// the ability to pass a context and additional request options.
10353//
10354// See DescribeAvailabilityZones for details on how to use this API operation.
10355//
10356// The context must be non-nil and will be used for request cancellation. If
10357// the context is nil a panic will occur. In the future the SDK may create
10358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10359// for more information on using Contexts.
10360func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
10361	req, out := c.DescribeAvailabilityZonesRequest(input)
10362	req.SetContext(ctx)
10363	req.ApplyOptions(opts...)
10364	return out, req.Send()
10365}
10366
10367const opDescribeBundleTasks = "DescribeBundleTasks"
10368
10369// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
10370// client's request for the DescribeBundleTasks operation. The "output" return
10371// value will be populated with the request's response once the request completes
10372// successfully.
10373//
10374// Use "Send" method on the returned Request to send the API call to the service.
10375// the "output" return value is not valid until after Send returns without error.
10376//
10377// See DescribeBundleTasks for more information on using the DescribeBundleTasks
10378// API call, and error handling.
10379//
10380// This method is useful when you want to inject custom logic or configuration
10381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10382//
10383//
10384//    // Example sending a request using the DescribeBundleTasksRequest method.
10385//    req, resp := client.DescribeBundleTasksRequest(params)
10386//
10387//    err := req.Send()
10388//    if err == nil { // resp is now filled
10389//        fmt.Println(resp)
10390//    }
10391//
10392// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
10393func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
10394	op := &request.Operation{
10395		Name:       opDescribeBundleTasks,
10396		HTTPMethod: "POST",
10397		HTTPPath:   "/",
10398	}
10399
10400	if input == nil {
10401		input = &DescribeBundleTasksInput{}
10402	}
10403
10404	output = &DescribeBundleTasksOutput{}
10405	req = c.newRequest(op, input, output)
10406	return
10407}
10408
10409// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
10410//
10411// Describes the specified bundle tasks or all of your bundle tasks.
10412//
10413// Completed bundle tasks are listed for only a limited time. If your bundle
10414// task is no longer in the list, you can still register an AMI from it. Just
10415// use RegisterImage with the Amazon S3 bucket name and image manifest name
10416// you provided to the bundle task.
10417//
10418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10419// with awserr.Error's Code and Message methods to get detailed information about
10420// the error.
10421//
10422// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10423// API operation DescribeBundleTasks for usage and error information.
10424// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
10425func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
10426	req, out := c.DescribeBundleTasksRequest(input)
10427	return out, req.Send()
10428}
10429
10430// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
10431// the ability to pass a context and additional request options.
10432//
10433// See DescribeBundleTasks for details on how to use this API operation.
10434//
10435// The context must be non-nil and will be used for request cancellation. If
10436// the context is nil a panic will occur. In the future the SDK may create
10437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10438// for more information on using Contexts.
10439func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
10440	req, out := c.DescribeBundleTasksRequest(input)
10441	req.SetContext(ctx)
10442	req.ApplyOptions(opts...)
10443	return out, req.Send()
10444}
10445
10446const opDescribeByoipCidrs = "DescribeByoipCidrs"
10447
10448// DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
10449// client's request for the DescribeByoipCidrs operation. The "output" return
10450// value will be populated with the request's response once the request completes
10451// successfully.
10452//
10453// Use "Send" method on the returned Request to send the API call to the service.
10454// the "output" return value is not valid until after Send returns without error.
10455//
10456// See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
10457// API call, and error handling.
10458//
10459// This method is useful when you want to inject custom logic or configuration
10460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10461//
10462//
10463//    // Example sending a request using the DescribeByoipCidrsRequest method.
10464//    req, resp := client.DescribeByoipCidrsRequest(params)
10465//
10466//    err := req.Send()
10467//    if err == nil { // resp is now filled
10468//        fmt.Println(resp)
10469//    }
10470//
10471// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
10472func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
10473	op := &request.Operation{
10474		Name:       opDescribeByoipCidrs,
10475		HTTPMethod: "POST",
10476		HTTPPath:   "/",
10477		Paginator: &request.Paginator{
10478			InputTokens:     []string{"NextToken"},
10479			OutputTokens:    []string{"NextToken"},
10480			LimitToken:      "MaxResults",
10481			TruncationToken: "",
10482		},
10483	}
10484
10485	if input == nil {
10486		input = &DescribeByoipCidrsInput{}
10487	}
10488
10489	output = &DescribeByoipCidrsOutput{}
10490	req = c.newRequest(op, input, output)
10491	return
10492}
10493
10494// DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
10495//
10496// Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
10497//
10498// To describe the address pools that were created when you provisioned the
10499// address ranges, use DescribePublicIpv4Pools.
10500//
10501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10502// with awserr.Error's Code and Message methods to get detailed information about
10503// the error.
10504//
10505// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10506// API operation DescribeByoipCidrs for usage and error information.
10507// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
10508func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
10509	req, out := c.DescribeByoipCidrsRequest(input)
10510	return out, req.Send()
10511}
10512
10513// DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
10514// the ability to pass a context and additional request options.
10515//
10516// See DescribeByoipCidrs for details on how to use this API operation.
10517//
10518// The context must be non-nil and will be used for request cancellation. If
10519// the context is nil a panic will occur. In the future the SDK may create
10520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10521// for more information on using Contexts.
10522func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
10523	req, out := c.DescribeByoipCidrsRequest(input)
10524	req.SetContext(ctx)
10525	req.ApplyOptions(opts...)
10526	return out, req.Send()
10527}
10528
10529// DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation,
10530// calling the "fn" function with the response data for each page. To stop
10531// iterating, return false from the fn function.
10532//
10533// See DescribeByoipCidrs method for more information on how to use this operation.
10534//
10535// Note: This operation can generate multiple requests to a service.
10536//
10537//    // Example iterating over at most 3 pages of a DescribeByoipCidrs operation.
10538//    pageNum := 0
10539//    err := client.DescribeByoipCidrsPages(params,
10540//        func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool {
10541//            pageNum++
10542//            fmt.Println(page)
10543//            return pageNum <= 3
10544//        })
10545//
10546func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error {
10547	return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
10548}
10549
10550// DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except
10551// it takes a Context and allows setting request options on the pages.
10552//
10553// The context must be non-nil and will be used for request cancellation. If
10554// the context is nil a panic will occur. In the future the SDK may create
10555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10556// for more information on using Contexts.
10557func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error {
10558	p := request.Pagination{
10559		NewRequest: func() (*request.Request, error) {
10560			var inCpy *DescribeByoipCidrsInput
10561			if input != nil {
10562				tmp := *input
10563				inCpy = &tmp
10564			}
10565			req, _ := c.DescribeByoipCidrsRequest(inCpy)
10566			req.SetContext(ctx)
10567			req.ApplyOptions(opts...)
10568			return req, nil
10569		},
10570	}
10571
10572	cont := true
10573	for p.Next() && cont {
10574		cont = fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage())
10575	}
10576	return p.Err()
10577}
10578
10579const opDescribeCapacityReservations = "DescribeCapacityReservations"
10580
10581// DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
10582// client's request for the DescribeCapacityReservations operation. The "output" return
10583// value will be populated with the request's response once the request completes
10584// successfully.
10585//
10586// Use "Send" method on the returned Request to send the API call to the service.
10587// the "output" return value is not valid until after Send returns without error.
10588//
10589// See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
10590// API call, and error handling.
10591//
10592// This method is useful when you want to inject custom logic or configuration
10593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10594//
10595//
10596//    // Example sending a request using the DescribeCapacityReservationsRequest method.
10597//    req, resp := client.DescribeCapacityReservationsRequest(params)
10598//
10599//    err := req.Send()
10600//    if err == nil { // resp is now filled
10601//        fmt.Println(resp)
10602//    }
10603//
10604// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
10605func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
10606	op := &request.Operation{
10607		Name:       opDescribeCapacityReservations,
10608		HTTPMethod: "POST",
10609		HTTPPath:   "/",
10610		Paginator: &request.Paginator{
10611			InputTokens:     []string{"NextToken"},
10612			OutputTokens:    []string{"NextToken"},
10613			LimitToken:      "MaxResults",
10614			TruncationToken: "",
10615		},
10616	}
10617
10618	if input == nil {
10619		input = &DescribeCapacityReservationsInput{}
10620	}
10621
10622	output = &DescribeCapacityReservationsOutput{}
10623	req = c.newRequest(op, input, output)
10624	return
10625}
10626
10627// DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
10628//
10629// Describes one or more of your Capacity Reservations. The results describe
10630// only the Capacity Reservations in the AWS Region that you're currently using.
10631//
10632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10633// with awserr.Error's Code and Message methods to get detailed information about
10634// the error.
10635//
10636// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10637// API operation DescribeCapacityReservations for usage and error information.
10638// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
10639func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
10640	req, out := c.DescribeCapacityReservationsRequest(input)
10641	return out, req.Send()
10642}
10643
10644// DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
10645// the ability to pass a context and additional request options.
10646//
10647// See DescribeCapacityReservations for details on how to use this API operation.
10648//
10649// The context must be non-nil and will be used for request cancellation. If
10650// the context is nil a panic will occur. In the future the SDK may create
10651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10652// for more information on using Contexts.
10653func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
10654	req, out := c.DescribeCapacityReservationsRequest(input)
10655	req.SetContext(ctx)
10656	req.ApplyOptions(opts...)
10657	return out, req.Send()
10658}
10659
10660// DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation,
10661// calling the "fn" function with the response data for each page. To stop
10662// iterating, return false from the fn function.
10663//
10664// See DescribeCapacityReservations method for more information on how to use this operation.
10665//
10666// Note: This operation can generate multiple requests to a service.
10667//
10668//    // Example iterating over at most 3 pages of a DescribeCapacityReservations operation.
10669//    pageNum := 0
10670//    err := client.DescribeCapacityReservationsPages(params,
10671//        func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool {
10672//            pageNum++
10673//            fmt.Println(page)
10674//            return pageNum <= 3
10675//        })
10676//
10677func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error {
10678	return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
10679}
10680
10681// DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except
10682// it takes a Context and allows setting request options on the pages.
10683//
10684// The context must be non-nil and will be used for request cancellation. If
10685// the context is nil a panic will occur. In the future the SDK may create
10686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10687// for more information on using Contexts.
10688func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error {
10689	p := request.Pagination{
10690		NewRequest: func() (*request.Request, error) {
10691			var inCpy *DescribeCapacityReservationsInput
10692			if input != nil {
10693				tmp := *input
10694				inCpy = &tmp
10695			}
10696			req, _ := c.DescribeCapacityReservationsRequest(inCpy)
10697			req.SetContext(ctx)
10698			req.ApplyOptions(opts...)
10699			return req, nil
10700		},
10701	}
10702
10703	cont := true
10704	for p.Next() && cont {
10705		cont = fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage())
10706	}
10707	return p.Err()
10708}
10709
10710const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
10711
10712// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
10713// client's request for the DescribeClassicLinkInstances operation. The "output" return
10714// value will be populated with the request's response once the request completes
10715// successfully.
10716//
10717// Use "Send" method on the returned Request to send the API call to the service.
10718// the "output" return value is not valid until after Send returns without error.
10719//
10720// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
10721// API call, and error handling.
10722//
10723// This method is useful when you want to inject custom logic or configuration
10724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10725//
10726//
10727//    // Example sending a request using the DescribeClassicLinkInstancesRequest method.
10728//    req, resp := client.DescribeClassicLinkInstancesRequest(params)
10729//
10730//    err := req.Send()
10731//    if err == nil { // resp is now filled
10732//        fmt.Println(resp)
10733//    }
10734//
10735// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
10736func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
10737	op := &request.Operation{
10738		Name:       opDescribeClassicLinkInstances,
10739		HTTPMethod: "POST",
10740		HTTPPath:   "/",
10741		Paginator: &request.Paginator{
10742			InputTokens:     []string{"NextToken"},
10743			OutputTokens:    []string{"NextToken"},
10744			LimitToken:      "MaxResults",
10745			TruncationToken: "",
10746		},
10747	}
10748
10749	if input == nil {
10750		input = &DescribeClassicLinkInstancesInput{}
10751	}
10752
10753	output = &DescribeClassicLinkInstancesOutput{}
10754	req = c.newRequest(op, input, output)
10755	return
10756}
10757
10758// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
10759//
10760// Describes one or more of your linked EC2-Classic instances. This request
10761// only returns information about EC2-Classic instances linked to a VPC through
10762// ClassicLink. You cannot use this request to return information about other
10763// instances.
10764//
10765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10766// with awserr.Error's Code and Message methods to get detailed information about
10767// the error.
10768//
10769// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10770// API operation DescribeClassicLinkInstances for usage and error information.
10771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
10772func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
10773	req, out := c.DescribeClassicLinkInstancesRequest(input)
10774	return out, req.Send()
10775}
10776
10777// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
10778// the ability to pass a context and additional request options.
10779//
10780// See DescribeClassicLinkInstances for details on how to use this API operation.
10781//
10782// The context must be non-nil and will be used for request cancellation. If
10783// the context is nil a panic will occur. In the future the SDK may create
10784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10785// for more information on using Contexts.
10786func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
10787	req, out := c.DescribeClassicLinkInstancesRequest(input)
10788	req.SetContext(ctx)
10789	req.ApplyOptions(opts...)
10790	return out, req.Send()
10791}
10792
10793// DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation,
10794// calling the "fn" function with the response data for each page. To stop
10795// iterating, return false from the fn function.
10796//
10797// See DescribeClassicLinkInstances method for more information on how to use this operation.
10798//
10799// Note: This operation can generate multiple requests to a service.
10800//
10801//    // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation.
10802//    pageNum := 0
10803//    err := client.DescribeClassicLinkInstancesPages(params,
10804//        func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool {
10805//            pageNum++
10806//            fmt.Println(page)
10807//            return pageNum <= 3
10808//        })
10809//
10810func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error {
10811	return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
10812}
10813
10814// DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except
10815// it takes a Context and allows setting request options on the pages.
10816//
10817// The context must be non-nil and will be used for request cancellation. If
10818// the context is nil a panic will occur. In the future the SDK may create
10819// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10820// for more information on using Contexts.
10821func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error {
10822	p := request.Pagination{
10823		NewRequest: func() (*request.Request, error) {
10824			var inCpy *DescribeClassicLinkInstancesInput
10825			if input != nil {
10826				tmp := *input
10827				inCpy = &tmp
10828			}
10829			req, _ := c.DescribeClassicLinkInstancesRequest(inCpy)
10830			req.SetContext(ctx)
10831			req.ApplyOptions(opts...)
10832			return req, nil
10833		},
10834	}
10835
10836	cont := true
10837	for p.Next() && cont {
10838		cont = fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage())
10839	}
10840	return p.Err()
10841}
10842
10843const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
10844
10845// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
10846// client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
10847// value will be populated with the request's response once the request completes
10848// successfully.
10849//
10850// Use "Send" method on the returned Request to send the API call to the service.
10851// the "output" return value is not valid until after Send returns without error.
10852//
10853// See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
10854// API call, and error handling.
10855//
10856// This method is useful when you want to inject custom logic or configuration
10857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10858//
10859//
10860//    // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
10861//    req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
10862//
10863//    err := req.Send()
10864//    if err == nil { // resp is now filled
10865//        fmt.Println(resp)
10866//    }
10867//
10868// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
10869func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
10870	op := &request.Operation{
10871		Name:       opDescribeClientVpnAuthorizationRules,
10872		HTTPMethod: "POST",
10873		HTTPPath:   "/",
10874		Paginator: &request.Paginator{
10875			InputTokens:     []string{"NextToken"},
10876			OutputTokens:    []string{"NextToken"},
10877			LimitToken:      "MaxResults",
10878			TruncationToken: "",
10879		},
10880	}
10881
10882	if input == nil {
10883		input = &DescribeClientVpnAuthorizationRulesInput{}
10884	}
10885
10886	output = &DescribeClientVpnAuthorizationRulesOutput{}
10887	req = c.newRequest(op, input, output)
10888	return
10889}
10890
10891// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
10892//
10893// Describes the authorization rules for a specified Client VPN endpoint.
10894//
10895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10896// with awserr.Error's Code and Message methods to get detailed information about
10897// the error.
10898//
10899// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10900// API operation DescribeClientVpnAuthorizationRules for usage and error information.
10901// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
10902func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
10903	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
10904	return out, req.Send()
10905}
10906
10907// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
10908// the ability to pass a context and additional request options.
10909//
10910// See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
10911//
10912// The context must be non-nil and will be used for request cancellation. If
10913// the context is nil a panic will occur. In the future the SDK may create
10914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10915// for more information on using Contexts.
10916func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
10917	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
10918	req.SetContext(ctx)
10919	req.ApplyOptions(opts...)
10920	return out, req.Send()
10921}
10922
10923// DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation,
10924// calling the "fn" function with the response data for each page. To stop
10925// iterating, return false from the fn function.
10926//
10927// See DescribeClientVpnAuthorizationRules method for more information on how to use this operation.
10928//
10929// Note: This operation can generate multiple requests to a service.
10930//
10931//    // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation.
10932//    pageNum := 0
10933//    err := client.DescribeClientVpnAuthorizationRulesPages(params,
10934//        func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool {
10935//            pageNum++
10936//            fmt.Println(page)
10937//            return pageNum <= 3
10938//        })
10939//
10940func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error {
10941	return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn)
10942}
10943
10944// DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except
10945// it takes a Context and allows setting request options on the pages.
10946//
10947// The context must be non-nil and will be used for request cancellation. If
10948// the context is nil a panic will occur. In the future the SDK may create
10949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10950// for more information on using Contexts.
10951func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error {
10952	p := request.Pagination{
10953		NewRequest: func() (*request.Request, error) {
10954			var inCpy *DescribeClientVpnAuthorizationRulesInput
10955			if input != nil {
10956				tmp := *input
10957				inCpy = &tmp
10958			}
10959			req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy)
10960			req.SetContext(ctx)
10961			req.ApplyOptions(opts...)
10962			return req, nil
10963		},
10964	}
10965
10966	cont := true
10967	for p.Next() && cont {
10968		cont = fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage())
10969	}
10970	return p.Err()
10971}
10972
10973const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
10974
10975// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
10976// client's request for the DescribeClientVpnConnections operation. The "output" return
10977// value will be populated with the request's response once the request completes
10978// successfully.
10979//
10980// Use "Send" method on the returned Request to send the API call to the service.
10981// the "output" return value is not valid until after Send returns without error.
10982//
10983// See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
10984// API call, and error handling.
10985//
10986// This method is useful when you want to inject custom logic or configuration
10987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10988//
10989//
10990//    // Example sending a request using the DescribeClientVpnConnectionsRequest method.
10991//    req, resp := client.DescribeClientVpnConnectionsRequest(params)
10992//
10993//    err := req.Send()
10994//    if err == nil { // resp is now filled
10995//        fmt.Println(resp)
10996//    }
10997//
10998// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
10999func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
11000	op := &request.Operation{
11001		Name:       opDescribeClientVpnConnections,
11002		HTTPMethod: "POST",
11003		HTTPPath:   "/",
11004		Paginator: &request.Paginator{
11005			InputTokens:     []string{"NextToken"},
11006			OutputTokens:    []string{"NextToken"},
11007			LimitToken:      "MaxResults",
11008			TruncationToken: "",
11009		},
11010	}
11011
11012	if input == nil {
11013		input = &DescribeClientVpnConnectionsInput{}
11014	}
11015
11016	output = &DescribeClientVpnConnectionsOutput{}
11017	req = c.newRequest(op, input, output)
11018	return
11019}
11020
11021// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
11022//
11023// Describes active client connections and connections that have been terminated
11024// within the last 60 minutes for the specified Client VPN endpoint.
11025//
11026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11027// with awserr.Error's Code and Message methods to get detailed information about
11028// the error.
11029//
11030// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11031// API operation DescribeClientVpnConnections for usage and error information.
11032// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
11033func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
11034	req, out := c.DescribeClientVpnConnectionsRequest(input)
11035	return out, req.Send()
11036}
11037
11038// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
11039// the ability to pass a context and additional request options.
11040//
11041// See DescribeClientVpnConnections for details on how to use this API operation.
11042//
11043// The context must be non-nil and will be used for request cancellation. If
11044// the context is nil a panic will occur. In the future the SDK may create
11045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11046// for more information on using Contexts.
11047func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
11048	req, out := c.DescribeClientVpnConnectionsRequest(input)
11049	req.SetContext(ctx)
11050	req.ApplyOptions(opts...)
11051	return out, req.Send()
11052}
11053
11054// DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation,
11055// calling the "fn" function with the response data for each page. To stop
11056// iterating, return false from the fn function.
11057//
11058// See DescribeClientVpnConnections method for more information on how to use this operation.
11059//
11060// Note: This operation can generate multiple requests to a service.
11061//
11062//    // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation.
11063//    pageNum := 0
11064//    err := client.DescribeClientVpnConnectionsPages(params,
11065//        func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool {
11066//            pageNum++
11067//            fmt.Println(page)
11068//            return pageNum <= 3
11069//        })
11070//
11071func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error {
11072	return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
11073}
11074
11075// DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except
11076// it takes a Context and allows setting request options on the pages.
11077//
11078// The context must be non-nil and will be used for request cancellation. If
11079// the context is nil a panic will occur. In the future the SDK may create
11080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11081// for more information on using Contexts.
11082func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error {
11083	p := request.Pagination{
11084		NewRequest: func() (*request.Request, error) {
11085			var inCpy *DescribeClientVpnConnectionsInput
11086			if input != nil {
11087				tmp := *input
11088				inCpy = &tmp
11089			}
11090			req, _ := c.DescribeClientVpnConnectionsRequest(inCpy)
11091			req.SetContext(ctx)
11092			req.ApplyOptions(opts...)
11093			return req, nil
11094		},
11095	}
11096
11097	cont := true
11098	for p.Next() && cont {
11099		cont = fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage())
11100	}
11101	return p.Err()
11102}
11103
11104const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
11105
11106// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
11107// client's request for the DescribeClientVpnEndpoints operation. The "output" return
11108// value will be populated with the request's response once the request completes
11109// successfully.
11110//
11111// Use "Send" method on the returned Request to send the API call to the service.
11112// the "output" return value is not valid until after Send returns without error.
11113//
11114// See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
11115// API call, and error handling.
11116//
11117// This method is useful when you want to inject custom logic or configuration
11118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11119//
11120//
11121//    // Example sending a request using the DescribeClientVpnEndpointsRequest method.
11122//    req, resp := client.DescribeClientVpnEndpointsRequest(params)
11123//
11124//    err := req.Send()
11125//    if err == nil { // resp is now filled
11126//        fmt.Println(resp)
11127//    }
11128//
11129// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
11130func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
11131	op := &request.Operation{
11132		Name:       opDescribeClientVpnEndpoints,
11133		HTTPMethod: "POST",
11134		HTTPPath:   "/",
11135		Paginator: &request.Paginator{
11136			InputTokens:     []string{"NextToken"},
11137			OutputTokens:    []string{"NextToken"},
11138			LimitToken:      "MaxResults",
11139			TruncationToken: "",
11140		},
11141	}
11142
11143	if input == nil {
11144		input = &DescribeClientVpnEndpointsInput{}
11145	}
11146
11147	output = &DescribeClientVpnEndpointsOutput{}
11148	req = c.newRequest(op, input, output)
11149	return
11150}
11151
11152// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
11153//
11154// Describes one or more Client VPN endpoints in the account.
11155//
11156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11157// with awserr.Error's Code and Message methods to get detailed information about
11158// the error.
11159//
11160// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11161// API operation DescribeClientVpnEndpoints for usage and error information.
11162// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
11163func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
11164	req, out := c.DescribeClientVpnEndpointsRequest(input)
11165	return out, req.Send()
11166}
11167
11168// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
11169// the ability to pass a context and additional request options.
11170//
11171// See DescribeClientVpnEndpoints for details on how to use this API operation.
11172//
11173// The context must be non-nil and will be used for request cancellation. If
11174// the context is nil a panic will occur. In the future the SDK may create
11175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11176// for more information on using Contexts.
11177func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
11178	req, out := c.DescribeClientVpnEndpointsRequest(input)
11179	req.SetContext(ctx)
11180	req.ApplyOptions(opts...)
11181	return out, req.Send()
11182}
11183
11184// DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation,
11185// calling the "fn" function with the response data for each page. To stop
11186// iterating, return false from the fn function.
11187//
11188// See DescribeClientVpnEndpoints method for more information on how to use this operation.
11189//
11190// Note: This operation can generate multiple requests to a service.
11191//
11192//    // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation.
11193//    pageNum := 0
11194//    err := client.DescribeClientVpnEndpointsPages(params,
11195//        func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool {
11196//            pageNum++
11197//            fmt.Println(page)
11198//            return pageNum <= 3
11199//        })
11200//
11201func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error {
11202	return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
11203}
11204
11205// DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except
11206// it takes a Context and allows setting request options on the pages.
11207//
11208// The context must be non-nil and will be used for request cancellation. If
11209// the context is nil a panic will occur. In the future the SDK may create
11210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11211// for more information on using Contexts.
11212func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error {
11213	p := request.Pagination{
11214		NewRequest: func() (*request.Request, error) {
11215			var inCpy *DescribeClientVpnEndpointsInput
11216			if input != nil {
11217				tmp := *input
11218				inCpy = &tmp
11219			}
11220			req, _ := c.DescribeClientVpnEndpointsRequest(inCpy)
11221			req.SetContext(ctx)
11222			req.ApplyOptions(opts...)
11223			return req, nil
11224		},
11225	}
11226
11227	cont := true
11228	for p.Next() && cont {
11229		cont = fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage())
11230	}
11231	return p.Err()
11232}
11233
11234const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
11235
11236// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
11237// client's request for the DescribeClientVpnRoutes operation. The "output" return
11238// value will be populated with the request's response once the request completes
11239// successfully.
11240//
11241// Use "Send" method on the returned Request to send the API call to the service.
11242// the "output" return value is not valid until after Send returns without error.
11243//
11244// See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
11245// API call, and error handling.
11246//
11247// This method is useful when you want to inject custom logic or configuration
11248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11249//
11250//
11251//    // Example sending a request using the DescribeClientVpnRoutesRequest method.
11252//    req, resp := client.DescribeClientVpnRoutesRequest(params)
11253//
11254//    err := req.Send()
11255//    if err == nil { // resp is now filled
11256//        fmt.Println(resp)
11257//    }
11258//
11259// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
11260func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
11261	op := &request.Operation{
11262		Name:       opDescribeClientVpnRoutes,
11263		HTTPMethod: "POST",
11264		HTTPPath:   "/",
11265		Paginator: &request.Paginator{
11266			InputTokens:     []string{"NextToken"},
11267			OutputTokens:    []string{"NextToken"},
11268			LimitToken:      "MaxResults",
11269			TruncationToken: "",
11270		},
11271	}
11272
11273	if input == nil {
11274		input = &DescribeClientVpnRoutesInput{}
11275	}
11276
11277	output = &DescribeClientVpnRoutesOutput{}
11278	req = c.newRequest(op, input, output)
11279	return
11280}
11281
11282// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
11283//
11284// Describes the routes for the specified Client VPN endpoint.
11285//
11286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11287// with awserr.Error's Code and Message methods to get detailed information about
11288// the error.
11289//
11290// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11291// API operation DescribeClientVpnRoutes for usage and error information.
11292// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
11293func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
11294	req, out := c.DescribeClientVpnRoutesRequest(input)
11295	return out, req.Send()
11296}
11297
11298// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
11299// the ability to pass a context and additional request options.
11300//
11301// See DescribeClientVpnRoutes for details on how to use this API operation.
11302//
11303// The context must be non-nil and will be used for request cancellation. If
11304// the context is nil a panic will occur. In the future the SDK may create
11305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11306// for more information on using Contexts.
11307func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
11308	req, out := c.DescribeClientVpnRoutesRequest(input)
11309	req.SetContext(ctx)
11310	req.ApplyOptions(opts...)
11311	return out, req.Send()
11312}
11313
11314// DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation,
11315// calling the "fn" function with the response data for each page. To stop
11316// iterating, return false from the fn function.
11317//
11318// See DescribeClientVpnRoutes method for more information on how to use this operation.
11319//
11320// Note: This operation can generate multiple requests to a service.
11321//
11322//    // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation.
11323//    pageNum := 0
11324//    err := client.DescribeClientVpnRoutesPages(params,
11325//        func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool {
11326//            pageNum++
11327//            fmt.Println(page)
11328//            return pageNum <= 3
11329//        })
11330//
11331func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error {
11332	return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
11333}
11334
11335// DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except
11336// it takes a Context and allows setting request options on the pages.
11337//
11338// The context must be non-nil and will be used for request cancellation. If
11339// the context is nil a panic will occur. In the future the SDK may create
11340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11341// for more information on using Contexts.
11342func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error {
11343	p := request.Pagination{
11344		NewRequest: func() (*request.Request, error) {
11345			var inCpy *DescribeClientVpnRoutesInput
11346			if input != nil {
11347				tmp := *input
11348				inCpy = &tmp
11349			}
11350			req, _ := c.DescribeClientVpnRoutesRequest(inCpy)
11351			req.SetContext(ctx)
11352			req.ApplyOptions(opts...)
11353			return req, nil
11354		},
11355	}
11356
11357	cont := true
11358	for p.Next() && cont {
11359		cont = fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage())
11360	}
11361	return p.Err()
11362}
11363
11364const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
11365
11366// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
11367// client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
11368// value will be populated with the request's response once the request completes
11369// successfully.
11370//
11371// Use "Send" method on the returned Request to send the API call to the service.
11372// the "output" return value is not valid until after Send returns without error.
11373//
11374// See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
11375// API call, and error handling.
11376//
11377// This method is useful when you want to inject custom logic or configuration
11378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11379//
11380//
11381//    // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
11382//    req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
11383//
11384//    err := req.Send()
11385//    if err == nil { // resp is now filled
11386//        fmt.Println(resp)
11387//    }
11388//
11389// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
11390func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
11391	op := &request.Operation{
11392		Name:       opDescribeClientVpnTargetNetworks,
11393		HTTPMethod: "POST",
11394		HTTPPath:   "/",
11395		Paginator: &request.Paginator{
11396			InputTokens:     []string{"NextToken"},
11397			OutputTokens:    []string{"NextToken"},
11398			LimitToken:      "MaxResults",
11399			TruncationToken: "",
11400		},
11401	}
11402
11403	if input == nil {
11404		input = &DescribeClientVpnTargetNetworksInput{}
11405	}
11406
11407	output = &DescribeClientVpnTargetNetworksOutput{}
11408	req = c.newRequest(op, input, output)
11409	return
11410}
11411
11412// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
11413//
11414// Describes the target networks associated with the specified Client VPN endpoint.
11415//
11416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11417// with awserr.Error's Code and Message methods to get detailed information about
11418// the error.
11419//
11420// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11421// API operation DescribeClientVpnTargetNetworks for usage and error information.
11422// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
11423func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
11424	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
11425	return out, req.Send()
11426}
11427
11428// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
11429// the ability to pass a context and additional request options.
11430//
11431// See DescribeClientVpnTargetNetworks for details on how to use this API operation.
11432//
11433// The context must be non-nil and will be used for request cancellation. If
11434// the context is nil a panic will occur. In the future the SDK may create
11435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11436// for more information on using Contexts.
11437func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
11438	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
11439	req.SetContext(ctx)
11440	req.ApplyOptions(opts...)
11441	return out, req.Send()
11442}
11443
11444// DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation,
11445// calling the "fn" function with the response data for each page. To stop
11446// iterating, return false from the fn function.
11447//
11448// See DescribeClientVpnTargetNetworks method for more information on how to use this operation.
11449//
11450// Note: This operation can generate multiple requests to a service.
11451//
11452//    // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation.
11453//    pageNum := 0
11454//    err := client.DescribeClientVpnTargetNetworksPages(params,
11455//        func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool {
11456//            pageNum++
11457//            fmt.Println(page)
11458//            return pageNum <= 3
11459//        })
11460//
11461func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error {
11462	return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
11463}
11464
11465// DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except
11466// it takes a Context and allows setting request options on the pages.
11467//
11468// The context must be non-nil and will be used for request cancellation. If
11469// the context is nil a panic will occur. In the future the SDK may create
11470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11471// for more information on using Contexts.
11472func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error {
11473	p := request.Pagination{
11474		NewRequest: func() (*request.Request, error) {
11475			var inCpy *DescribeClientVpnTargetNetworksInput
11476			if input != nil {
11477				tmp := *input
11478				inCpy = &tmp
11479			}
11480			req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy)
11481			req.SetContext(ctx)
11482			req.ApplyOptions(opts...)
11483			return req, nil
11484		},
11485	}
11486
11487	cont := true
11488	for p.Next() && cont {
11489		cont = fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage())
11490	}
11491	return p.Err()
11492}
11493
11494const opDescribeConversionTasks = "DescribeConversionTasks"
11495
11496// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
11497// client's request for the DescribeConversionTasks operation. The "output" return
11498// value will be populated with the request's response once the request completes
11499// successfully.
11500//
11501// Use "Send" method on the returned Request to send the API call to the service.
11502// the "output" return value is not valid until after Send returns without error.
11503//
11504// See DescribeConversionTasks for more information on using the DescribeConversionTasks
11505// API call, and error handling.
11506//
11507// This method is useful when you want to inject custom logic or configuration
11508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11509//
11510//
11511//    // Example sending a request using the DescribeConversionTasksRequest method.
11512//    req, resp := client.DescribeConversionTasksRequest(params)
11513//
11514//    err := req.Send()
11515//    if err == nil { // resp is now filled
11516//        fmt.Println(resp)
11517//    }
11518//
11519// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
11520func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
11521	op := &request.Operation{
11522		Name:       opDescribeConversionTasks,
11523		HTTPMethod: "POST",
11524		HTTPPath:   "/",
11525	}
11526
11527	if input == nil {
11528		input = &DescribeConversionTasksInput{}
11529	}
11530
11531	output = &DescribeConversionTasksOutput{}
11532	req = c.newRequest(op, input, output)
11533	return
11534}
11535
11536// DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
11537//
11538// Describes the specified conversion tasks or all your conversion tasks. For
11539// more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
11540//
11541// For information about the import manifest referenced by this API action,
11542// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
11543//
11544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11545// with awserr.Error's Code and Message methods to get detailed information about
11546// the error.
11547//
11548// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11549// API operation DescribeConversionTasks for usage and error information.
11550// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
11551func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
11552	req, out := c.DescribeConversionTasksRequest(input)
11553	return out, req.Send()
11554}
11555
11556// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
11557// the ability to pass a context and additional request options.
11558//
11559// See DescribeConversionTasks for details on how to use this API operation.
11560//
11561// The context must be non-nil and will be used for request cancellation. If
11562// the context is nil a panic will occur. In the future the SDK may create
11563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11564// for more information on using Contexts.
11565func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
11566	req, out := c.DescribeConversionTasksRequest(input)
11567	req.SetContext(ctx)
11568	req.ApplyOptions(opts...)
11569	return out, req.Send()
11570}
11571
11572const opDescribeCustomerGateways = "DescribeCustomerGateways"
11573
11574// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
11575// client's request for the DescribeCustomerGateways operation. The "output" return
11576// value will be populated with the request's response once the request completes
11577// successfully.
11578//
11579// Use "Send" method on the returned Request to send the API call to the service.
11580// the "output" return value is not valid until after Send returns without error.
11581//
11582// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
11583// API call, and error handling.
11584//
11585// This method is useful when you want to inject custom logic or configuration
11586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11587//
11588//
11589//    // Example sending a request using the DescribeCustomerGatewaysRequest method.
11590//    req, resp := client.DescribeCustomerGatewaysRequest(params)
11591//
11592//    err := req.Send()
11593//    if err == nil { // resp is now filled
11594//        fmt.Println(resp)
11595//    }
11596//
11597// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
11598func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
11599	op := &request.Operation{
11600		Name:       opDescribeCustomerGateways,
11601		HTTPMethod: "POST",
11602		HTTPPath:   "/",
11603	}
11604
11605	if input == nil {
11606		input = &DescribeCustomerGatewaysInput{}
11607	}
11608
11609	output = &DescribeCustomerGatewaysOutput{}
11610	req = c.newRequest(op, input, output)
11611	return
11612}
11613
11614// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
11615//
11616// Describes one or more of your VPN customer gateways.
11617//
11618// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
11619// in the AWS Site-to-Site VPN User Guide.
11620//
11621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11622// with awserr.Error's Code and Message methods to get detailed information about
11623// the error.
11624//
11625// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11626// API operation DescribeCustomerGateways for usage and error information.
11627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
11628func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
11629	req, out := c.DescribeCustomerGatewaysRequest(input)
11630	return out, req.Send()
11631}
11632
11633// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
11634// the ability to pass a context and additional request options.
11635//
11636// See DescribeCustomerGateways for details on how to use this API operation.
11637//
11638// The context must be non-nil and will be used for request cancellation. If
11639// the context is nil a panic will occur. In the future the SDK may create
11640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11641// for more information on using Contexts.
11642func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
11643	req, out := c.DescribeCustomerGatewaysRequest(input)
11644	req.SetContext(ctx)
11645	req.ApplyOptions(opts...)
11646	return out, req.Send()
11647}
11648
11649const opDescribeDhcpOptions = "DescribeDhcpOptions"
11650
11651// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
11652// client's request for the DescribeDhcpOptions operation. The "output" return
11653// value will be populated with the request's response once the request completes
11654// successfully.
11655//
11656// Use "Send" method on the returned Request to send the API call to the service.
11657// the "output" return value is not valid until after Send returns without error.
11658//
11659// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
11660// API call, and error handling.
11661//
11662// This method is useful when you want to inject custom logic or configuration
11663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11664//
11665//
11666//    // Example sending a request using the DescribeDhcpOptionsRequest method.
11667//    req, resp := client.DescribeDhcpOptionsRequest(params)
11668//
11669//    err := req.Send()
11670//    if err == nil { // resp is now filled
11671//        fmt.Println(resp)
11672//    }
11673//
11674// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
11675func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
11676	op := &request.Operation{
11677		Name:       opDescribeDhcpOptions,
11678		HTTPMethod: "POST",
11679		HTTPPath:   "/",
11680		Paginator: &request.Paginator{
11681			InputTokens:     []string{"NextToken"},
11682			OutputTokens:    []string{"NextToken"},
11683			LimitToken:      "MaxResults",
11684			TruncationToken: "",
11685		},
11686	}
11687
11688	if input == nil {
11689		input = &DescribeDhcpOptionsInput{}
11690	}
11691
11692	output = &DescribeDhcpOptionsOutput{}
11693	req = c.newRequest(op, input, output)
11694	return
11695}
11696
11697// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
11698//
11699// Describes one or more of your DHCP options sets.
11700//
11701// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
11702// in the Amazon Virtual Private Cloud User Guide.
11703//
11704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11705// with awserr.Error's Code and Message methods to get detailed information about
11706// the error.
11707//
11708// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11709// API operation DescribeDhcpOptions for usage and error information.
11710// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
11711func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
11712	req, out := c.DescribeDhcpOptionsRequest(input)
11713	return out, req.Send()
11714}
11715
11716// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
11717// the ability to pass a context and additional request options.
11718//
11719// See DescribeDhcpOptions for details on how to use this API operation.
11720//
11721// The context must be non-nil and will be used for request cancellation. If
11722// the context is nil a panic will occur. In the future the SDK may create
11723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11724// for more information on using Contexts.
11725func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
11726	req, out := c.DescribeDhcpOptionsRequest(input)
11727	req.SetContext(ctx)
11728	req.ApplyOptions(opts...)
11729	return out, req.Send()
11730}
11731
11732// DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation,
11733// calling the "fn" function with the response data for each page. To stop
11734// iterating, return false from the fn function.
11735//
11736// See DescribeDhcpOptions method for more information on how to use this operation.
11737//
11738// Note: This operation can generate multiple requests to a service.
11739//
11740//    // Example iterating over at most 3 pages of a DescribeDhcpOptions operation.
11741//    pageNum := 0
11742//    err := client.DescribeDhcpOptionsPages(params,
11743//        func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool {
11744//            pageNum++
11745//            fmt.Println(page)
11746//            return pageNum <= 3
11747//        })
11748//
11749func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error {
11750	return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
11751}
11752
11753// DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except
11754// it takes a Context and allows setting request options on the pages.
11755//
11756// The context must be non-nil and will be used for request cancellation. If
11757// the context is nil a panic will occur. In the future the SDK may create
11758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11759// for more information on using Contexts.
11760func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error {
11761	p := request.Pagination{
11762		NewRequest: func() (*request.Request, error) {
11763			var inCpy *DescribeDhcpOptionsInput
11764			if input != nil {
11765				tmp := *input
11766				inCpy = &tmp
11767			}
11768			req, _ := c.DescribeDhcpOptionsRequest(inCpy)
11769			req.SetContext(ctx)
11770			req.ApplyOptions(opts...)
11771			return req, nil
11772		},
11773	}
11774
11775	cont := true
11776	for p.Next() && cont {
11777		cont = fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage())
11778	}
11779	return p.Err()
11780}
11781
11782const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
11783
11784// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
11785// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
11786// value will be populated with the request's response once the request completes
11787// successfully.
11788//
11789// Use "Send" method on the returned Request to send the API call to the service.
11790// the "output" return value is not valid until after Send returns without error.
11791//
11792// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
11793// API call, and error handling.
11794//
11795// This method is useful when you want to inject custom logic or configuration
11796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11797//
11798//
11799//    // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
11800//    req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
11801//
11802//    err := req.Send()
11803//    if err == nil { // resp is now filled
11804//        fmt.Println(resp)
11805//    }
11806//
11807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
11808func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
11809	op := &request.Operation{
11810		Name:       opDescribeEgressOnlyInternetGateways,
11811		HTTPMethod: "POST",
11812		HTTPPath:   "/",
11813		Paginator: &request.Paginator{
11814			InputTokens:     []string{"NextToken"},
11815			OutputTokens:    []string{"NextToken"},
11816			LimitToken:      "MaxResults",
11817			TruncationToken: "",
11818		},
11819	}
11820
11821	if input == nil {
11822		input = &DescribeEgressOnlyInternetGatewaysInput{}
11823	}
11824
11825	output = &DescribeEgressOnlyInternetGatewaysOutput{}
11826	req = c.newRequest(op, input, output)
11827	return
11828}
11829
11830// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
11831//
11832// Describes one or more of your egress-only internet gateways.
11833//
11834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11835// with awserr.Error's Code and Message methods to get detailed information about
11836// the error.
11837//
11838// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11839// API operation DescribeEgressOnlyInternetGateways for usage and error information.
11840// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
11841func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
11842	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
11843	return out, req.Send()
11844}
11845
11846// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
11847// the ability to pass a context and additional request options.
11848//
11849// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
11850//
11851// The context must be non-nil and will be used for request cancellation. If
11852// the context is nil a panic will occur. In the future the SDK may create
11853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11854// for more information on using Contexts.
11855func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
11856	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
11857	req.SetContext(ctx)
11858	req.ApplyOptions(opts...)
11859	return out, req.Send()
11860}
11861
11862// DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation,
11863// calling the "fn" function with the response data for each page. To stop
11864// iterating, return false from the fn function.
11865//
11866// See DescribeEgressOnlyInternetGateways method for more information on how to use this operation.
11867//
11868// Note: This operation can generate multiple requests to a service.
11869//
11870//    // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation.
11871//    pageNum := 0
11872//    err := client.DescribeEgressOnlyInternetGatewaysPages(params,
11873//        func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool {
11874//            pageNum++
11875//            fmt.Println(page)
11876//            return pageNum <= 3
11877//        })
11878//
11879func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error {
11880	return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
11881}
11882
11883// DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except
11884// it takes a Context and allows setting request options on the pages.
11885//
11886// The context must be non-nil and will be used for request cancellation. If
11887// the context is nil a panic will occur. In the future the SDK may create
11888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11889// for more information on using Contexts.
11890func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
11891	p := request.Pagination{
11892		NewRequest: func() (*request.Request, error) {
11893			var inCpy *DescribeEgressOnlyInternetGatewaysInput
11894			if input != nil {
11895				tmp := *input
11896				inCpy = &tmp
11897			}
11898			req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy)
11899			req.SetContext(ctx)
11900			req.ApplyOptions(opts...)
11901			return req, nil
11902		},
11903	}
11904
11905	cont := true
11906	for p.Next() && cont {
11907		cont = fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage())
11908	}
11909	return p.Err()
11910}
11911
11912const opDescribeElasticGpus = "DescribeElasticGpus"
11913
11914// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
11915// client's request for the DescribeElasticGpus operation. The "output" return
11916// value will be populated with the request's response once the request completes
11917// successfully.
11918//
11919// Use "Send" method on the returned Request to send the API call to the service.
11920// the "output" return value is not valid until after Send returns without error.
11921//
11922// See DescribeElasticGpus for more information on using the DescribeElasticGpus
11923// API call, and error handling.
11924//
11925// This method is useful when you want to inject custom logic or configuration
11926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11927//
11928//
11929//    // Example sending a request using the DescribeElasticGpusRequest method.
11930//    req, resp := client.DescribeElasticGpusRequest(params)
11931//
11932//    err := req.Send()
11933//    if err == nil { // resp is now filled
11934//        fmt.Println(resp)
11935//    }
11936//
11937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
11938func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
11939	op := &request.Operation{
11940		Name:       opDescribeElasticGpus,
11941		HTTPMethod: "POST",
11942		HTTPPath:   "/",
11943	}
11944
11945	if input == nil {
11946		input = &DescribeElasticGpusInput{}
11947	}
11948
11949	output = &DescribeElasticGpusOutput{}
11950	req = c.newRequest(op, input, output)
11951	return
11952}
11953
11954// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
11955//
11956// Describes the Elastic Graphics accelerator associated with your instances.
11957// For more information about Elastic Graphics, see Amazon Elastic Graphics
11958// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
11959//
11960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11961// with awserr.Error's Code and Message methods to get detailed information about
11962// the error.
11963//
11964// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11965// API operation DescribeElasticGpus for usage and error information.
11966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
11967func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
11968	req, out := c.DescribeElasticGpusRequest(input)
11969	return out, req.Send()
11970}
11971
11972// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
11973// the ability to pass a context and additional request options.
11974//
11975// See DescribeElasticGpus for details on how to use this API operation.
11976//
11977// The context must be non-nil and will be used for request cancellation. If
11978// the context is nil a panic will occur. In the future the SDK may create
11979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11980// for more information on using Contexts.
11981func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
11982	req, out := c.DescribeElasticGpusRequest(input)
11983	req.SetContext(ctx)
11984	req.ApplyOptions(opts...)
11985	return out, req.Send()
11986}
11987
11988const opDescribeExportTasks = "DescribeExportTasks"
11989
11990// DescribeExportTasksRequest generates a "aws/request.Request" representing the
11991// client's request for the DescribeExportTasks operation. The "output" return
11992// value will be populated with the request's response once the request completes
11993// successfully.
11994//
11995// Use "Send" method on the returned Request to send the API call to the service.
11996// the "output" return value is not valid until after Send returns without error.
11997//
11998// See DescribeExportTasks for more information on using the DescribeExportTasks
11999// API call, and error handling.
12000//
12001// This method is useful when you want to inject custom logic or configuration
12002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12003//
12004//
12005//    // Example sending a request using the DescribeExportTasksRequest method.
12006//    req, resp := client.DescribeExportTasksRequest(params)
12007//
12008//    err := req.Send()
12009//    if err == nil { // resp is now filled
12010//        fmt.Println(resp)
12011//    }
12012//
12013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
12014func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
12015	op := &request.Operation{
12016		Name:       opDescribeExportTasks,
12017		HTTPMethod: "POST",
12018		HTTPPath:   "/",
12019	}
12020
12021	if input == nil {
12022		input = &DescribeExportTasksInput{}
12023	}
12024
12025	output = &DescribeExportTasksOutput{}
12026	req = c.newRequest(op, input, output)
12027	return
12028}
12029
12030// DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
12031//
12032// Describes the specified export tasks or all your export tasks.
12033//
12034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12035// with awserr.Error's Code and Message methods to get detailed information about
12036// the error.
12037//
12038// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12039// API operation DescribeExportTasks for usage and error information.
12040// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
12041func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
12042	req, out := c.DescribeExportTasksRequest(input)
12043	return out, req.Send()
12044}
12045
12046// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
12047// the ability to pass a context and additional request options.
12048//
12049// See DescribeExportTasks for details on how to use this API operation.
12050//
12051// The context must be non-nil and will be used for request cancellation. If
12052// the context is nil a panic will occur. In the future the SDK may create
12053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12054// for more information on using Contexts.
12055func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
12056	req, out := c.DescribeExportTasksRequest(input)
12057	req.SetContext(ctx)
12058	req.ApplyOptions(opts...)
12059	return out, req.Send()
12060}
12061
12062const opDescribeFleetHistory = "DescribeFleetHistory"
12063
12064// DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
12065// client's request for the DescribeFleetHistory operation. The "output" return
12066// value will be populated with the request's response once the request completes
12067// successfully.
12068//
12069// Use "Send" method on the returned Request to send the API call to the service.
12070// the "output" return value is not valid until after Send returns without error.
12071//
12072// See DescribeFleetHistory for more information on using the DescribeFleetHistory
12073// API call, and error handling.
12074//
12075// This method is useful when you want to inject custom logic or configuration
12076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12077//
12078//
12079//    // Example sending a request using the DescribeFleetHistoryRequest method.
12080//    req, resp := client.DescribeFleetHistoryRequest(params)
12081//
12082//    err := req.Send()
12083//    if err == nil { // resp is now filled
12084//        fmt.Println(resp)
12085//    }
12086//
12087// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
12088func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
12089	op := &request.Operation{
12090		Name:       opDescribeFleetHistory,
12091		HTTPMethod: "POST",
12092		HTTPPath:   "/",
12093	}
12094
12095	if input == nil {
12096		input = &DescribeFleetHistoryInput{}
12097	}
12098
12099	output = &DescribeFleetHistoryOutput{}
12100	req = c.newRequest(op, input, output)
12101	return
12102}
12103
12104// DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
12105//
12106// Describes the events for the specified EC2 Fleet during the specified time.
12107//
12108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12109// with awserr.Error's Code and Message methods to get detailed information about
12110// the error.
12111//
12112// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12113// API operation DescribeFleetHistory for usage and error information.
12114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
12115func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
12116	req, out := c.DescribeFleetHistoryRequest(input)
12117	return out, req.Send()
12118}
12119
12120// DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
12121// the ability to pass a context and additional request options.
12122//
12123// See DescribeFleetHistory for details on how to use this API operation.
12124//
12125// The context must be non-nil and will be used for request cancellation. If
12126// the context is nil a panic will occur. In the future the SDK may create
12127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12128// for more information on using Contexts.
12129func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
12130	req, out := c.DescribeFleetHistoryRequest(input)
12131	req.SetContext(ctx)
12132	req.ApplyOptions(opts...)
12133	return out, req.Send()
12134}
12135
12136const opDescribeFleetInstances = "DescribeFleetInstances"
12137
12138// DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
12139// client's request for the DescribeFleetInstances operation. The "output" return
12140// value will be populated with the request's response once the request completes
12141// successfully.
12142//
12143// Use "Send" method on the returned Request to send the API call to the service.
12144// the "output" return value is not valid until after Send returns without error.
12145//
12146// See DescribeFleetInstances for more information on using the DescribeFleetInstances
12147// API call, and error handling.
12148//
12149// This method is useful when you want to inject custom logic or configuration
12150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12151//
12152//
12153//    // Example sending a request using the DescribeFleetInstancesRequest method.
12154//    req, resp := client.DescribeFleetInstancesRequest(params)
12155//
12156//    err := req.Send()
12157//    if err == nil { // resp is now filled
12158//        fmt.Println(resp)
12159//    }
12160//
12161// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
12162func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
12163	op := &request.Operation{
12164		Name:       opDescribeFleetInstances,
12165		HTTPMethod: "POST",
12166		HTTPPath:   "/",
12167	}
12168
12169	if input == nil {
12170		input = &DescribeFleetInstancesInput{}
12171	}
12172
12173	output = &DescribeFleetInstancesOutput{}
12174	req = c.newRequest(op, input, output)
12175	return
12176}
12177
12178// DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
12179//
12180// Describes the running instances for the specified EC2 Fleet.
12181//
12182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12183// with awserr.Error's Code and Message methods to get detailed information about
12184// the error.
12185//
12186// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12187// API operation DescribeFleetInstances for usage and error information.
12188// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
12189func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
12190	req, out := c.DescribeFleetInstancesRequest(input)
12191	return out, req.Send()
12192}
12193
12194// DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
12195// the ability to pass a context and additional request options.
12196//
12197// See DescribeFleetInstances for details on how to use this API operation.
12198//
12199// The context must be non-nil and will be used for request cancellation. If
12200// the context is nil a panic will occur. In the future the SDK may create
12201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12202// for more information on using Contexts.
12203func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
12204	req, out := c.DescribeFleetInstancesRequest(input)
12205	req.SetContext(ctx)
12206	req.ApplyOptions(opts...)
12207	return out, req.Send()
12208}
12209
12210const opDescribeFleets = "DescribeFleets"
12211
12212// DescribeFleetsRequest generates a "aws/request.Request" representing the
12213// client's request for the DescribeFleets operation. The "output" return
12214// value will be populated with the request's response once the request completes
12215// successfully.
12216//
12217// Use "Send" method on the returned Request to send the API call to the service.
12218// the "output" return value is not valid until after Send returns without error.
12219//
12220// See DescribeFleets for more information on using the DescribeFleets
12221// API call, and error handling.
12222//
12223// This method is useful when you want to inject custom logic or configuration
12224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12225//
12226//
12227//    // Example sending a request using the DescribeFleetsRequest method.
12228//    req, resp := client.DescribeFleetsRequest(params)
12229//
12230//    err := req.Send()
12231//    if err == nil { // resp is now filled
12232//        fmt.Println(resp)
12233//    }
12234//
12235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
12236func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
12237	op := &request.Operation{
12238		Name:       opDescribeFleets,
12239		HTTPMethod: "POST",
12240		HTTPPath:   "/",
12241		Paginator: &request.Paginator{
12242			InputTokens:     []string{"NextToken"},
12243			OutputTokens:    []string{"NextToken"},
12244			LimitToken:      "MaxResults",
12245			TruncationToken: "",
12246		},
12247	}
12248
12249	if input == nil {
12250		input = &DescribeFleetsInput{}
12251	}
12252
12253	output = &DescribeFleetsOutput{}
12254	req = c.newRequest(op, input, output)
12255	return
12256}
12257
12258// DescribeFleets API operation for Amazon Elastic Compute Cloud.
12259//
12260// Describes the specified EC2 Fleets or all your EC2 Fleets.
12261//
12262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12263// with awserr.Error's Code and Message methods to get detailed information about
12264// the error.
12265//
12266// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12267// API operation DescribeFleets for usage and error information.
12268// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
12269func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
12270	req, out := c.DescribeFleetsRequest(input)
12271	return out, req.Send()
12272}
12273
12274// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
12275// the ability to pass a context and additional request options.
12276//
12277// See DescribeFleets for details on how to use this API operation.
12278//
12279// The context must be non-nil and will be used for request cancellation. If
12280// the context is nil a panic will occur. In the future the SDK may create
12281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12282// for more information on using Contexts.
12283func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
12284	req, out := c.DescribeFleetsRequest(input)
12285	req.SetContext(ctx)
12286	req.ApplyOptions(opts...)
12287	return out, req.Send()
12288}
12289
12290// DescribeFleetsPages iterates over the pages of a DescribeFleets operation,
12291// calling the "fn" function with the response data for each page. To stop
12292// iterating, return false from the fn function.
12293//
12294// See DescribeFleets method for more information on how to use this operation.
12295//
12296// Note: This operation can generate multiple requests to a service.
12297//
12298//    // Example iterating over at most 3 pages of a DescribeFleets operation.
12299//    pageNum := 0
12300//    err := client.DescribeFleetsPages(params,
12301//        func(page *ec2.DescribeFleetsOutput, lastPage bool) bool {
12302//            pageNum++
12303//            fmt.Println(page)
12304//            return pageNum <= 3
12305//        })
12306//
12307func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error {
12308	return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
12309}
12310
12311// DescribeFleetsPagesWithContext same as DescribeFleetsPages except
12312// it takes a Context and allows setting request options on the pages.
12313//
12314// The context must be non-nil and will be used for request cancellation. If
12315// the context is nil a panic will occur. In the future the SDK may create
12316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12317// for more information on using Contexts.
12318func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error {
12319	p := request.Pagination{
12320		NewRequest: func() (*request.Request, error) {
12321			var inCpy *DescribeFleetsInput
12322			if input != nil {
12323				tmp := *input
12324				inCpy = &tmp
12325			}
12326			req, _ := c.DescribeFleetsRequest(inCpy)
12327			req.SetContext(ctx)
12328			req.ApplyOptions(opts...)
12329			return req, nil
12330		},
12331	}
12332
12333	cont := true
12334	for p.Next() && cont {
12335		cont = fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage())
12336	}
12337	return p.Err()
12338}
12339
12340const opDescribeFlowLogs = "DescribeFlowLogs"
12341
12342// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
12343// client's request for the DescribeFlowLogs operation. The "output" return
12344// value will be populated with the request's response once the request completes
12345// successfully.
12346//
12347// Use "Send" method on the returned Request to send the API call to the service.
12348// the "output" return value is not valid until after Send returns without error.
12349//
12350// See DescribeFlowLogs for more information on using the DescribeFlowLogs
12351// API call, and error handling.
12352//
12353// This method is useful when you want to inject custom logic or configuration
12354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12355//
12356//
12357//    // Example sending a request using the DescribeFlowLogsRequest method.
12358//    req, resp := client.DescribeFlowLogsRequest(params)
12359//
12360//    err := req.Send()
12361//    if err == nil { // resp is now filled
12362//        fmt.Println(resp)
12363//    }
12364//
12365// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
12366func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
12367	op := &request.Operation{
12368		Name:       opDescribeFlowLogs,
12369		HTTPMethod: "POST",
12370		HTTPPath:   "/",
12371		Paginator: &request.Paginator{
12372			InputTokens:     []string{"NextToken"},
12373			OutputTokens:    []string{"NextToken"},
12374			LimitToken:      "MaxResults",
12375			TruncationToken: "",
12376		},
12377	}
12378
12379	if input == nil {
12380		input = &DescribeFlowLogsInput{}
12381	}
12382
12383	output = &DescribeFlowLogsOutput{}
12384	req = c.newRequest(op, input, output)
12385	return
12386}
12387
12388// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
12389//
12390// Describes one or more flow logs. To view the information in your flow logs
12391// (the log streams for the network interfaces), you must use the CloudWatch
12392// Logs console or the CloudWatch Logs API.
12393//
12394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12395// with awserr.Error's Code and Message methods to get detailed information about
12396// the error.
12397//
12398// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12399// API operation DescribeFlowLogs for usage and error information.
12400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
12401func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
12402	req, out := c.DescribeFlowLogsRequest(input)
12403	return out, req.Send()
12404}
12405
12406// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
12407// the ability to pass a context and additional request options.
12408//
12409// See DescribeFlowLogs for details on how to use this API operation.
12410//
12411// The context must be non-nil and will be used for request cancellation. If
12412// the context is nil a panic will occur. In the future the SDK may create
12413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12414// for more information on using Contexts.
12415func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
12416	req, out := c.DescribeFlowLogsRequest(input)
12417	req.SetContext(ctx)
12418	req.ApplyOptions(opts...)
12419	return out, req.Send()
12420}
12421
12422// DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation,
12423// calling the "fn" function with the response data for each page. To stop
12424// iterating, return false from the fn function.
12425//
12426// See DescribeFlowLogs method for more information on how to use this operation.
12427//
12428// Note: This operation can generate multiple requests to a service.
12429//
12430//    // Example iterating over at most 3 pages of a DescribeFlowLogs operation.
12431//    pageNum := 0
12432//    err := client.DescribeFlowLogsPages(params,
12433//        func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool {
12434//            pageNum++
12435//            fmt.Println(page)
12436//            return pageNum <= 3
12437//        })
12438//
12439func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error {
12440	return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn)
12441}
12442
12443// DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except
12444// it takes a Context and allows setting request options on the pages.
12445//
12446// The context must be non-nil and will be used for request cancellation. If
12447// the context is nil a panic will occur. In the future the SDK may create
12448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12449// for more information on using Contexts.
12450func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error {
12451	p := request.Pagination{
12452		NewRequest: func() (*request.Request, error) {
12453			var inCpy *DescribeFlowLogsInput
12454			if input != nil {
12455				tmp := *input
12456				inCpy = &tmp
12457			}
12458			req, _ := c.DescribeFlowLogsRequest(inCpy)
12459			req.SetContext(ctx)
12460			req.ApplyOptions(opts...)
12461			return req, nil
12462		},
12463	}
12464
12465	cont := true
12466	for p.Next() && cont {
12467		cont = fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage())
12468	}
12469	return p.Err()
12470}
12471
12472const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
12473
12474// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
12475// client's request for the DescribeFpgaImageAttribute operation. The "output" return
12476// value will be populated with the request's response once the request completes
12477// successfully.
12478//
12479// Use "Send" method on the returned Request to send the API call to the service.
12480// the "output" return value is not valid until after Send returns without error.
12481//
12482// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
12483// API call, and error handling.
12484//
12485// This method is useful when you want to inject custom logic or configuration
12486// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12487//
12488//
12489//    // Example sending a request using the DescribeFpgaImageAttributeRequest method.
12490//    req, resp := client.DescribeFpgaImageAttributeRequest(params)
12491//
12492//    err := req.Send()
12493//    if err == nil { // resp is now filled
12494//        fmt.Println(resp)
12495//    }
12496//
12497// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
12498func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
12499	op := &request.Operation{
12500		Name:       opDescribeFpgaImageAttribute,
12501		HTTPMethod: "POST",
12502		HTTPPath:   "/",
12503	}
12504
12505	if input == nil {
12506		input = &DescribeFpgaImageAttributeInput{}
12507	}
12508
12509	output = &DescribeFpgaImageAttributeOutput{}
12510	req = c.newRequest(op, input, output)
12511	return
12512}
12513
12514// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
12515//
12516// Describes the specified attribute of the specified Amazon FPGA Image (AFI).
12517//
12518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12519// with awserr.Error's Code and Message methods to get detailed information about
12520// the error.
12521//
12522// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12523// API operation DescribeFpgaImageAttribute for usage and error information.
12524// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
12525func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
12526	req, out := c.DescribeFpgaImageAttributeRequest(input)
12527	return out, req.Send()
12528}
12529
12530// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
12531// the ability to pass a context and additional request options.
12532//
12533// See DescribeFpgaImageAttribute for details on how to use this API operation.
12534//
12535// The context must be non-nil and will be used for request cancellation. If
12536// the context is nil a panic will occur. In the future the SDK may create
12537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12538// for more information on using Contexts.
12539func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
12540	req, out := c.DescribeFpgaImageAttributeRequest(input)
12541	req.SetContext(ctx)
12542	req.ApplyOptions(opts...)
12543	return out, req.Send()
12544}
12545
12546const opDescribeFpgaImages = "DescribeFpgaImages"
12547
12548// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
12549// client's request for the DescribeFpgaImages operation. The "output" return
12550// value will be populated with the request's response once the request completes
12551// successfully.
12552//
12553// Use "Send" method on the returned Request to send the API call to the service.
12554// the "output" return value is not valid until after Send returns without error.
12555//
12556// See DescribeFpgaImages for more information on using the DescribeFpgaImages
12557// API call, and error handling.
12558//
12559// This method is useful when you want to inject custom logic or configuration
12560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12561//
12562//
12563//    // Example sending a request using the DescribeFpgaImagesRequest method.
12564//    req, resp := client.DescribeFpgaImagesRequest(params)
12565//
12566//    err := req.Send()
12567//    if err == nil { // resp is now filled
12568//        fmt.Println(resp)
12569//    }
12570//
12571// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
12572func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
12573	op := &request.Operation{
12574		Name:       opDescribeFpgaImages,
12575		HTTPMethod: "POST",
12576		HTTPPath:   "/",
12577		Paginator: &request.Paginator{
12578			InputTokens:     []string{"NextToken"},
12579			OutputTokens:    []string{"NextToken"},
12580			LimitToken:      "MaxResults",
12581			TruncationToken: "",
12582		},
12583	}
12584
12585	if input == nil {
12586		input = &DescribeFpgaImagesInput{}
12587	}
12588
12589	output = &DescribeFpgaImagesOutput{}
12590	req = c.newRequest(op, input, output)
12591	return
12592}
12593
12594// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
12595//
12596// Describes the Amazon FPGA Images (AFIs) available to you. These include public
12597// AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
12598// which you have load permissions.
12599//
12600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12601// with awserr.Error's Code and Message methods to get detailed information about
12602// the error.
12603//
12604// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12605// API operation DescribeFpgaImages for usage and error information.
12606// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
12607func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
12608	req, out := c.DescribeFpgaImagesRequest(input)
12609	return out, req.Send()
12610}
12611
12612// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
12613// the ability to pass a context and additional request options.
12614//
12615// See DescribeFpgaImages for details on how to use this API operation.
12616//
12617// The context must be non-nil and will be used for request cancellation. If
12618// the context is nil a panic will occur. In the future the SDK may create
12619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12620// for more information on using Contexts.
12621func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
12622	req, out := c.DescribeFpgaImagesRequest(input)
12623	req.SetContext(ctx)
12624	req.ApplyOptions(opts...)
12625	return out, req.Send()
12626}
12627
12628// DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation,
12629// calling the "fn" function with the response data for each page. To stop
12630// iterating, return false from the fn function.
12631//
12632// See DescribeFpgaImages method for more information on how to use this operation.
12633//
12634// Note: This operation can generate multiple requests to a service.
12635//
12636//    // Example iterating over at most 3 pages of a DescribeFpgaImages operation.
12637//    pageNum := 0
12638//    err := client.DescribeFpgaImagesPages(params,
12639//        func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool {
12640//            pageNum++
12641//            fmt.Println(page)
12642//            return pageNum <= 3
12643//        })
12644//
12645func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error {
12646	return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn)
12647}
12648
12649// DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except
12650// it takes a Context and allows setting request options on the pages.
12651//
12652// The context must be non-nil and will be used for request cancellation. If
12653// the context is nil a panic will occur. In the future the SDK may create
12654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12655// for more information on using Contexts.
12656func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error {
12657	p := request.Pagination{
12658		NewRequest: func() (*request.Request, error) {
12659			var inCpy *DescribeFpgaImagesInput
12660			if input != nil {
12661				tmp := *input
12662				inCpy = &tmp
12663			}
12664			req, _ := c.DescribeFpgaImagesRequest(inCpy)
12665			req.SetContext(ctx)
12666			req.ApplyOptions(opts...)
12667			return req, nil
12668		},
12669	}
12670
12671	cont := true
12672	for p.Next() && cont {
12673		cont = fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage())
12674	}
12675	return p.Err()
12676}
12677
12678const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
12679
12680// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
12681// client's request for the DescribeHostReservationOfferings operation. The "output" return
12682// value will be populated with the request's response once the request completes
12683// successfully.
12684//
12685// Use "Send" method on the returned Request to send the API call to the service.
12686// the "output" return value is not valid until after Send returns without error.
12687//
12688// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
12689// API call, and error handling.
12690//
12691// This method is useful when you want to inject custom logic or configuration
12692// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12693//
12694//
12695//    // Example sending a request using the DescribeHostReservationOfferingsRequest method.
12696//    req, resp := client.DescribeHostReservationOfferingsRequest(params)
12697//
12698//    err := req.Send()
12699//    if err == nil { // resp is now filled
12700//        fmt.Println(resp)
12701//    }
12702//
12703// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
12704func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
12705	op := &request.Operation{
12706		Name:       opDescribeHostReservationOfferings,
12707		HTTPMethod: "POST",
12708		HTTPPath:   "/",
12709		Paginator: &request.Paginator{
12710			InputTokens:     []string{"NextToken"},
12711			OutputTokens:    []string{"NextToken"},
12712			LimitToken:      "MaxResults",
12713			TruncationToken: "",
12714		},
12715	}
12716
12717	if input == nil {
12718		input = &DescribeHostReservationOfferingsInput{}
12719	}
12720
12721	output = &DescribeHostReservationOfferingsOutput{}
12722	req = c.newRequest(op, input, output)
12723	return
12724}
12725
12726// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
12727//
12728// Describes the Dedicated Host reservations that are available to purchase.
12729//
12730// The results describe all the Dedicated Host reservation offerings, including
12731// offerings that may not match the instance family and Region of your Dedicated
12732// Hosts. When purchasing an offering, ensure that the instance family and Region
12733// of the offering matches that of the Dedicated Hosts with which it is to be
12734// associated. For more information about supported instance types, see Dedicated
12735// Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
12736// in the Amazon Elastic Compute Cloud User Guide.
12737//
12738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12739// with awserr.Error's Code and Message methods to get detailed information about
12740// the error.
12741//
12742// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12743// API operation DescribeHostReservationOfferings for usage and error information.
12744// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
12745func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
12746	req, out := c.DescribeHostReservationOfferingsRequest(input)
12747	return out, req.Send()
12748}
12749
12750// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
12751// the ability to pass a context and additional request options.
12752//
12753// See DescribeHostReservationOfferings for details on how to use this API operation.
12754//
12755// The context must be non-nil and will be used for request cancellation. If
12756// the context is nil a panic will occur. In the future the SDK may create
12757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12758// for more information on using Contexts.
12759func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
12760	req, out := c.DescribeHostReservationOfferingsRequest(input)
12761	req.SetContext(ctx)
12762	req.ApplyOptions(opts...)
12763	return out, req.Send()
12764}
12765
12766// DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation,
12767// calling the "fn" function with the response data for each page. To stop
12768// iterating, return false from the fn function.
12769//
12770// See DescribeHostReservationOfferings method for more information on how to use this operation.
12771//
12772// Note: This operation can generate multiple requests to a service.
12773//
12774//    // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation.
12775//    pageNum := 0
12776//    err := client.DescribeHostReservationOfferingsPages(params,
12777//        func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool {
12778//            pageNum++
12779//            fmt.Println(page)
12780//            return pageNum <= 3
12781//        })
12782//
12783func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error {
12784	return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
12785}
12786
12787// DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except
12788// it takes a Context and allows setting request options on the pages.
12789//
12790// The context must be non-nil and will be used for request cancellation. If
12791// the context is nil a panic will occur. In the future the SDK may create
12792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12793// for more information on using Contexts.
12794func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error {
12795	p := request.Pagination{
12796		NewRequest: func() (*request.Request, error) {
12797			var inCpy *DescribeHostReservationOfferingsInput
12798			if input != nil {
12799				tmp := *input
12800				inCpy = &tmp
12801			}
12802			req, _ := c.DescribeHostReservationOfferingsRequest(inCpy)
12803			req.SetContext(ctx)
12804			req.ApplyOptions(opts...)
12805			return req, nil
12806		},
12807	}
12808
12809	cont := true
12810	for p.Next() && cont {
12811		cont = fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage())
12812	}
12813	return p.Err()
12814}
12815
12816const opDescribeHostReservations = "DescribeHostReservations"
12817
12818// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
12819// client's request for the DescribeHostReservations operation. The "output" return
12820// value will be populated with the request's response once the request completes
12821// successfully.
12822//
12823// Use "Send" method on the returned Request to send the API call to the service.
12824// the "output" return value is not valid until after Send returns without error.
12825//
12826// See DescribeHostReservations for more information on using the DescribeHostReservations
12827// API call, and error handling.
12828//
12829// This method is useful when you want to inject custom logic or configuration
12830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12831//
12832//
12833//    // Example sending a request using the DescribeHostReservationsRequest method.
12834//    req, resp := client.DescribeHostReservationsRequest(params)
12835//
12836//    err := req.Send()
12837//    if err == nil { // resp is now filled
12838//        fmt.Println(resp)
12839//    }
12840//
12841// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
12842func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
12843	op := &request.Operation{
12844		Name:       opDescribeHostReservations,
12845		HTTPMethod: "POST",
12846		HTTPPath:   "/",
12847		Paginator: &request.Paginator{
12848			InputTokens:     []string{"NextToken"},
12849			OutputTokens:    []string{"NextToken"},
12850			LimitToken:      "MaxResults",
12851			TruncationToken: "",
12852		},
12853	}
12854
12855	if input == nil {
12856		input = &DescribeHostReservationsInput{}
12857	}
12858
12859	output = &DescribeHostReservationsOutput{}
12860	req = c.newRequest(op, input, output)
12861	return
12862}
12863
12864// DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
12865//
12866// Describes reservations that are associated with Dedicated Hosts in your account.
12867//
12868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12869// with awserr.Error's Code and Message methods to get detailed information about
12870// the error.
12871//
12872// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12873// API operation DescribeHostReservations for usage and error information.
12874// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
12875func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
12876	req, out := c.DescribeHostReservationsRequest(input)
12877	return out, req.Send()
12878}
12879
12880// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
12881// the ability to pass a context and additional request options.
12882//
12883// See DescribeHostReservations for details on how to use this API operation.
12884//
12885// The context must be non-nil and will be used for request cancellation. If
12886// the context is nil a panic will occur. In the future the SDK may create
12887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12888// for more information on using Contexts.
12889func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
12890	req, out := c.DescribeHostReservationsRequest(input)
12891	req.SetContext(ctx)
12892	req.ApplyOptions(opts...)
12893	return out, req.Send()
12894}
12895
12896// DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation,
12897// calling the "fn" function with the response data for each page. To stop
12898// iterating, return false from the fn function.
12899//
12900// See DescribeHostReservations method for more information on how to use this operation.
12901//
12902// Note: This operation can generate multiple requests to a service.
12903//
12904//    // Example iterating over at most 3 pages of a DescribeHostReservations operation.
12905//    pageNum := 0
12906//    err := client.DescribeHostReservationsPages(params,
12907//        func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool {
12908//            pageNum++
12909//            fmt.Println(page)
12910//            return pageNum <= 3
12911//        })
12912//
12913func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error {
12914	return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
12915}
12916
12917// DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except
12918// it takes a Context and allows setting request options on the pages.
12919//
12920// The context must be non-nil and will be used for request cancellation. If
12921// the context is nil a panic will occur. In the future the SDK may create
12922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12923// for more information on using Contexts.
12924func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error {
12925	p := request.Pagination{
12926		NewRequest: func() (*request.Request, error) {
12927			var inCpy *DescribeHostReservationsInput
12928			if input != nil {
12929				tmp := *input
12930				inCpy = &tmp
12931			}
12932			req, _ := c.DescribeHostReservationsRequest(inCpy)
12933			req.SetContext(ctx)
12934			req.ApplyOptions(opts...)
12935			return req, nil
12936		},
12937	}
12938
12939	cont := true
12940	for p.Next() && cont {
12941		cont = fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage())
12942	}
12943	return p.Err()
12944}
12945
12946const opDescribeHosts = "DescribeHosts"
12947
12948// DescribeHostsRequest generates a "aws/request.Request" representing the
12949// client's request for the DescribeHosts operation. The "output" return
12950// value will be populated with the request's response once the request completes
12951// successfully.
12952//
12953// Use "Send" method on the returned Request to send the API call to the service.
12954// the "output" return value is not valid until after Send returns without error.
12955//
12956// See DescribeHosts for more information on using the DescribeHosts
12957// API call, and error handling.
12958//
12959// This method is useful when you want to inject custom logic or configuration
12960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12961//
12962//
12963//    // Example sending a request using the DescribeHostsRequest method.
12964//    req, resp := client.DescribeHostsRequest(params)
12965//
12966//    err := req.Send()
12967//    if err == nil { // resp is now filled
12968//        fmt.Println(resp)
12969//    }
12970//
12971// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
12972func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
12973	op := &request.Operation{
12974		Name:       opDescribeHosts,
12975		HTTPMethod: "POST",
12976		HTTPPath:   "/",
12977		Paginator: &request.Paginator{
12978			InputTokens:     []string{"NextToken"},
12979			OutputTokens:    []string{"NextToken"},
12980			LimitToken:      "MaxResults",
12981			TruncationToken: "",
12982		},
12983	}
12984
12985	if input == nil {
12986		input = &DescribeHostsInput{}
12987	}
12988
12989	output = &DescribeHostsOutput{}
12990	req = c.newRequest(op, input, output)
12991	return
12992}
12993
12994// DescribeHosts API operation for Amazon Elastic Compute Cloud.
12995//
12996// Describes the specified Dedicated Hosts or all your Dedicated Hosts.
12997//
12998// The results describe only the Dedicated Hosts in the Region you're currently
12999// using. All listed instances consume capacity on your Dedicated Host. Dedicated
13000// Hosts that have recently been released are listed with the state released.
13001//
13002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13003// with awserr.Error's Code and Message methods to get detailed information about
13004// the error.
13005//
13006// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13007// API operation DescribeHosts for usage and error information.
13008// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
13009func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
13010	req, out := c.DescribeHostsRequest(input)
13011	return out, req.Send()
13012}
13013
13014// DescribeHostsWithContext is the same as DescribeHosts with the addition of
13015// the ability to pass a context and additional request options.
13016//
13017// See DescribeHosts for details on how to use this API operation.
13018//
13019// The context must be non-nil and will be used for request cancellation. If
13020// the context is nil a panic will occur. In the future the SDK may create
13021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13022// for more information on using Contexts.
13023func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
13024	req, out := c.DescribeHostsRequest(input)
13025	req.SetContext(ctx)
13026	req.ApplyOptions(opts...)
13027	return out, req.Send()
13028}
13029
13030// DescribeHostsPages iterates over the pages of a DescribeHosts operation,
13031// calling the "fn" function with the response data for each page. To stop
13032// iterating, return false from the fn function.
13033//
13034// See DescribeHosts method for more information on how to use this operation.
13035//
13036// Note: This operation can generate multiple requests to a service.
13037//
13038//    // Example iterating over at most 3 pages of a DescribeHosts operation.
13039//    pageNum := 0
13040//    err := client.DescribeHostsPages(params,
13041//        func(page *ec2.DescribeHostsOutput, lastPage bool) bool {
13042//            pageNum++
13043//            fmt.Println(page)
13044//            return pageNum <= 3
13045//        })
13046//
13047func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error {
13048	return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn)
13049}
13050
13051// DescribeHostsPagesWithContext same as DescribeHostsPages except
13052// it takes a Context and allows setting request options on the pages.
13053//
13054// The context must be non-nil and will be used for request cancellation. If
13055// the context is nil a panic will occur. In the future the SDK may create
13056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13057// for more information on using Contexts.
13058func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error {
13059	p := request.Pagination{
13060		NewRequest: func() (*request.Request, error) {
13061			var inCpy *DescribeHostsInput
13062			if input != nil {
13063				tmp := *input
13064				inCpy = &tmp
13065			}
13066			req, _ := c.DescribeHostsRequest(inCpy)
13067			req.SetContext(ctx)
13068			req.ApplyOptions(opts...)
13069			return req, nil
13070		},
13071	}
13072
13073	cont := true
13074	for p.Next() && cont {
13075		cont = fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage())
13076	}
13077	return p.Err()
13078}
13079
13080const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
13081
13082// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
13083// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
13084// value will be populated with the request's response once the request completes
13085// successfully.
13086//
13087// Use "Send" method on the returned Request to send the API call to the service.
13088// the "output" return value is not valid until after Send returns without error.
13089//
13090// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
13091// API call, and error handling.
13092//
13093// This method is useful when you want to inject custom logic or configuration
13094// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13095//
13096//
13097//    // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
13098//    req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
13099//
13100//    err := req.Send()
13101//    if err == nil { // resp is now filled
13102//        fmt.Println(resp)
13103//    }
13104//
13105// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
13106func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
13107	op := &request.Operation{
13108		Name:       opDescribeIamInstanceProfileAssociations,
13109		HTTPMethod: "POST",
13110		HTTPPath:   "/",
13111		Paginator: &request.Paginator{
13112			InputTokens:     []string{"NextToken"},
13113			OutputTokens:    []string{"NextToken"},
13114			LimitToken:      "MaxResults",
13115			TruncationToken: "",
13116		},
13117	}
13118
13119	if input == nil {
13120		input = &DescribeIamInstanceProfileAssociationsInput{}
13121	}
13122
13123	output = &DescribeIamInstanceProfileAssociationsOutput{}
13124	req = c.newRequest(op, input, output)
13125	return
13126}
13127
13128// DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
13129//
13130// Describes your IAM instance profile associations.
13131//
13132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13133// with awserr.Error's Code and Message methods to get detailed information about
13134// the error.
13135//
13136// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13137// API operation DescribeIamInstanceProfileAssociations for usage and error information.
13138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
13139func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
13140	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
13141	return out, req.Send()
13142}
13143
13144// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
13145// the ability to pass a context and additional request options.
13146//
13147// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
13148//
13149// The context must be non-nil and will be used for request cancellation. If
13150// the context is nil a panic will occur. In the future the SDK may create
13151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13152// for more information on using Contexts.
13153func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
13154	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
13155	req.SetContext(ctx)
13156	req.ApplyOptions(opts...)
13157	return out, req.Send()
13158}
13159
13160// DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation,
13161// calling the "fn" function with the response data for each page. To stop
13162// iterating, return false from the fn function.
13163//
13164// See DescribeIamInstanceProfileAssociations method for more information on how to use this operation.
13165//
13166// Note: This operation can generate multiple requests to a service.
13167//
13168//    // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation.
13169//    pageNum := 0
13170//    err := client.DescribeIamInstanceProfileAssociationsPages(params,
13171//        func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool {
13172//            pageNum++
13173//            fmt.Println(page)
13174//            return pageNum <= 3
13175//        })
13176//
13177func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error {
13178	return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
13179}
13180
13181// DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except
13182// it takes a Context and allows setting request options on the pages.
13183//
13184// The context must be non-nil and will be used for request cancellation. If
13185// the context is nil a panic will occur. In the future the SDK may create
13186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13187// for more information on using Contexts.
13188func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error {
13189	p := request.Pagination{
13190		NewRequest: func() (*request.Request, error) {
13191			var inCpy *DescribeIamInstanceProfileAssociationsInput
13192			if input != nil {
13193				tmp := *input
13194				inCpy = &tmp
13195			}
13196			req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy)
13197			req.SetContext(ctx)
13198			req.ApplyOptions(opts...)
13199			return req, nil
13200		},
13201	}
13202
13203	cont := true
13204	for p.Next() && cont {
13205		cont = fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage())
13206	}
13207	return p.Err()
13208}
13209
13210const opDescribeIdFormat = "DescribeIdFormat"
13211
13212// DescribeIdFormatRequest generates a "aws/request.Request" representing the
13213// client's request for the DescribeIdFormat operation. The "output" return
13214// value will be populated with the request's response once the request completes
13215// successfully.
13216//
13217// Use "Send" method on the returned Request to send the API call to the service.
13218// the "output" return value is not valid until after Send returns without error.
13219//
13220// See DescribeIdFormat for more information on using the DescribeIdFormat
13221// API call, and error handling.
13222//
13223// This method is useful when you want to inject custom logic or configuration
13224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13225//
13226//
13227//    // Example sending a request using the DescribeIdFormatRequest method.
13228//    req, resp := client.DescribeIdFormatRequest(params)
13229//
13230//    err := req.Send()
13231//    if err == nil { // resp is now filled
13232//        fmt.Println(resp)
13233//    }
13234//
13235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
13236func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
13237	op := &request.Operation{
13238		Name:       opDescribeIdFormat,
13239		HTTPMethod: "POST",
13240		HTTPPath:   "/",
13241	}
13242
13243	if input == nil {
13244		input = &DescribeIdFormatInput{}
13245	}
13246
13247	output = &DescribeIdFormatOutput{}
13248	req = c.newRequest(op, input, output)
13249	return
13250}
13251
13252// DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
13253//
13254// Describes the ID format settings for your resources on a per-Region basis,
13255// for example, to view which resource types are enabled for longer IDs. This
13256// request only returns information about resource types whose ID formats can
13257// be modified; it does not return information about other resource types.
13258//
13259// The following resource types support longer IDs: bundle | conversion-task
13260// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
13261// | export-task | flow-log | image | import-task | instance | internet-gateway
13262// | network-acl | network-acl-association | network-interface | network-interface-attachment
13263// | prefix-list | reservation | route-table | route-table-association | security-group
13264// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
13265// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
13266//
13267// These settings apply to the IAM user who makes the request; they do not apply
13268// to the entire AWS account. By default, an IAM user defaults to the same settings
13269// as the root user, unless they explicitly override the settings by running
13270// the ModifyIdFormat command. Resources created with longer IDs are visible
13271// to all IAM users, regardless of these settings and provided that they have
13272// permission to use the relevant Describe command for the resource type.
13273//
13274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13275// with awserr.Error's Code and Message methods to get detailed information about
13276// the error.
13277//
13278// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13279// API operation DescribeIdFormat for usage and error information.
13280// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
13281func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
13282	req, out := c.DescribeIdFormatRequest(input)
13283	return out, req.Send()
13284}
13285
13286// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
13287// the ability to pass a context and additional request options.
13288//
13289// See DescribeIdFormat for details on how to use this API operation.
13290//
13291// The context must be non-nil and will be used for request cancellation. If
13292// the context is nil a panic will occur. In the future the SDK may create
13293// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13294// for more information on using Contexts.
13295func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
13296	req, out := c.DescribeIdFormatRequest(input)
13297	req.SetContext(ctx)
13298	req.ApplyOptions(opts...)
13299	return out, req.Send()
13300}
13301
13302const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
13303
13304// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
13305// client's request for the DescribeIdentityIdFormat operation. The "output" return
13306// value will be populated with the request's response once the request completes
13307// successfully.
13308//
13309// Use "Send" method on the returned Request to send the API call to the service.
13310// the "output" return value is not valid until after Send returns without error.
13311//
13312// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
13313// API call, and error handling.
13314//
13315// This method is useful when you want to inject custom logic or configuration
13316// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13317//
13318//
13319//    // Example sending a request using the DescribeIdentityIdFormatRequest method.
13320//    req, resp := client.DescribeIdentityIdFormatRequest(params)
13321//
13322//    err := req.Send()
13323//    if err == nil { // resp is now filled
13324//        fmt.Println(resp)
13325//    }
13326//
13327// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
13328func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
13329	op := &request.Operation{
13330		Name:       opDescribeIdentityIdFormat,
13331		HTTPMethod: "POST",
13332		HTTPPath:   "/",
13333	}
13334
13335	if input == nil {
13336		input = &DescribeIdentityIdFormatInput{}
13337	}
13338
13339	output = &DescribeIdentityIdFormatOutput{}
13340	req = c.newRequest(op, input, output)
13341	return
13342}
13343
13344// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
13345//
13346// Describes the ID format settings for resources for the specified IAM user,
13347// IAM role, or root user. For example, you can view the resource types that
13348// are enabled for longer IDs. This request only returns information about resource
13349// types whose ID formats can be modified; it does not return information about
13350// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
13351// in the Amazon Elastic Compute Cloud User Guide.
13352//
13353// The following resource types support longer IDs: bundle | conversion-task
13354// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
13355// | export-task | flow-log | image | import-task | instance | internet-gateway
13356// | network-acl | network-acl-association | network-interface | network-interface-attachment
13357// | prefix-list | reservation | route-table | route-table-association | security-group
13358// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
13359// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
13360//
13361// These settings apply to the principal specified in the request. They do not
13362// apply to the principal that makes the request.
13363//
13364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13365// with awserr.Error's Code and Message methods to get detailed information about
13366// the error.
13367//
13368// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13369// API operation DescribeIdentityIdFormat for usage and error information.
13370// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
13371func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
13372	req, out := c.DescribeIdentityIdFormatRequest(input)
13373	return out, req.Send()
13374}
13375
13376// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
13377// the ability to pass a context and additional request options.
13378//
13379// See DescribeIdentityIdFormat for details on how to use this API operation.
13380//
13381// The context must be non-nil and will be used for request cancellation. If
13382// the context is nil a panic will occur. In the future the SDK may create
13383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13384// for more information on using Contexts.
13385func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
13386	req, out := c.DescribeIdentityIdFormatRequest(input)
13387	req.SetContext(ctx)
13388	req.ApplyOptions(opts...)
13389	return out, req.Send()
13390}
13391
13392const opDescribeImageAttribute = "DescribeImageAttribute"
13393
13394// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
13395// client's request for the DescribeImageAttribute operation. The "output" return
13396// value will be populated with the request's response once the request completes
13397// successfully.
13398//
13399// Use "Send" method on the returned Request to send the API call to the service.
13400// the "output" return value is not valid until after Send returns without error.
13401//
13402// See DescribeImageAttribute for more information on using the DescribeImageAttribute
13403// API call, and error handling.
13404//
13405// This method is useful when you want to inject custom logic or configuration
13406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13407//
13408//
13409//    // Example sending a request using the DescribeImageAttributeRequest method.
13410//    req, resp := client.DescribeImageAttributeRequest(params)
13411//
13412//    err := req.Send()
13413//    if err == nil { // resp is now filled
13414//        fmt.Println(resp)
13415//    }
13416//
13417// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
13418func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
13419	op := &request.Operation{
13420		Name:       opDescribeImageAttribute,
13421		HTTPMethod: "POST",
13422		HTTPPath:   "/",
13423	}
13424
13425	if input == nil {
13426		input = &DescribeImageAttributeInput{}
13427	}
13428
13429	output = &DescribeImageAttributeOutput{}
13430	req = c.newRequest(op, input, output)
13431	return
13432}
13433
13434// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
13435//
13436// Describes the specified attribute of the specified AMI. You can specify only
13437// one attribute at a time.
13438//
13439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13440// with awserr.Error's Code and Message methods to get detailed information about
13441// the error.
13442//
13443// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13444// API operation DescribeImageAttribute for usage and error information.
13445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
13446func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
13447	req, out := c.DescribeImageAttributeRequest(input)
13448	return out, req.Send()
13449}
13450
13451// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
13452// the ability to pass a context and additional request options.
13453//
13454// See DescribeImageAttribute for details on how to use this API operation.
13455//
13456// The context must be non-nil and will be used for request cancellation. If
13457// the context is nil a panic will occur. In the future the SDK may create
13458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13459// for more information on using Contexts.
13460func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
13461	req, out := c.DescribeImageAttributeRequest(input)
13462	req.SetContext(ctx)
13463	req.ApplyOptions(opts...)
13464	return out, req.Send()
13465}
13466
13467const opDescribeImages = "DescribeImages"
13468
13469// DescribeImagesRequest generates a "aws/request.Request" representing the
13470// client's request for the DescribeImages operation. The "output" return
13471// value will be populated with the request's response once the request completes
13472// successfully.
13473//
13474// Use "Send" method on the returned Request to send the API call to the service.
13475// the "output" return value is not valid until after Send returns without error.
13476//
13477// See DescribeImages for more information on using the DescribeImages
13478// API call, and error handling.
13479//
13480// This method is useful when you want to inject custom logic or configuration
13481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13482//
13483//
13484//    // Example sending a request using the DescribeImagesRequest method.
13485//    req, resp := client.DescribeImagesRequest(params)
13486//
13487//    err := req.Send()
13488//    if err == nil { // resp is now filled
13489//        fmt.Println(resp)
13490//    }
13491//
13492// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
13493func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
13494	op := &request.Operation{
13495		Name:       opDescribeImages,
13496		HTTPMethod: "POST",
13497		HTTPPath:   "/",
13498	}
13499
13500	if input == nil {
13501		input = &DescribeImagesInput{}
13502	}
13503
13504	output = &DescribeImagesOutput{}
13505	req = c.newRequest(op, input, output)
13506	return
13507}
13508
13509// DescribeImages API operation for Amazon Elastic Compute Cloud.
13510//
13511// Describes the specified images (AMIs, AKIs, and ARIs) available to you or
13512// all of the images available to you.
13513//
13514// The images available to you include public images, private images that you
13515// own, and private images owned by other AWS accounts for which you have explicit
13516// launch permissions.
13517//
13518// Recently deregistered images appear in the returned results for a short interval
13519// and then return empty results. After all instances that reference a deregistered
13520// AMI are terminated, specifying the ID of the image results in an error indicating
13521// that the AMI ID cannot be found.
13522//
13523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13524// with awserr.Error's Code and Message methods to get detailed information about
13525// the error.
13526//
13527// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13528// API operation DescribeImages for usage and error information.
13529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
13530func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
13531	req, out := c.DescribeImagesRequest(input)
13532	return out, req.Send()
13533}
13534
13535// DescribeImagesWithContext is the same as DescribeImages with the addition of
13536// the ability to pass a context and additional request options.
13537//
13538// See DescribeImages for details on how to use this API operation.
13539//
13540// The context must be non-nil and will be used for request cancellation. If
13541// the context is nil a panic will occur. In the future the SDK may create
13542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13543// for more information on using Contexts.
13544func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
13545	req, out := c.DescribeImagesRequest(input)
13546	req.SetContext(ctx)
13547	req.ApplyOptions(opts...)
13548	return out, req.Send()
13549}
13550
13551const opDescribeImportImageTasks = "DescribeImportImageTasks"
13552
13553// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
13554// client's request for the DescribeImportImageTasks operation. The "output" return
13555// value will be populated with the request's response once the request completes
13556// successfully.
13557//
13558// Use "Send" method on the returned Request to send the API call to the service.
13559// the "output" return value is not valid until after Send returns without error.
13560//
13561// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
13562// API call, and error handling.
13563//
13564// This method is useful when you want to inject custom logic or configuration
13565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13566//
13567//
13568//    // Example sending a request using the DescribeImportImageTasksRequest method.
13569//    req, resp := client.DescribeImportImageTasksRequest(params)
13570//
13571//    err := req.Send()
13572//    if err == nil { // resp is now filled
13573//        fmt.Println(resp)
13574//    }
13575//
13576// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
13577func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
13578	op := &request.Operation{
13579		Name:       opDescribeImportImageTasks,
13580		HTTPMethod: "POST",
13581		HTTPPath:   "/",
13582		Paginator: &request.Paginator{
13583			InputTokens:     []string{"NextToken"},
13584			OutputTokens:    []string{"NextToken"},
13585			LimitToken:      "MaxResults",
13586			TruncationToken: "",
13587		},
13588	}
13589
13590	if input == nil {
13591		input = &DescribeImportImageTasksInput{}
13592	}
13593
13594	output = &DescribeImportImageTasksOutput{}
13595	req = c.newRequest(op, input, output)
13596	return
13597}
13598
13599// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
13600//
13601// Displays details about an import virtual machine or import snapshot tasks
13602// that are already created.
13603//
13604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13605// with awserr.Error's Code and Message methods to get detailed information about
13606// the error.
13607//
13608// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13609// API operation DescribeImportImageTasks for usage and error information.
13610// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
13611func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
13612	req, out := c.DescribeImportImageTasksRequest(input)
13613	return out, req.Send()
13614}
13615
13616// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
13617// the ability to pass a context and additional request options.
13618//
13619// See DescribeImportImageTasks for details on how to use this API operation.
13620//
13621// The context must be non-nil and will be used for request cancellation. If
13622// the context is nil a panic will occur. In the future the SDK may create
13623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13624// for more information on using Contexts.
13625func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
13626	req, out := c.DescribeImportImageTasksRequest(input)
13627	req.SetContext(ctx)
13628	req.ApplyOptions(opts...)
13629	return out, req.Send()
13630}
13631
13632// DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation,
13633// calling the "fn" function with the response data for each page. To stop
13634// iterating, return false from the fn function.
13635//
13636// See DescribeImportImageTasks method for more information on how to use this operation.
13637//
13638// Note: This operation can generate multiple requests to a service.
13639//
13640//    // Example iterating over at most 3 pages of a DescribeImportImageTasks operation.
13641//    pageNum := 0
13642//    err := client.DescribeImportImageTasksPages(params,
13643//        func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool {
13644//            pageNum++
13645//            fmt.Println(page)
13646//            return pageNum <= 3
13647//        })
13648//
13649func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error {
13650	return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
13651}
13652
13653// DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except
13654// it takes a Context and allows setting request options on the pages.
13655//
13656// The context must be non-nil and will be used for request cancellation. If
13657// the context is nil a panic will occur. In the future the SDK may create
13658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13659// for more information on using Contexts.
13660func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error {
13661	p := request.Pagination{
13662		NewRequest: func() (*request.Request, error) {
13663			var inCpy *DescribeImportImageTasksInput
13664			if input != nil {
13665				tmp := *input
13666				inCpy = &tmp
13667			}
13668			req, _ := c.DescribeImportImageTasksRequest(inCpy)
13669			req.SetContext(ctx)
13670			req.ApplyOptions(opts...)
13671			return req, nil
13672		},
13673	}
13674
13675	cont := true
13676	for p.Next() && cont {
13677		cont = fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage())
13678	}
13679	return p.Err()
13680}
13681
13682const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
13683
13684// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
13685// client's request for the DescribeImportSnapshotTasks operation. The "output" return
13686// value will be populated with the request's response once the request completes
13687// successfully.
13688//
13689// Use "Send" method on the returned Request to send the API call to the service.
13690// the "output" return value is not valid until after Send returns without error.
13691//
13692// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
13693// API call, and error handling.
13694//
13695// This method is useful when you want to inject custom logic or configuration
13696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13697//
13698//
13699//    // Example sending a request using the DescribeImportSnapshotTasksRequest method.
13700//    req, resp := client.DescribeImportSnapshotTasksRequest(params)
13701//
13702//    err := req.Send()
13703//    if err == nil { // resp is now filled
13704//        fmt.Println(resp)
13705//    }
13706//
13707// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
13708func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
13709	op := &request.Operation{
13710		Name:       opDescribeImportSnapshotTasks,
13711		HTTPMethod: "POST",
13712		HTTPPath:   "/",
13713		Paginator: &request.Paginator{
13714			InputTokens:     []string{"NextToken"},
13715			OutputTokens:    []string{"NextToken"},
13716			LimitToken:      "MaxResults",
13717			TruncationToken: "",
13718		},
13719	}
13720
13721	if input == nil {
13722		input = &DescribeImportSnapshotTasksInput{}
13723	}
13724
13725	output = &DescribeImportSnapshotTasksOutput{}
13726	req = c.newRequest(op, input, output)
13727	return
13728}
13729
13730// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
13731//
13732// Describes your import snapshot tasks.
13733//
13734// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13735// with awserr.Error's Code and Message methods to get detailed information about
13736// the error.
13737//
13738// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13739// API operation DescribeImportSnapshotTasks for usage and error information.
13740// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
13741func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
13742	req, out := c.DescribeImportSnapshotTasksRequest(input)
13743	return out, req.Send()
13744}
13745
13746// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
13747// the ability to pass a context and additional request options.
13748//
13749// See DescribeImportSnapshotTasks for details on how to use this API operation.
13750//
13751// The context must be non-nil and will be used for request cancellation. If
13752// the context is nil a panic will occur. In the future the SDK may create
13753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13754// for more information on using Contexts.
13755func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
13756	req, out := c.DescribeImportSnapshotTasksRequest(input)
13757	req.SetContext(ctx)
13758	req.ApplyOptions(opts...)
13759	return out, req.Send()
13760}
13761
13762// DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation,
13763// calling the "fn" function with the response data for each page. To stop
13764// iterating, return false from the fn function.
13765//
13766// See DescribeImportSnapshotTasks method for more information on how to use this operation.
13767//
13768// Note: This operation can generate multiple requests to a service.
13769//
13770//    // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation.
13771//    pageNum := 0
13772//    err := client.DescribeImportSnapshotTasksPages(params,
13773//        func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool {
13774//            pageNum++
13775//            fmt.Println(page)
13776//            return pageNum <= 3
13777//        })
13778//
13779func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error {
13780	return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn)
13781}
13782
13783// DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except
13784// it takes a Context and allows setting request options on the pages.
13785//
13786// The context must be non-nil and will be used for request cancellation. If
13787// the context is nil a panic will occur. In the future the SDK may create
13788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13789// for more information on using Contexts.
13790func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error {
13791	p := request.Pagination{
13792		NewRequest: func() (*request.Request, error) {
13793			var inCpy *DescribeImportSnapshotTasksInput
13794			if input != nil {
13795				tmp := *input
13796				inCpy = &tmp
13797			}
13798			req, _ := c.DescribeImportSnapshotTasksRequest(inCpy)
13799			req.SetContext(ctx)
13800			req.ApplyOptions(opts...)
13801			return req, nil
13802		},
13803	}
13804
13805	cont := true
13806	for p.Next() && cont {
13807		cont = fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage())
13808	}
13809	return p.Err()
13810}
13811
13812const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
13813
13814// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
13815// client's request for the DescribeInstanceAttribute operation. The "output" return
13816// value will be populated with the request's response once the request completes
13817// successfully.
13818//
13819// Use "Send" method on the returned Request to send the API call to the service.
13820// the "output" return value is not valid until after Send returns without error.
13821//
13822// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
13823// API call, and error handling.
13824//
13825// This method is useful when you want to inject custom logic or configuration
13826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13827//
13828//
13829//    // Example sending a request using the DescribeInstanceAttributeRequest method.
13830//    req, resp := client.DescribeInstanceAttributeRequest(params)
13831//
13832//    err := req.Send()
13833//    if err == nil { // resp is now filled
13834//        fmt.Println(resp)
13835//    }
13836//
13837// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
13838func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
13839	op := &request.Operation{
13840		Name:       opDescribeInstanceAttribute,
13841		HTTPMethod: "POST",
13842		HTTPPath:   "/",
13843	}
13844
13845	if input == nil {
13846		input = &DescribeInstanceAttributeInput{}
13847	}
13848
13849	output = &DescribeInstanceAttributeOutput{}
13850	req = c.newRequest(op, input, output)
13851	return
13852}
13853
13854// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
13855//
13856// Describes the specified attribute of the specified instance. You can specify
13857// only one attribute at a time. Valid attribute values are: instanceType |
13858// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
13859// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
13860// groupSet | ebsOptimized | sriovNetSupport
13861//
13862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13863// with awserr.Error's Code and Message methods to get detailed information about
13864// the error.
13865//
13866// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13867// API operation DescribeInstanceAttribute for usage and error information.
13868// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
13869func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
13870	req, out := c.DescribeInstanceAttributeRequest(input)
13871	return out, req.Send()
13872}
13873
13874// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
13875// the ability to pass a context and additional request options.
13876//
13877// See DescribeInstanceAttribute for details on how to use this API operation.
13878//
13879// The context must be non-nil and will be used for request cancellation. If
13880// the context is nil a panic will occur. In the future the SDK may create
13881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13882// for more information on using Contexts.
13883func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
13884	req, out := c.DescribeInstanceAttributeRequest(input)
13885	req.SetContext(ctx)
13886	req.ApplyOptions(opts...)
13887	return out, req.Send()
13888}
13889
13890const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
13891
13892// DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
13893// client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
13894// value will be populated with the request's response once the request completes
13895// successfully.
13896//
13897// Use "Send" method on the returned Request to send the API call to the service.
13898// the "output" return value is not valid until after Send returns without error.
13899//
13900// See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
13901// API call, and error handling.
13902//
13903// This method is useful when you want to inject custom logic or configuration
13904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13905//
13906//
13907//    // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
13908//    req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
13909//
13910//    err := req.Send()
13911//    if err == nil { // resp is now filled
13912//        fmt.Println(resp)
13913//    }
13914//
13915// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
13916func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
13917	op := &request.Operation{
13918		Name:       opDescribeInstanceCreditSpecifications,
13919		HTTPMethod: "POST",
13920		HTTPPath:   "/",
13921		Paginator: &request.Paginator{
13922			InputTokens:     []string{"NextToken"},
13923			OutputTokens:    []string{"NextToken"},
13924			LimitToken:      "MaxResults",
13925			TruncationToken: "",
13926		},
13927	}
13928
13929	if input == nil {
13930		input = &DescribeInstanceCreditSpecificationsInput{}
13931	}
13932
13933	output = &DescribeInstanceCreditSpecificationsOutput{}
13934	req = c.newRequest(op, input, output)
13935	return
13936}
13937
13938// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
13939//
13940// Describes the credit option for CPU usage of the specified T2 or T3 instances.
13941// The credit options are standard and unlimited.
13942//
13943// If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances
13944// with the unlimited credit option, as well as instances that were previously
13945// configured as T2 or T3 with the unlimited credit option. For example, if
13946// you resize a T2 instance, while it is configured as unlimited, to an M4 instance,
13947// Amazon EC2 returns the M4 instance.
13948//
13949// If you specify one or more instance IDs, Amazon EC2 returns the credit option
13950// (standard or unlimited) of those instances. If you specify an instance ID
13951// that is not valid, such as an instance that is not a T2 or T3 instance, an
13952// error is returned.
13953//
13954// Recently terminated instances might appear in the returned results. This
13955// interval is usually less than one hour.
13956//
13957// If an Availability Zone is experiencing a service disruption and you specify
13958// instance IDs in the affected zone, or do not specify any instance IDs at
13959// all, the call fails. If you specify only instance IDs in an unaffected zone,
13960// the call works normally.
13961//
13962// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
13963// in the Amazon Elastic Compute Cloud User Guide.
13964//
13965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13966// with awserr.Error's Code and Message methods to get detailed information about
13967// the error.
13968//
13969// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13970// API operation DescribeInstanceCreditSpecifications for usage and error information.
13971// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
13972func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
13973	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
13974	return out, req.Send()
13975}
13976
13977// DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
13978// the ability to pass a context and additional request options.
13979//
13980// See DescribeInstanceCreditSpecifications for details on how to use this API operation.
13981//
13982// The context must be non-nil and will be used for request cancellation. If
13983// the context is nil a panic will occur. In the future the SDK may create
13984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13985// for more information on using Contexts.
13986func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
13987	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
13988	req.SetContext(ctx)
13989	req.ApplyOptions(opts...)
13990	return out, req.Send()
13991}
13992
13993// DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation,
13994// calling the "fn" function with the response data for each page. To stop
13995// iterating, return false from the fn function.
13996//
13997// See DescribeInstanceCreditSpecifications method for more information on how to use this operation.
13998//
13999// Note: This operation can generate multiple requests to a service.
14000//
14001//    // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation.
14002//    pageNum := 0
14003//    err := client.DescribeInstanceCreditSpecificationsPages(params,
14004//        func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool {
14005//            pageNum++
14006//            fmt.Println(page)
14007//            return pageNum <= 3
14008//        })
14009//
14010func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error {
14011	return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn)
14012}
14013
14014// DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except
14015// it takes a Context and allows setting request options on the pages.
14016//
14017// The context must be non-nil and will be used for request cancellation. If
14018// the context is nil a panic will occur. In the future the SDK may create
14019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14020// for more information on using Contexts.
14021func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error {
14022	p := request.Pagination{
14023		NewRequest: func() (*request.Request, error) {
14024			var inCpy *DescribeInstanceCreditSpecificationsInput
14025			if input != nil {
14026				tmp := *input
14027				inCpy = &tmp
14028			}
14029			req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy)
14030			req.SetContext(ctx)
14031			req.ApplyOptions(opts...)
14032			return req, nil
14033		},
14034	}
14035
14036	cont := true
14037	for p.Next() && cont {
14038		cont = fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage())
14039	}
14040	return p.Err()
14041}
14042
14043const opDescribeInstanceStatus = "DescribeInstanceStatus"
14044
14045// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
14046// client's request for the DescribeInstanceStatus operation. The "output" return
14047// value will be populated with the request's response once the request completes
14048// successfully.
14049//
14050// Use "Send" method on the returned Request to send the API call to the service.
14051// the "output" return value is not valid until after Send returns without error.
14052//
14053// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
14054// API call, and error handling.
14055//
14056// This method is useful when you want to inject custom logic or configuration
14057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14058//
14059//
14060//    // Example sending a request using the DescribeInstanceStatusRequest method.
14061//    req, resp := client.DescribeInstanceStatusRequest(params)
14062//
14063//    err := req.Send()
14064//    if err == nil { // resp is now filled
14065//        fmt.Println(resp)
14066//    }
14067//
14068// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
14069func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
14070	op := &request.Operation{
14071		Name:       opDescribeInstanceStatus,
14072		HTTPMethod: "POST",
14073		HTTPPath:   "/",
14074		Paginator: &request.Paginator{
14075			InputTokens:     []string{"NextToken"},
14076			OutputTokens:    []string{"NextToken"},
14077			LimitToken:      "MaxResults",
14078			TruncationToken: "",
14079		},
14080	}
14081
14082	if input == nil {
14083		input = &DescribeInstanceStatusInput{}
14084	}
14085
14086	output = &DescribeInstanceStatusOutput{}
14087	req = c.newRequest(op, input, output)
14088	return
14089}
14090
14091// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
14092//
14093// Describes the status of the specified instances or all of your instances.
14094// By default, only running instances are described, unless you specifically
14095// indicate to return the status of all instances.
14096//
14097// Instance status includes the following components:
14098//
14099//    * Status checks - Amazon EC2 performs status checks on running EC2 instances
14100//    to identify hardware and software issues. For more information, see Status
14101//    Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
14102//    and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
14103//    in the Amazon Elastic Compute Cloud User Guide.
14104//
14105//    * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
14106//    or terminate) for your instances related to hardware issues, software
14107//    updates, or system maintenance. For more information, see Scheduled Events
14108//    for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
14109//    in the Amazon Elastic Compute Cloud User Guide.
14110//
14111//    * Instance state - You can manage your instances from the moment you launch
14112//    them through their termination. For more information, see Instance Lifecycle
14113//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
14114//    in the Amazon Elastic Compute Cloud User Guide.
14115//
14116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14117// with awserr.Error's Code and Message methods to get detailed information about
14118// the error.
14119//
14120// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14121// API operation DescribeInstanceStatus for usage and error information.
14122// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
14123func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
14124	req, out := c.DescribeInstanceStatusRequest(input)
14125	return out, req.Send()
14126}
14127
14128// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
14129// the ability to pass a context and additional request options.
14130//
14131// See DescribeInstanceStatus for details on how to use this API operation.
14132//
14133// The context must be non-nil and will be used for request cancellation. If
14134// the context is nil a panic will occur. In the future the SDK may create
14135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14136// for more information on using Contexts.
14137func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
14138	req, out := c.DescribeInstanceStatusRequest(input)
14139	req.SetContext(ctx)
14140	req.ApplyOptions(opts...)
14141	return out, req.Send()
14142}
14143
14144// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
14145// calling the "fn" function with the response data for each page. To stop
14146// iterating, return false from the fn function.
14147//
14148// See DescribeInstanceStatus method for more information on how to use this operation.
14149//
14150// Note: This operation can generate multiple requests to a service.
14151//
14152//    // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
14153//    pageNum := 0
14154//    err := client.DescribeInstanceStatusPages(params,
14155//        func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool {
14156//            pageNum++
14157//            fmt.Println(page)
14158//            return pageNum <= 3
14159//        })
14160//
14161func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
14162	return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
14163}
14164
14165// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
14166// it takes a Context and allows setting request options on the pages.
14167//
14168// The context must be non-nil and will be used for request cancellation. If
14169// the context is nil a panic will occur. In the future the SDK may create
14170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14171// for more information on using Contexts.
14172func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
14173	p := request.Pagination{
14174		NewRequest: func() (*request.Request, error) {
14175			var inCpy *DescribeInstanceStatusInput
14176			if input != nil {
14177				tmp := *input
14178				inCpy = &tmp
14179			}
14180			req, _ := c.DescribeInstanceStatusRequest(inCpy)
14181			req.SetContext(ctx)
14182			req.ApplyOptions(opts...)
14183			return req, nil
14184		},
14185	}
14186
14187	cont := true
14188	for p.Next() && cont {
14189		cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
14190	}
14191	return p.Err()
14192}
14193
14194const opDescribeInstances = "DescribeInstances"
14195
14196// DescribeInstancesRequest generates a "aws/request.Request" representing the
14197// client's request for the DescribeInstances operation. The "output" return
14198// value will be populated with the request's response once the request completes
14199// successfully.
14200//
14201// Use "Send" method on the returned Request to send the API call to the service.
14202// the "output" return value is not valid until after Send returns without error.
14203//
14204// See DescribeInstances for more information on using the DescribeInstances
14205// API call, and error handling.
14206//
14207// This method is useful when you want to inject custom logic or configuration
14208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14209//
14210//
14211//    // Example sending a request using the DescribeInstancesRequest method.
14212//    req, resp := client.DescribeInstancesRequest(params)
14213//
14214//    err := req.Send()
14215//    if err == nil { // resp is now filled
14216//        fmt.Println(resp)
14217//    }
14218//
14219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
14220func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
14221	op := &request.Operation{
14222		Name:       opDescribeInstances,
14223		HTTPMethod: "POST",
14224		HTTPPath:   "/",
14225		Paginator: &request.Paginator{
14226			InputTokens:     []string{"NextToken"},
14227			OutputTokens:    []string{"NextToken"},
14228			LimitToken:      "MaxResults",
14229			TruncationToken: "",
14230		},
14231	}
14232
14233	if input == nil {
14234		input = &DescribeInstancesInput{}
14235	}
14236
14237	output = &DescribeInstancesOutput{}
14238	req = c.newRequest(op, input, output)
14239	return
14240}
14241
14242// DescribeInstances API operation for Amazon Elastic Compute Cloud.
14243//
14244// Describes the specified instances or all of your instances.
14245//
14246// If you specify one or more instance IDs, Amazon EC2 returns information for
14247// those instances. If you do not specify instance IDs, Amazon EC2 returns information
14248// for all relevant instances. If you specify an instance ID that is not valid,
14249// an error is returned. If you specify an instance that you do not own, it
14250// is not included in the returned results.
14251//
14252// Recently terminated instances might appear in the returned results. This
14253// interval is usually less than one hour.
14254//
14255// If you describe instances in the rare case where an Availability Zone is
14256// experiencing a service disruption and you specify instance IDs that are in
14257// the affected zone, or do not specify any instance IDs at all, the call fails.
14258// If you describe instances and specify only instance IDs that are in an unaffected
14259// zone, the call works normally.
14260//
14261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14262// with awserr.Error's Code and Message methods to get detailed information about
14263// the error.
14264//
14265// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14266// API operation DescribeInstances for usage and error information.
14267// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
14268func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
14269	req, out := c.DescribeInstancesRequest(input)
14270	return out, req.Send()
14271}
14272
14273// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
14274// the ability to pass a context and additional request options.
14275//
14276// See DescribeInstances for details on how to use this API operation.
14277//
14278// The context must be non-nil and will be used for request cancellation. If
14279// the context is nil a panic will occur. In the future the SDK may create
14280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14281// for more information on using Contexts.
14282func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
14283	req, out := c.DescribeInstancesRequest(input)
14284	req.SetContext(ctx)
14285	req.ApplyOptions(opts...)
14286	return out, req.Send()
14287}
14288
14289// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
14290// calling the "fn" function with the response data for each page. To stop
14291// iterating, return false from the fn function.
14292//
14293// See DescribeInstances method for more information on how to use this operation.
14294//
14295// Note: This operation can generate multiple requests to a service.
14296//
14297//    // Example iterating over at most 3 pages of a DescribeInstances operation.
14298//    pageNum := 0
14299//    err := client.DescribeInstancesPages(params,
14300//        func(page *ec2.DescribeInstancesOutput, lastPage bool) bool {
14301//            pageNum++
14302//            fmt.Println(page)
14303//            return pageNum <= 3
14304//        })
14305//
14306func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
14307	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
14308}
14309
14310// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
14311// it takes a Context and allows setting request options on the pages.
14312//
14313// The context must be non-nil and will be used for request cancellation. If
14314// the context is nil a panic will occur. In the future the SDK may create
14315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14316// for more information on using Contexts.
14317func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
14318	p := request.Pagination{
14319		NewRequest: func() (*request.Request, error) {
14320			var inCpy *DescribeInstancesInput
14321			if input != nil {
14322				tmp := *input
14323				inCpy = &tmp
14324			}
14325			req, _ := c.DescribeInstancesRequest(inCpy)
14326			req.SetContext(ctx)
14327			req.ApplyOptions(opts...)
14328			return req, nil
14329		},
14330	}
14331
14332	cont := true
14333	for p.Next() && cont {
14334		cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
14335	}
14336	return p.Err()
14337}
14338
14339const opDescribeInternetGateways = "DescribeInternetGateways"
14340
14341// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
14342// client's request for the DescribeInternetGateways operation. The "output" return
14343// value will be populated with the request's response once the request completes
14344// successfully.
14345//
14346// Use "Send" method on the returned Request to send the API call to the service.
14347// the "output" return value is not valid until after Send returns without error.
14348//
14349// See DescribeInternetGateways for more information on using the DescribeInternetGateways
14350// API call, and error handling.
14351//
14352// This method is useful when you want to inject custom logic or configuration
14353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14354//
14355//
14356//    // Example sending a request using the DescribeInternetGatewaysRequest method.
14357//    req, resp := client.DescribeInternetGatewaysRequest(params)
14358//
14359//    err := req.Send()
14360//    if err == nil { // resp is now filled
14361//        fmt.Println(resp)
14362//    }
14363//
14364// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
14365func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
14366	op := &request.Operation{
14367		Name:       opDescribeInternetGateways,
14368		HTTPMethod: "POST",
14369		HTTPPath:   "/",
14370		Paginator: &request.Paginator{
14371			InputTokens:     []string{"NextToken"},
14372			OutputTokens:    []string{"NextToken"},
14373			LimitToken:      "MaxResults",
14374			TruncationToken: "",
14375		},
14376	}
14377
14378	if input == nil {
14379		input = &DescribeInternetGatewaysInput{}
14380	}
14381
14382	output = &DescribeInternetGatewaysOutput{}
14383	req = c.newRequest(op, input, output)
14384	return
14385}
14386
14387// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
14388//
14389// Describes one or more of your internet gateways.
14390//
14391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14392// with awserr.Error's Code and Message methods to get detailed information about
14393// the error.
14394//
14395// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14396// API operation DescribeInternetGateways for usage and error information.
14397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
14398func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
14399	req, out := c.DescribeInternetGatewaysRequest(input)
14400	return out, req.Send()
14401}
14402
14403// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
14404// the ability to pass a context and additional request options.
14405//
14406// See DescribeInternetGateways for details on how to use this API operation.
14407//
14408// The context must be non-nil and will be used for request cancellation. If
14409// the context is nil a panic will occur. In the future the SDK may create
14410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14411// for more information on using Contexts.
14412func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
14413	req, out := c.DescribeInternetGatewaysRequest(input)
14414	req.SetContext(ctx)
14415	req.ApplyOptions(opts...)
14416	return out, req.Send()
14417}
14418
14419// DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
14420// calling the "fn" function with the response data for each page. To stop
14421// iterating, return false from the fn function.
14422//
14423// See DescribeInternetGateways method for more information on how to use this operation.
14424//
14425// Note: This operation can generate multiple requests to a service.
14426//
14427//    // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
14428//    pageNum := 0
14429//    err := client.DescribeInternetGatewaysPages(params,
14430//        func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool {
14431//            pageNum++
14432//            fmt.Println(page)
14433//            return pageNum <= 3
14434//        })
14435//
14436func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
14437	return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
14438}
14439
14440// DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
14441// it takes a Context and allows setting request options on the pages.
14442//
14443// The context must be non-nil and will be used for request cancellation. If
14444// the context is nil a panic will occur. In the future the SDK may create
14445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14446// for more information on using Contexts.
14447func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
14448	p := request.Pagination{
14449		NewRequest: func() (*request.Request, error) {
14450			var inCpy *DescribeInternetGatewaysInput
14451			if input != nil {
14452				tmp := *input
14453				inCpy = &tmp
14454			}
14455			req, _ := c.DescribeInternetGatewaysRequest(inCpy)
14456			req.SetContext(ctx)
14457			req.ApplyOptions(opts...)
14458			return req, nil
14459		},
14460	}
14461
14462	cont := true
14463	for p.Next() && cont {
14464		cont = fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage())
14465	}
14466	return p.Err()
14467}
14468
14469const opDescribeKeyPairs = "DescribeKeyPairs"
14470
14471// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
14472// client's request for the DescribeKeyPairs operation. The "output" return
14473// value will be populated with the request's response once the request completes
14474// successfully.
14475//
14476// Use "Send" method on the returned Request to send the API call to the service.
14477// the "output" return value is not valid until after Send returns without error.
14478//
14479// See DescribeKeyPairs for more information on using the DescribeKeyPairs
14480// API call, and error handling.
14481//
14482// This method is useful when you want to inject custom logic or configuration
14483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14484//
14485//
14486//    // Example sending a request using the DescribeKeyPairsRequest method.
14487//    req, resp := client.DescribeKeyPairsRequest(params)
14488//
14489//    err := req.Send()
14490//    if err == nil { // resp is now filled
14491//        fmt.Println(resp)
14492//    }
14493//
14494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
14495func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
14496	op := &request.Operation{
14497		Name:       opDescribeKeyPairs,
14498		HTTPMethod: "POST",
14499		HTTPPath:   "/",
14500	}
14501
14502	if input == nil {
14503		input = &DescribeKeyPairsInput{}
14504	}
14505
14506	output = &DescribeKeyPairsOutput{}
14507	req = c.newRequest(op, input, output)
14508	return
14509}
14510
14511// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
14512//
14513// Describes the specified key pairs or all of your key pairs.
14514//
14515// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
14516// in the Amazon Elastic Compute Cloud User Guide.
14517//
14518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14519// with awserr.Error's Code and Message methods to get detailed information about
14520// the error.
14521//
14522// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14523// API operation DescribeKeyPairs for usage and error information.
14524// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
14525func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
14526	req, out := c.DescribeKeyPairsRequest(input)
14527	return out, req.Send()
14528}
14529
14530// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
14531// the ability to pass a context and additional request options.
14532//
14533// See DescribeKeyPairs for details on how to use this API operation.
14534//
14535// The context must be non-nil and will be used for request cancellation. If
14536// the context is nil a panic will occur. In the future the SDK may create
14537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14538// for more information on using Contexts.
14539func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
14540	req, out := c.DescribeKeyPairsRequest(input)
14541	req.SetContext(ctx)
14542	req.ApplyOptions(opts...)
14543	return out, req.Send()
14544}
14545
14546const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
14547
14548// DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
14549// client's request for the DescribeLaunchTemplateVersions operation. The "output" return
14550// value will be populated with the request's response once the request completes
14551// successfully.
14552//
14553// Use "Send" method on the returned Request to send the API call to the service.
14554// the "output" return value is not valid until after Send returns without error.
14555//
14556// See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
14557// API call, and error handling.
14558//
14559// This method is useful when you want to inject custom logic or configuration
14560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14561//
14562//
14563//    // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
14564//    req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
14565//
14566//    err := req.Send()
14567//    if err == nil { // resp is now filled
14568//        fmt.Println(resp)
14569//    }
14570//
14571// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
14572func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
14573	op := &request.Operation{
14574		Name:       opDescribeLaunchTemplateVersions,
14575		HTTPMethod: "POST",
14576		HTTPPath:   "/",
14577		Paginator: &request.Paginator{
14578			InputTokens:     []string{"NextToken"},
14579			OutputTokens:    []string{"NextToken"},
14580			LimitToken:      "MaxResults",
14581			TruncationToken: "",
14582		},
14583	}
14584
14585	if input == nil {
14586		input = &DescribeLaunchTemplateVersionsInput{}
14587	}
14588
14589	output = &DescribeLaunchTemplateVersionsOutput{}
14590	req = c.newRequest(op, input, output)
14591	return
14592}
14593
14594// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
14595//
14596// Describes one or more versions of a specified launch template. You can describe
14597// all versions, individual versions, or a range of versions.
14598//
14599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14600// with awserr.Error's Code and Message methods to get detailed information about
14601// the error.
14602//
14603// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14604// API operation DescribeLaunchTemplateVersions for usage and error information.
14605// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
14606func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
14607	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
14608	return out, req.Send()
14609}
14610
14611// DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
14612// the ability to pass a context and additional request options.
14613//
14614// See DescribeLaunchTemplateVersions for details on how to use this API operation.
14615//
14616// The context must be non-nil and will be used for request cancellation. If
14617// the context is nil a panic will occur. In the future the SDK may create
14618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14619// for more information on using Contexts.
14620func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
14621	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
14622	req.SetContext(ctx)
14623	req.ApplyOptions(opts...)
14624	return out, req.Send()
14625}
14626
14627// DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation,
14628// calling the "fn" function with the response data for each page. To stop
14629// iterating, return false from the fn function.
14630//
14631// See DescribeLaunchTemplateVersions method for more information on how to use this operation.
14632//
14633// Note: This operation can generate multiple requests to a service.
14634//
14635//    // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation.
14636//    pageNum := 0
14637//    err := client.DescribeLaunchTemplateVersionsPages(params,
14638//        func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool {
14639//            pageNum++
14640//            fmt.Println(page)
14641//            return pageNum <= 3
14642//        })
14643//
14644func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error {
14645	return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
14646}
14647
14648// DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except
14649// it takes a Context and allows setting request options on the pages.
14650//
14651// The context must be non-nil and will be used for request cancellation. If
14652// the context is nil a panic will occur. In the future the SDK may create
14653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14654// for more information on using Contexts.
14655func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
14656	p := request.Pagination{
14657		NewRequest: func() (*request.Request, error) {
14658			var inCpy *DescribeLaunchTemplateVersionsInput
14659			if input != nil {
14660				tmp := *input
14661				inCpy = &tmp
14662			}
14663			req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy)
14664			req.SetContext(ctx)
14665			req.ApplyOptions(opts...)
14666			return req, nil
14667		},
14668	}
14669
14670	cont := true
14671	for p.Next() && cont {
14672		cont = fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage())
14673	}
14674	return p.Err()
14675}
14676
14677const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
14678
14679// DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
14680// client's request for the DescribeLaunchTemplates operation. The "output" return
14681// value will be populated with the request's response once the request completes
14682// successfully.
14683//
14684// Use "Send" method on the returned Request to send the API call to the service.
14685// the "output" return value is not valid until after Send returns without error.
14686//
14687// See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
14688// API call, and error handling.
14689//
14690// This method is useful when you want to inject custom logic or configuration
14691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14692//
14693//
14694//    // Example sending a request using the DescribeLaunchTemplatesRequest method.
14695//    req, resp := client.DescribeLaunchTemplatesRequest(params)
14696//
14697//    err := req.Send()
14698//    if err == nil { // resp is now filled
14699//        fmt.Println(resp)
14700//    }
14701//
14702// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
14703func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
14704	op := &request.Operation{
14705		Name:       opDescribeLaunchTemplates,
14706		HTTPMethod: "POST",
14707		HTTPPath:   "/",
14708		Paginator: &request.Paginator{
14709			InputTokens:     []string{"NextToken"},
14710			OutputTokens:    []string{"NextToken"},
14711			LimitToken:      "MaxResults",
14712			TruncationToken: "",
14713		},
14714	}
14715
14716	if input == nil {
14717		input = &DescribeLaunchTemplatesInput{}
14718	}
14719
14720	output = &DescribeLaunchTemplatesOutput{}
14721	req = c.newRequest(op, input, output)
14722	return
14723}
14724
14725// DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
14726//
14727// Describes one or more launch templates.
14728//
14729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14730// with awserr.Error's Code and Message methods to get detailed information about
14731// the error.
14732//
14733// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14734// API operation DescribeLaunchTemplates for usage and error information.
14735// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
14736func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
14737	req, out := c.DescribeLaunchTemplatesRequest(input)
14738	return out, req.Send()
14739}
14740
14741// DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
14742// the ability to pass a context and additional request options.
14743//
14744// See DescribeLaunchTemplates for details on how to use this API operation.
14745//
14746// The context must be non-nil and will be used for request cancellation. If
14747// the context is nil a panic will occur. In the future the SDK may create
14748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14749// for more information on using Contexts.
14750func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
14751	req, out := c.DescribeLaunchTemplatesRequest(input)
14752	req.SetContext(ctx)
14753	req.ApplyOptions(opts...)
14754	return out, req.Send()
14755}
14756
14757// DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation,
14758// calling the "fn" function with the response data for each page. To stop
14759// iterating, return false from the fn function.
14760//
14761// See DescribeLaunchTemplates method for more information on how to use this operation.
14762//
14763// Note: This operation can generate multiple requests to a service.
14764//
14765//    // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation.
14766//    pageNum := 0
14767//    err := client.DescribeLaunchTemplatesPages(params,
14768//        func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool {
14769//            pageNum++
14770//            fmt.Println(page)
14771//            return pageNum <= 3
14772//        })
14773//
14774func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error {
14775	return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
14776}
14777
14778// DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except
14779// it takes a Context and allows setting request options on the pages.
14780//
14781// The context must be non-nil and will be used for request cancellation. If
14782// the context is nil a panic will occur. In the future the SDK may create
14783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14784// for more information on using Contexts.
14785func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error {
14786	p := request.Pagination{
14787		NewRequest: func() (*request.Request, error) {
14788			var inCpy *DescribeLaunchTemplatesInput
14789			if input != nil {
14790				tmp := *input
14791				inCpy = &tmp
14792			}
14793			req, _ := c.DescribeLaunchTemplatesRequest(inCpy)
14794			req.SetContext(ctx)
14795			req.ApplyOptions(opts...)
14796			return req, nil
14797		},
14798	}
14799
14800	cont := true
14801	for p.Next() && cont {
14802		cont = fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage())
14803	}
14804	return p.Err()
14805}
14806
14807const opDescribeMovingAddresses = "DescribeMovingAddresses"
14808
14809// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
14810// client's request for the DescribeMovingAddresses operation. The "output" return
14811// value will be populated with the request's response once the request completes
14812// successfully.
14813//
14814// Use "Send" method on the returned Request to send the API call to the service.
14815// the "output" return value is not valid until after Send returns without error.
14816//
14817// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
14818// API call, and error handling.
14819//
14820// This method is useful when you want to inject custom logic or configuration
14821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14822//
14823//
14824//    // Example sending a request using the DescribeMovingAddressesRequest method.
14825//    req, resp := client.DescribeMovingAddressesRequest(params)
14826//
14827//    err := req.Send()
14828//    if err == nil { // resp is now filled
14829//        fmt.Println(resp)
14830//    }
14831//
14832// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
14833func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
14834	op := &request.Operation{
14835		Name:       opDescribeMovingAddresses,
14836		HTTPMethod: "POST",
14837		HTTPPath:   "/",
14838		Paginator: &request.Paginator{
14839			InputTokens:     []string{"NextToken"},
14840			OutputTokens:    []string{"NextToken"},
14841			LimitToken:      "MaxResults",
14842			TruncationToken: "",
14843		},
14844	}
14845
14846	if input == nil {
14847		input = &DescribeMovingAddressesInput{}
14848	}
14849
14850	output = &DescribeMovingAddressesOutput{}
14851	req = c.newRequest(op, input, output)
14852	return
14853}
14854
14855// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
14856//
14857// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
14858// or that are being restored to the EC2-Classic platform. This request does
14859// not return information about any other Elastic IP addresses in your account.
14860//
14861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14862// with awserr.Error's Code and Message methods to get detailed information about
14863// the error.
14864//
14865// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14866// API operation DescribeMovingAddresses for usage and error information.
14867// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
14868func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
14869	req, out := c.DescribeMovingAddressesRequest(input)
14870	return out, req.Send()
14871}
14872
14873// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
14874// the ability to pass a context and additional request options.
14875//
14876// See DescribeMovingAddresses for details on how to use this API operation.
14877//
14878// The context must be non-nil and will be used for request cancellation. If
14879// the context is nil a panic will occur. In the future the SDK may create
14880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14881// for more information on using Contexts.
14882func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
14883	req, out := c.DescribeMovingAddressesRequest(input)
14884	req.SetContext(ctx)
14885	req.ApplyOptions(opts...)
14886	return out, req.Send()
14887}
14888
14889// DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation,
14890// calling the "fn" function with the response data for each page. To stop
14891// iterating, return false from the fn function.
14892//
14893// See DescribeMovingAddresses method for more information on how to use this operation.
14894//
14895// Note: This operation can generate multiple requests to a service.
14896//
14897//    // Example iterating over at most 3 pages of a DescribeMovingAddresses operation.
14898//    pageNum := 0
14899//    err := client.DescribeMovingAddressesPages(params,
14900//        func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool {
14901//            pageNum++
14902//            fmt.Println(page)
14903//            return pageNum <= 3
14904//        })
14905//
14906func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error {
14907	return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
14908}
14909
14910// DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except
14911// it takes a Context and allows setting request options on the pages.
14912//
14913// The context must be non-nil and will be used for request cancellation. If
14914// the context is nil a panic will occur. In the future the SDK may create
14915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14916// for more information on using Contexts.
14917func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error {
14918	p := request.Pagination{
14919		NewRequest: func() (*request.Request, error) {
14920			var inCpy *DescribeMovingAddressesInput
14921			if input != nil {
14922				tmp := *input
14923				inCpy = &tmp
14924			}
14925			req, _ := c.DescribeMovingAddressesRequest(inCpy)
14926			req.SetContext(ctx)
14927			req.ApplyOptions(opts...)
14928			return req, nil
14929		},
14930	}
14931
14932	cont := true
14933	for p.Next() && cont {
14934		cont = fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage())
14935	}
14936	return p.Err()
14937}
14938
14939const opDescribeNatGateways = "DescribeNatGateways"
14940
14941// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
14942// client's request for the DescribeNatGateways operation. The "output" return
14943// value will be populated with the request's response once the request completes
14944// successfully.
14945//
14946// Use "Send" method on the returned Request to send the API call to the service.
14947// the "output" return value is not valid until after Send returns without error.
14948//
14949// See DescribeNatGateways for more information on using the DescribeNatGateways
14950// API call, and error handling.
14951//
14952// This method is useful when you want to inject custom logic or configuration
14953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14954//
14955//
14956//    // Example sending a request using the DescribeNatGatewaysRequest method.
14957//    req, resp := client.DescribeNatGatewaysRequest(params)
14958//
14959//    err := req.Send()
14960//    if err == nil { // resp is now filled
14961//        fmt.Println(resp)
14962//    }
14963//
14964// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
14965func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
14966	op := &request.Operation{
14967		Name:       opDescribeNatGateways,
14968		HTTPMethod: "POST",
14969		HTTPPath:   "/",
14970		Paginator: &request.Paginator{
14971			InputTokens:     []string{"NextToken"},
14972			OutputTokens:    []string{"NextToken"},
14973			LimitToken:      "MaxResults",
14974			TruncationToken: "",
14975		},
14976	}
14977
14978	if input == nil {
14979		input = &DescribeNatGatewaysInput{}
14980	}
14981
14982	output = &DescribeNatGatewaysOutput{}
14983	req = c.newRequest(op, input, output)
14984	return
14985}
14986
14987// DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
14988//
14989// Describes one or more of your NAT gateways.
14990//
14991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14992// with awserr.Error's Code and Message methods to get detailed information about
14993// the error.
14994//
14995// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14996// API operation DescribeNatGateways for usage and error information.
14997// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
14998func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
14999	req, out := c.DescribeNatGatewaysRequest(input)
15000	return out, req.Send()
15001}
15002
15003// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
15004// the ability to pass a context and additional request options.
15005//
15006// See DescribeNatGateways for details on how to use this API operation.
15007//
15008// The context must be non-nil and will be used for request cancellation. If
15009// the context is nil a panic will occur. In the future the SDK may create
15010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15011// for more information on using Contexts.
15012func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
15013	req, out := c.DescribeNatGatewaysRequest(input)
15014	req.SetContext(ctx)
15015	req.ApplyOptions(opts...)
15016	return out, req.Send()
15017}
15018
15019// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
15020// calling the "fn" function with the response data for each page. To stop
15021// iterating, return false from the fn function.
15022//
15023// See DescribeNatGateways method for more information on how to use this operation.
15024//
15025// Note: This operation can generate multiple requests to a service.
15026//
15027//    // Example iterating over at most 3 pages of a DescribeNatGateways operation.
15028//    pageNum := 0
15029//    err := client.DescribeNatGatewaysPages(params,
15030//        func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool {
15031//            pageNum++
15032//            fmt.Println(page)
15033//            return pageNum <= 3
15034//        })
15035//
15036func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
15037	return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
15038}
15039
15040// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
15041// it takes a Context and allows setting request options on the pages.
15042//
15043// The context must be non-nil and will be used for request cancellation. If
15044// the context is nil a panic will occur. In the future the SDK may create
15045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15046// for more information on using Contexts.
15047func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
15048	p := request.Pagination{
15049		NewRequest: func() (*request.Request, error) {
15050			var inCpy *DescribeNatGatewaysInput
15051			if input != nil {
15052				tmp := *input
15053				inCpy = &tmp
15054			}
15055			req, _ := c.DescribeNatGatewaysRequest(inCpy)
15056			req.SetContext(ctx)
15057			req.ApplyOptions(opts...)
15058			return req, nil
15059		},
15060	}
15061
15062	cont := true
15063	for p.Next() && cont {
15064		cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
15065	}
15066	return p.Err()
15067}
15068
15069const opDescribeNetworkAcls = "DescribeNetworkAcls"
15070
15071// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
15072// client's request for the DescribeNetworkAcls operation. The "output" return
15073// value will be populated with the request's response once the request completes
15074// successfully.
15075//
15076// Use "Send" method on the returned Request to send the API call to the service.
15077// the "output" return value is not valid until after Send returns without error.
15078//
15079// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
15080// API call, and error handling.
15081//
15082// This method is useful when you want to inject custom logic or configuration
15083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15084//
15085//
15086//    // Example sending a request using the DescribeNetworkAclsRequest method.
15087//    req, resp := client.DescribeNetworkAclsRequest(params)
15088//
15089//    err := req.Send()
15090//    if err == nil { // resp is now filled
15091//        fmt.Println(resp)
15092//    }
15093//
15094// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
15095func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
15096	op := &request.Operation{
15097		Name:       opDescribeNetworkAcls,
15098		HTTPMethod: "POST",
15099		HTTPPath:   "/",
15100		Paginator: &request.Paginator{
15101			InputTokens:     []string{"NextToken"},
15102			OutputTokens:    []string{"NextToken"},
15103			LimitToken:      "MaxResults",
15104			TruncationToken: "",
15105		},
15106	}
15107
15108	if input == nil {
15109		input = &DescribeNetworkAclsInput{}
15110	}
15111
15112	output = &DescribeNetworkAclsOutput{}
15113	req = c.newRequest(op, input, output)
15114	return
15115}
15116
15117// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
15118//
15119// Describes one or more of your network ACLs.
15120//
15121// For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
15122// in the Amazon Virtual Private Cloud User Guide.
15123//
15124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15125// with awserr.Error's Code and Message methods to get detailed information about
15126// the error.
15127//
15128// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15129// API operation DescribeNetworkAcls for usage and error information.
15130// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
15131func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
15132	req, out := c.DescribeNetworkAclsRequest(input)
15133	return out, req.Send()
15134}
15135
15136// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
15137// the ability to pass a context and additional request options.
15138//
15139// See DescribeNetworkAcls for details on how to use this API operation.
15140//
15141// The context must be non-nil and will be used for request cancellation. If
15142// the context is nil a panic will occur. In the future the SDK may create
15143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15144// for more information on using Contexts.
15145func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
15146	req, out := c.DescribeNetworkAclsRequest(input)
15147	req.SetContext(ctx)
15148	req.ApplyOptions(opts...)
15149	return out, req.Send()
15150}
15151
15152// DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
15153// calling the "fn" function with the response data for each page. To stop
15154// iterating, return false from the fn function.
15155//
15156// See DescribeNetworkAcls method for more information on how to use this operation.
15157//
15158// Note: This operation can generate multiple requests to a service.
15159//
15160//    // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
15161//    pageNum := 0
15162//    err := client.DescribeNetworkAclsPages(params,
15163//        func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool {
15164//            pageNum++
15165//            fmt.Println(page)
15166//            return pageNum <= 3
15167//        })
15168//
15169func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
15170	return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
15171}
15172
15173// DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
15174// it takes a Context and allows setting request options on the pages.
15175//
15176// The context must be non-nil and will be used for request cancellation. If
15177// the context is nil a panic will occur. In the future the SDK may create
15178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15179// for more information on using Contexts.
15180func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
15181	p := request.Pagination{
15182		NewRequest: func() (*request.Request, error) {
15183			var inCpy *DescribeNetworkAclsInput
15184			if input != nil {
15185				tmp := *input
15186				inCpy = &tmp
15187			}
15188			req, _ := c.DescribeNetworkAclsRequest(inCpy)
15189			req.SetContext(ctx)
15190			req.ApplyOptions(opts...)
15191			return req, nil
15192		},
15193	}
15194
15195	cont := true
15196	for p.Next() && cont {
15197		cont = fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage())
15198	}
15199	return p.Err()
15200}
15201
15202const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
15203
15204// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
15205// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
15206// value will be populated with the request's response once the request completes
15207// successfully.
15208//
15209// Use "Send" method on the returned Request to send the API call to the service.
15210// the "output" return value is not valid until after Send returns without error.
15211//
15212// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
15213// API call, and error handling.
15214//
15215// This method is useful when you want to inject custom logic or configuration
15216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15217//
15218//
15219//    // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
15220//    req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
15221//
15222//    err := req.Send()
15223//    if err == nil { // resp is now filled
15224//        fmt.Println(resp)
15225//    }
15226//
15227// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
15228func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
15229	op := &request.Operation{
15230		Name:       opDescribeNetworkInterfaceAttribute,
15231		HTTPMethod: "POST",
15232		HTTPPath:   "/",
15233	}
15234
15235	if input == nil {
15236		input = &DescribeNetworkInterfaceAttributeInput{}
15237	}
15238
15239	output = &DescribeNetworkInterfaceAttributeOutput{}
15240	req = c.newRequest(op, input, output)
15241	return
15242}
15243
15244// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
15245//
15246// Describes a network interface attribute. You can specify only one attribute
15247// at a time.
15248//
15249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15250// with awserr.Error's Code and Message methods to get detailed information about
15251// the error.
15252//
15253// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15254// API operation DescribeNetworkInterfaceAttribute for usage and error information.
15255// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
15256func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
15257	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
15258	return out, req.Send()
15259}
15260
15261// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
15262// the ability to pass a context and additional request options.
15263//
15264// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
15265//
15266// The context must be non-nil and will be used for request cancellation. If
15267// the context is nil a panic will occur. In the future the SDK may create
15268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15269// for more information on using Contexts.
15270func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
15271	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
15272	req.SetContext(ctx)
15273	req.ApplyOptions(opts...)
15274	return out, req.Send()
15275}
15276
15277const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
15278
15279// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
15280// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
15281// value will be populated with the request's response once the request completes
15282// successfully.
15283//
15284// Use "Send" method on the returned Request to send the API call to the service.
15285// the "output" return value is not valid until after Send returns without error.
15286//
15287// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
15288// API call, and error handling.
15289//
15290// This method is useful when you want to inject custom logic or configuration
15291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15292//
15293//
15294//    // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
15295//    req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
15296//
15297//    err := req.Send()
15298//    if err == nil { // resp is now filled
15299//        fmt.Println(resp)
15300//    }
15301//
15302// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
15303func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
15304	op := &request.Operation{
15305		Name:       opDescribeNetworkInterfacePermissions,
15306		HTTPMethod: "POST",
15307		HTTPPath:   "/",
15308		Paginator: &request.Paginator{
15309			InputTokens:     []string{"NextToken"},
15310			OutputTokens:    []string{"NextToken"},
15311			LimitToken:      "MaxResults",
15312			TruncationToken: "",
15313		},
15314	}
15315
15316	if input == nil {
15317		input = &DescribeNetworkInterfacePermissionsInput{}
15318	}
15319
15320	output = &DescribeNetworkInterfacePermissionsOutput{}
15321	req = c.newRequest(op, input, output)
15322	return
15323}
15324
15325// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
15326//
15327// Describes the permissions for your network interfaces.
15328//
15329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15330// with awserr.Error's Code and Message methods to get detailed information about
15331// the error.
15332//
15333// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15334// API operation DescribeNetworkInterfacePermissions for usage and error information.
15335// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
15336func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
15337	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
15338	return out, req.Send()
15339}
15340
15341// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
15342// the ability to pass a context and additional request options.
15343//
15344// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
15345//
15346// The context must be non-nil and will be used for request cancellation. If
15347// the context is nil a panic will occur. In the future the SDK may create
15348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15349// for more information on using Contexts.
15350func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
15351	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
15352	req.SetContext(ctx)
15353	req.ApplyOptions(opts...)
15354	return out, req.Send()
15355}
15356
15357// DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation,
15358// calling the "fn" function with the response data for each page. To stop
15359// iterating, return false from the fn function.
15360//
15361// See DescribeNetworkInterfacePermissions method for more information on how to use this operation.
15362//
15363// Note: This operation can generate multiple requests to a service.
15364//
15365//    // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation.
15366//    pageNum := 0
15367//    err := client.DescribeNetworkInterfacePermissionsPages(params,
15368//        func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool {
15369//            pageNum++
15370//            fmt.Println(page)
15371//            return pageNum <= 3
15372//        })
15373//
15374func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error {
15375	return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
15376}
15377
15378// DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except
15379// it takes a Context and allows setting request options on the pages.
15380//
15381// The context must be non-nil and will be used for request cancellation. If
15382// the context is nil a panic will occur. In the future the SDK may create
15383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15384// for more information on using Contexts.
15385func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error {
15386	p := request.Pagination{
15387		NewRequest: func() (*request.Request, error) {
15388			var inCpy *DescribeNetworkInterfacePermissionsInput
15389			if input != nil {
15390				tmp := *input
15391				inCpy = &tmp
15392			}
15393			req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy)
15394			req.SetContext(ctx)
15395			req.ApplyOptions(opts...)
15396			return req, nil
15397		},
15398	}
15399
15400	cont := true
15401	for p.Next() && cont {
15402		cont = fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage())
15403	}
15404	return p.Err()
15405}
15406
15407const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
15408
15409// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
15410// client's request for the DescribeNetworkInterfaces operation. The "output" return
15411// value will be populated with the request's response once the request completes
15412// successfully.
15413//
15414// Use "Send" method on the returned Request to send the API call to the service.
15415// the "output" return value is not valid until after Send returns without error.
15416//
15417// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
15418// API call, and error handling.
15419//
15420// This method is useful when you want to inject custom logic or configuration
15421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15422//
15423//
15424//    // Example sending a request using the DescribeNetworkInterfacesRequest method.
15425//    req, resp := client.DescribeNetworkInterfacesRequest(params)
15426//
15427//    err := req.Send()
15428//    if err == nil { // resp is now filled
15429//        fmt.Println(resp)
15430//    }
15431//
15432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
15433func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
15434	op := &request.Operation{
15435		Name:       opDescribeNetworkInterfaces,
15436		HTTPMethod: "POST",
15437		HTTPPath:   "/",
15438		Paginator: &request.Paginator{
15439			InputTokens:     []string{"NextToken"},
15440			OutputTokens:    []string{"NextToken"},
15441			LimitToken:      "MaxResults",
15442			TruncationToken: "",
15443		},
15444	}
15445
15446	if input == nil {
15447		input = &DescribeNetworkInterfacesInput{}
15448	}
15449
15450	output = &DescribeNetworkInterfacesOutput{}
15451	req = c.newRequest(op, input, output)
15452	return
15453}
15454
15455// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
15456//
15457// Describes one or more of your network interfaces.
15458//
15459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15460// with awserr.Error's Code and Message methods to get detailed information about
15461// the error.
15462//
15463// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15464// API operation DescribeNetworkInterfaces for usage and error information.
15465// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
15466func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
15467	req, out := c.DescribeNetworkInterfacesRequest(input)
15468	return out, req.Send()
15469}
15470
15471// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
15472// the ability to pass a context and additional request options.
15473//
15474// See DescribeNetworkInterfaces for details on how to use this API operation.
15475//
15476// The context must be non-nil and will be used for request cancellation. If
15477// the context is nil a panic will occur. In the future the SDK may create
15478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15479// for more information on using Contexts.
15480func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
15481	req, out := c.DescribeNetworkInterfacesRequest(input)
15482	req.SetContext(ctx)
15483	req.ApplyOptions(opts...)
15484	return out, req.Send()
15485}
15486
15487// DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
15488// calling the "fn" function with the response data for each page. To stop
15489// iterating, return false from the fn function.
15490//
15491// See DescribeNetworkInterfaces method for more information on how to use this operation.
15492//
15493// Note: This operation can generate multiple requests to a service.
15494//
15495//    // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
15496//    pageNum := 0
15497//    err := client.DescribeNetworkInterfacesPages(params,
15498//        func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool {
15499//            pageNum++
15500//            fmt.Println(page)
15501//            return pageNum <= 3
15502//        })
15503//
15504func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
15505	return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
15506}
15507
15508// DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
15509// it takes a Context and allows setting request options on the pages.
15510//
15511// The context must be non-nil and will be used for request cancellation. If
15512// the context is nil a panic will occur. In the future the SDK may create
15513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15514// for more information on using Contexts.
15515func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
15516	p := request.Pagination{
15517		NewRequest: func() (*request.Request, error) {
15518			var inCpy *DescribeNetworkInterfacesInput
15519			if input != nil {
15520				tmp := *input
15521				inCpy = &tmp
15522			}
15523			req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
15524			req.SetContext(ctx)
15525			req.ApplyOptions(opts...)
15526			return req, nil
15527		},
15528	}
15529
15530	cont := true
15531	for p.Next() && cont {
15532		cont = fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage())
15533	}
15534	return p.Err()
15535}
15536
15537const opDescribePlacementGroups = "DescribePlacementGroups"
15538
15539// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
15540// client's request for the DescribePlacementGroups operation. The "output" return
15541// value will be populated with the request's response once the request completes
15542// successfully.
15543//
15544// Use "Send" method on the returned Request to send the API call to the service.
15545// the "output" return value is not valid until after Send returns without error.
15546//
15547// See DescribePlacementGroups for more information on using the DescribePlacementGroups
15548// API call, and error handling.
15549//
15550// This method is useful when you want to inject custom logic or configuration
15551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15552//
15553//
15554//    // Example sending a request using the DescribePlacementGroupsRequest method.
15555//    req, resp := client.DescribePlacementGroupsRequest(params)
15556//
15557//    err := req.Send()
15558//    if err == nil { // resp is now filled
15559//        fmt.Println(resp)
15560//    }
15561//
15562// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
15563func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
15564	op := &request.Operation{
15565		Name:       opDescribePlacementGroups,
15566		HTTPMethod: "POST",
15567		HTTPPath:   "/",
15568	}
15569
15570	if input == nil {
15571		input = &DescribePlacementGroupsInput{}
15572	}
15573
15574	output = &DescribePlacementGroupsOutput{}
15575	req = c.newRequest(op, input, output)
15576	return
15577}
15578
15579// DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
15580//
15581// Describes the specified placement groups or all of your placement groups.
15582// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
15583// in the Amazon Elastic Compute Cloud User Guide.
15584//
15585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15586// with awserr.Error's Code and Message methods to get detailed information about
15587// the error.
15588//
15589// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15590// API operation DescribePlacementGroups for usage and error information.
15591// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
15592func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
15593	req, out := c.DescribePlacementGroupsRequest(input)
15594	return out, req.Send()
15595}
15596
15597// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
15598// the ability to pass a context and additional request options.
15599//
15600// See DescribePlacementGroups for details on how to use this API operation.
15601//
15602// The context must be non-nil and will be used for request cancellation. If
15603// the context is nil a panic will occur. In the future the SDK may create
15604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15605// for more information on using Contexts.
15606func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
15607	req, out := c.DescribePlacementGroupsRequest(input)
15608	req.SetContext(ctx)
15609	req.ApplyOptions(opts...)
15610	return out, req.Send()
15611}
15612
15613const opDescribePrefixLists = "DescribePrefixLists"
15614
15615// DescribePrefixListsRequest generates a "aws/request.Request" representing the
15616// client's request for the DescribePrefixLists operation. The "output" return
15617// value will be populated with the request's response once the request completes
15618// successfully.
15619//
15620// Use "Send" method on the returned Request to send the API call to the service.
15621// the "output" return value is not valid until after Send returns without error.
15622//
15623// See DescribePrefixLists for more information on using the DescribePrefixLists
15624// API call, and error handling.
15625//
15626// This method is useful when you want to inject custom logic or configuration
15627// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15628//
15629//
15630//    // Example sending a request using the DescribePrefixListsRequest method.
15631//    req, resp := client.DescribePrefixListsRequest(params)
15632//
15633//    err := req.Send()
15634//    if err == nil { // resp is now filled
15635//        fmt.Println(resp)
15636//    }
15637//
15638// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
15639func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
15640	op := &request.Operation{
15641		Name:       opDescribePrefixLists,
15642		HTTPMethod: "POST",
15643		HTTPPath:   "/",
15644		Paginator: &request.Paginator{
15645			InputTokens:     []string{"NextToken"},
15646			OutputTokens:    []string{"NextToken"},
15647			LimitToken:      "MaxResults",
15648			TruncationToken: "",
15649		},
15650	}
15651
15652	if input == nil {
15653		input = &DescribePrefixListsInput{}
15654	}
15655
15656	output = &DescribePrefixListsOutput{}
15657	req = c.newRequest(op, input, output)
15658	return
15659}
15660
15661// DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
15662//
15663// Describes available AWS services in a prefix list format, which includes
15664// the prefix list name and prefix list ID of the service and the IP address
15665// range for the service. A prefix list ID is required for creating an outbound
15666// security group rule that allows traffic from a VPC to access an AWS service
15667// through a gateway VPC endpoint. Currently, the services that support this
15668// action are Amazon S3 and Amazon DynamoDB.
15669//
15670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15671// with awserr.Error's Code and Message methods to get detailed information about
15672// the error.
15673//
15674// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15675// API operation DescribePrefixLists for usage and error information.
15676// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
15677func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
15678	req, out := c.DescribePrefixListsRequest(input)
15679	return out, req.Send()
15680}
15681
15682// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
15683// the ability to pass a context and additional request options.
15684//
15685// See DescribePrefixLists for details on how to use this API operation.
15686//
15687// The context must be non-nil and will be used for request cancellation. If
15688// the context is nil a panic will occur. In the future the SDK may create
15689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15690// for more information on using Contexts.
15691func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
15692	req, out := c.DescribePrefixListsRequest(input)
15693	req.SetContext(ctx)
15694	req.ApplyOptions(opts...)
15695	return out, req.Send()
15696}
15697
15698// DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation,
15699// calling the "fn" function with the response data for each page. To stop
15700// iterating, return false from the fn function.
15701//
15702// See DescribePrefixLists method for more information on how to use this operation.
15703//
15704// Note: This operation can generate multiple requests to a service.
15705//
15706//    // Example iterating over at most 3 pages of a DescribePrefixLists operation.
15707//    pageNum := 0
15708//    err := client.DescribePrefixListsPages(params,
15709//        func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool {
15710//            pageNum++
15711//            fmt.Println(page)
15712//            return pageNum <= 3
15713//        })
15714//
15715func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error {
15716	return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
15717}
15718
15719// DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except
15720// it takes a Context and allows setting request options on the pages.
15721//
15722// The context must be non-nil and will be used for request cancellation. If
15723// the context is nil a panic will occur. In the future the SDK may create
15724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15725// for more information on using Contexts.
15726func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error {
15727	p := request.Pagination{
15728		NewRequest: func() (*request.Request, error) {
15729			var inCpy *DescribePrefixListsInput
15730			if input != nil {
15731				tmp := *input
15732				inCpy = &tmp
15733			}
15734			req, _ := c.DescribePrefixListsRequest(inCpy)
15735			req.SetContext(ctx)
15736			req.ApplyOptions(opts...)
15737			return req, nil
15738		},
15739	}
15740
15741	cont := true
15742	for p.Next() && cont {
15743		cont = fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage())
15744	}
15745	return p.Err()
15746}
15747
15748const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
15749
15750// DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
15751// client's request for the DescribePrincipalIdFormat operation. The "output" return
15752// value will be populated with the request's response once the request completes
15753// successfully.
15754//
15755// Use "Send" method on the returned Request to send the API call to the service.
15756// the "output" return value is not valid until after Send returns without error.
15757//
15758// See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
15759// API call, and error handling.
15760//
15761// This method is useful when you want to inject custom logic or configuration
15762// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15763//
15764//
15765//    // Example sending a request using the DescribePrincipalIdFormatRequest method.
15766//    req, resp := client.DescribePrincipalIdFormatRequest(params)
15767//
15768//    err := req.Send()
15769//    if err == nil { // resp is now filled
15770//        fmt.Println(resp)
15771//    }
15772//
15773// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
15774func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
15775	op := &request.Operation{
15776		Name:       opDescribePrincipalIdFormat,
15777		HTTPMethod: "POST",
15778		HTTPPath:   "/",
15779		Paginator: &request.Paginator{
15780			InputTokens:     []string{"NextToken"},
15781			OutputTokens:    []string{"NextToken"},
15782			LimitToken:      "MaxResults",
15783			TruncationToken: "",
15784		},
15785	}
15786
15787	if input == nil {
15788		input = &DescribePrincipalIdFormatInput{}
15789	}
15790
15791	output = &DescribePrincipalIdFormatOutput{}
15792	req = c.newRequest(op, input, output)
15793	return
15794}
15795
15796// DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
15797//
15798// Describes the ID format settings for the root user and all IAM roles and
15799// IAM users that have explicitly specified a longer ID (17-character ID) preference.
15800//
15801// By default, all IAM roles and IAM users default to the same ID settings as
15802// the root user, unless they explicitly override the settings. This request
15803// is useful for identifying those IAM users and IAM roles that have overridden
15804// the default ID settings.
15805//
15806// The following resource types support longer IDs: bundle | conversion-task
15807// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
15808// | export-task | flow-log | image | import-task | instance | internet-gateway
15809// | network-acl | network-acl-association | network-interface | network-interface-attachment
15810// | prefix-list | reservation | route-table | route-table-association | security-group
15811// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
15812// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
15813//
15814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15815// with awserr.Error's Code and Message methods to get detailed information about
15816// the error.
15817//
15818// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15819// API operation DescribePrincipalIdFormat for usage and error information.
15820// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
15821func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
15822	req, out := c.DescribePrincipalIdFormatRequest(input)
15823	return out, req.Send()
15824}
15825
15826// DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
15827// the ability to pass a context and additional request options.
15828//
15829// See DescribePrincipalIdFormat for details on how to use this API operation.
15830//
15831// The context must be non-nil and will be used for request cancellation. If
15832// the context is nil a panic will occur. In the future the SDK may create
15833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15834// for more information on using Contexts.
15835func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
15836	req, out := c.DescribePrincipalIdFormatRequest(input)
15837	req.SetContext(ctx)
15838	req.ApplyOptions(opts...)
15839	return out, req.Send()
15840}
15841
15842// DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat operation,
15843// calling the "fn" function with the response data for each page. To stop
15844// iterating, return false from the fn function.
15845//
15846// See DescribePrincipalIdFormat method for more information on how to use this operation.
15847//
15848// Note: This operation can generate multiple requests to a service.
15849//
15850//    // Example iterating over at most 3 pages of a DescribePrincipalIdFormat operation.
15851//    pageNum := 0
15852//    err := client.DescribePrincipalIdFormatPages(params,
15853//        func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool {
15854//            pageNum++
15855//            fmt.Println(page)
15856//            return pageNum <= 3
15857//        })
15858//
15859func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error {
15860	return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn)
15861}
15862
15863// DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages except
15864// it takes a Context and allows setting request options on the pages.
15865//
15866// The context must be non-nil and will be used for request cancellation. If
15867// the context is nil a panic will occur. In the future the SDK may create
15868// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15869// for more information on using Contexts.
15870func (c *EC2) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error {
15871	p := request.Pagination{
15872		NewRequest: func() (*request.Request, error) {
15873			var inCpy *DescribePrincipalIdFormatInput
15874			if input != nil {
15875				tmp := *input
15876				inCpy = &tmp
15877			}
15878			req, _ := c.DescribePrincipalIdFormatRequest(inCpy)
15879			req.SetContext(ctx)
15880			req.ApplyOptions(opts...)
15881			return req, nil
15882		},
15883	}
15884
15885	cont := true
15886	for p.Next() && cont {
15887		cont = fn(p.Page().(*DescribePrincipalIdFormatOutput), !p.HasNextPage())
15888	}
15889	return p.Err()
15890}
15891
15892const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
15893
15894// DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
15895// client's request for the DescribePublicIpv4Pools operation. The "output" return
15896// value will be populated with the request's response once the request completes
15897// successfully.
15898//
15899// Use "Send" method on the returned Request to send the API call to the service.
15900// the "output" return value is not valid until after Send returns without error.
15901//
15902// See DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
15903// API call, and error handling.
15904//
15905// This method is useful when you want to inject custom logic or configuration
15906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15907//
15908//
15909//    // Example sending a request using the DescribePublicIpv4PoolsRequest method.
15910//    req, resp := client.DescribePublicIpv4PoolsRequest(params)
15911//
15912//    err := req.Send()
15913//    if err == nil { // resp is now filled
15914//        fmt.Println(resp)
15915//    }
15916//
15917// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
15918func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
15919	op := &request.Operation{
15920		Name:       opDescribePublicIpv4Pools,
15921		HTTPMethod: "POST",
15922		HTTPPath:   "/",
15923		Paginator: &request.Paginator{
15924			InputTokens:     []string{"NextToken"},
15925			OutputTokens:    []string{"NextToken"},
15926			LimitToken:      "MaxResults",
15927			TruncationToken: "",
15928		},
15929	}
15930
15931	if input == nil {
15932		input = &DescribePublicIpv4PoolsInput{}
15933	}
15934
15935	output = &DescribePublicIpv4PoolsOutput{}
15936	req = c.newRequest(op, input, output)
15937	return
15938}
15939
15940// DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
15941//
15942// Describes the specified IPv4 address pools.
15943//
15944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15945// with awserr.Error's Code and Message methods to get detailed information about
15946// the error.
15947//
15948// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15949// API operation DescribePublicIpv4Pools for usage and error information.
15950// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
15951func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
15952	req, out := c.DescribePublicIpv4PoolsRequest(input)
15953	return out, req.Send()
15954}
15955
15956// DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
15957// the ability to pass a context and additional request options.
15958//
15959// See DescribePublicIpv4Pools for details on how to use this API operation.
15960//
15961// The context must be non-nil and will be used for request cancellation. If
15962// the context is nil a panic will occur. In the future the SDK may create
15963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15964// for more information on using Contexts.
15965func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
15966	req, out := c.DescribePublicIpv4PoolsRequest(input)
15967	req.SetContext(ctx)
15968	req.ApplyOptions(opts...)
15969	return out, req.Send()
15970}
15971
15972// DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation,
15973// calling the "fn" function with the response data for each page. To stop
15974// iterating, return false from the fn function.
15975//
15976// See DescribePublicIpv4Pools method for more information on how to use this operation.
15977//
15978// Note: This operation can generate multiple requests to a service.
15979//
15980//    // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation.
15981//    pageNum := 0
15982//    err := client.DescribePublicIpv4PoolsPages(params,
15983//        func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool {
15984//            pageNum++
15985//            fmt.Println(page)
15986//            return pageNum <= 3
15987//        })
15988//
15989func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error {
15990	return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
15991}
15992
15993// DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except
15994// it takes a Context and allows setting request options on the pages.
15995//
15996// The context must be non-nil and will be used for request cancellation. If
15997// the context is nil a panic will occur. In the future the SDK may create
15998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15999// for more information on using Contexts.
16000func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error {
16001	p := request.Pagination{
16002		NewRequest: func() (*request.Request, error) {
16003			var inCpy *DescribePublicIpv4PoolsInput
16004			if input != nil {
16005				tmp := *input
16006				inCpy = &tmp
16007			}
16008			req, _ := c.DescribePublicIpv4PoolsRequest(inCpy)
16009			req.SetContext(ctx)
16010			req.ApplyOptions(opts...)
16011			return req, nil
16012		},
16013	}
16014
16015	cont := true
16016	for p.Next() && cont {
16017		cont = fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage())
16018	}
16019	return p.Err()
16020}
16021
16022const opDescribeRegions = "DescribeRegions"
16023
16024// DescribeRegionsRequest generates a "aws/request.Request" representing the
16025// client's request for the DescribeRegions operation. The "output" return
16026// value will be populated with the request's response once the request completes
16027// successfully.
16028//
16029// Use "Send" method on the returned Request to send the API call to the service.
16030// the "output" return value is not valid until after Send returns without error.
16031//
16032// See DescribeRegions for more information on using the DescribeRegions
16033// API call, and error handling.
16034//
16035// This method is useful when you want to inject custom logic or configuration
16036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16037//
16038//
16039//    // Example sending a request using the DescribeRegionsRequest method.
16040//    req, resp := client.DescribeRegionsRequest(params)
16041//
16042//    err := req.Send()
16043//    if err == nil { // resp is now filled
16044//        fmt.Println(resp)
16045//    }
16046//
16047// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
16048func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
16049	op := &request.Operation{
16050		Name:       opDescribeRegions,
16051		HTTPMethod: "POST",
16052		HTTPPath:   "/",
16053	}
16054
16055	if input == nil {
16056		input = &DescribeRegionsInput{}
16057	}
16058
16059	output = &DescribeRegionsOutput{}
16060	req = c.newRequest(op, input, output)
16061	return
16062}
16063
16064// DescribeRegions API operation for Amazon Elastic Compute Cloud.
16065//
16066// Describes the Regions that are currently available to you. The API returns
16067// a list of all the Regions, including Regions that are disabled for your account.
16068// For information about enabling Regions for your account, see Enabling and
16069// Disabling Regions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-account-payment.html#manage-account-payment-enable-disable-regions)
16070// in the AWS Billing and Cost Management User Guide.
16071//
16072// For a list of the Regions supported by Amazon EC2, see Regions and Endpoints
16073// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
16074//
16075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16076// with awserr.Error's Code and Message methods to get detailed information about
16077// the error.
16078//
16079// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16080// API operation DescribeRegions for usage and error information.
16081// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
16082func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
16083	req, out := c.DescribeRegionsRequest(input)
16084	return out, req.Send()
16085}
16086
16087// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
16088// the ability to pass a context and additional request options.
16089//
16090// See DescribeRegions for details on how to use this API operation.
16091//
16092// The context must be non-nil and will be used for request cancellation. If
16093// the context is nil a panic will occur. In the future the SDK may create
16094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16095// for more information on using Contexts.
16096func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
16097	req, out := c.DescribeRegionsRequest(input)
16098	req.SetContext(ctx)
16099	req.ApplyOptions(opts...)
16100	return out, req.Send()
16101}
16102
16103const opDescribeReservedInstances = "DescribeReservedInstances"
16104
16105// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
16106// client's request for the DescribeReservedInstances operation. The "output" return
16107// value will be populated with the request's response once the request completes
16108// successfully.
16109//
16110// Use "Send" method on the returned Request to send the API call to the service.
16111// the "output" return value is not valid until after Send returns without error.
16112//
16113// See DescribeReservedInstances for more information on using the DescribeReservedInstances
16114// API call, and error handling.
16115//
16116// This method is useful when you want to inject custom logic or configuration
16117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16118//
16119//
16120//    // Example sending a request using the DescribeReservedInstancesRequest method.
16121//    req, resp := client.DescribeReservedInstancesRequest(params)
16122//
16123//    err := req.Send()
16124//    if err == nil { // resp is now filled
16125//        fmt.Println(resp)
16126//    }
16127//
16128// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
16129func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
16130	op := &request.Operation{
16131		Name:       opDescribeReservedInstances,
16132		HTTPMethod: "POST",
16133		HTTPPath:   "/",
16134	}
16135
16136	if input == nil {
16137		input = &DescribeReservedInstancesInput{}
16138	}
16139
16140	output = &DescribeReservedInstancesOutput{}
16141	req = c.newRequest(op, input, output)
16142	return
16143}
16144
16145// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
16146//
16147// Describes one or more of the Reserved Instances that you purchased.
16148//
16149// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
16150// in the Amazon Elastic Compute Cloud User Guide.
16151//
16152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16153// with awserr.Error's Code and Message methods to get detailed information about
16154// the error.
16155//
16156// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16157// API operation DescribeReservedInstances for usage and error information.
16158// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
16159func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
16160	req, out := c.DescribeReservedInstancesRequest(input)
16161	return out, req.Send()
16162}
16163
16164// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
16165// the ability to pass a context and additional request options.
16166//
16167// See DescribeReservedInstances for details on how to use this API operation.
16168//
16169// The context must be non-nil and will be used for request cancellation. If
16170// the context is nil a panic will occur. In the future the SDK may create
16171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16172// for more information on using Contexts.
16173func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
16174	req, out := c.DescribeReservedInstancesRequest(input)
16175	req.SetContext(ctx)
16176	req.ApplyOptions(opts...)
16177	return out, req.Send()
16178}
16179
16180const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
16181
16182// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
16183// client's request for the DescribeReservedInstancesListings operation. The "output" return
16184// value will be populated with the request's response once the request completes
16185// successfully.
16186//
16187// Use "Send" method on the returned Request to send the API call to the service.
16188// the "output" return value is not valid until after Send returns without error.
16189//
16190// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
16191// API call, and error handling.
16192//
16193// This method is useful when you want to inject custom logic or configuration
16194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16195//
16196//
16197//    // Example sending a request using the DescribeReservedInstancesListingsRequest method.
16198//    req, resp := client.DescribeReservedInstancesListingsRequest(params)
16199//
16200//    err := req.Send()
16201//    if err == nil { // resp is now filled
16202//        fmt.Println(resp)
16203//    }
16204//
16205// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
16206func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
16207	op := &request.Operation{
16208		Name:       opDescribeReservedInstancesListings,
16209		HTTPMethod: "POST",
16210		HTTPPath:   "/",
16211	}
16212
16213	if input == nil {
16214		input = &DescribeReservedInstancesListingsInput{}
16215	}
16216
16217	output = &DescribeReservedInstancesListingsOutput{}
16218	req = c.newRequest(op, input, output)
16219	return
16220}
16221
16222// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
16223//
16224// Describes your account's Reserved Instance listings in the Reserved Instance
16225// Marketplace.
16226//
16227// The Reserved Instance Marketplace matches sellers who want to resell Reserved
16228// Instance capacity that they no longer need with buyers who want to purchase
16229// additional capacity. Reserved Instances bought and sold through the Reserved
16230// Instance Marketplace work like any other Reserved Instances.
16231//
16232// As a seller, you choose to list some or all of your Reserved Instances, and
16233// you specify the upfront price to receive for them. Your Reserved Instances
16234// are then listed in the Reserved Instance Marketplace and are available for
16235// purchase.
16236//
16237// As a buyer, you specify the configuration of the Reserved Instance to purchase,
16238// and the Marketplace matches what you're searching for with what's available.
16239// The Marketplace first sells the lowest priced Reserved Instances to you,
16240// and continues to sell available Reserved Instance listings to you until your
16241// demand is met. You are charged based on the total price of all of the listings
16242// that you purchase.
16243//
16244// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
16245// in the Amazon Elastic Compute Cloud User Guide.
16246//
16247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16248// with awserr.Error's Code and Message methods to get detailed information about
16249// the error.
16250//
16251// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16252// API operation DescribeReservedInstancesListings for usage and error information.
16253// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
16254func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
16255	req, out := c.DescribeReservedInstancesListingsRequest(input)
16256	return out, req.Send()
16257}
16258
16259// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
16260// the ability to pass a context and additional request options.
16261//
16262// See DescribeReservedInstancesListings for details on how to use this API operation.
16263//
16264// The context must be non-nil and will be used for request cancellation. If
16265// the context is nil a panic will occur. In the future the SDK may create
16266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16267// for more information on using Contexts.
16268func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
16269	req, out := c.DescribeReservedInstancesListingsRequest(input)
16270	req.SetContext(ctx)
16271	req.ApplyOptions(opts...)
16272	return out, req.Send()
16273}
16274
16275const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
16276
16277// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
16278// client's request for the DescribeReservedInstancesModifications operation. The "output" return
16279// value will be populated with the request's response once the request completes
16280// successfully.
16281//
16282// Use "Send" method on the returned Request to send the API call to the service.
16283// the "output" return value is not valid until after Send returns without error.
16284//
16285// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
16286// API call, and error handling.
16287//
16288// This method is useful when you want to inject custom logic or configuration
16289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16290//
16291//
16292//    // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
16293//    req, resp := client.DescribeReservedInstancesModificationsRequest(params)
16294//
16295//    err := req.Send()
16296//    if err == nil { // resp is now filled
16297//        fmt.Println(resp)
16298//    }
16299//
16300// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
16301func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
16302	op := &request.Operation{
16303		Name:       opDescribeReservedInstancesModifications,
16304		HTTPMethod: "POST",
16305		HTTPPath:   "/",
16306		Paginator: &request.Paginator{
16307			InputTokens:     []string{"NextToken"},
16308			OutputTokens:    []string{"NextToken"},
16309			LimitToken:      "",
16310			TruncationToken: "",
16311		},
16312	}
16313
16314	if input == nil {
16315		input = &DescribeReservedInstancesModificationsInput{}
16316	}
16317
16318	output = &DescribeReservedInstancesModificationsOutput{}
16319	req = c.newRequest(op, input, output)
16320	return
16321}
16322
16323// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
16324//
16325// Describes the modifications made to your Reserved Instances. If no parameter
16326// is specified, information about all your Reserved Instances modification
16327// requests is returned. If a modification ID is specified, only information
16328// about the specific modification is returned.
16329//
16330// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
16331// in the Amazon Elastic Compute Cloud User Guide.
16332//
16333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16334// with awserr.Error's Code and Message methods to get detailed information about
16335// the error.
16336//
16337// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16338// API operation DescribeReservedInstancesModifications for usage and error information.
16339// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
16340func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
16341	req, out := c.DescribeReservedInstancesModificationsRequest(input)
16342	return out, req.Send()
16343}
16344
16345// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
16346// the ability to pass a context and additional request options.
16347//
16348// See DescribeReservedInstancesModifications for details on how to use this API operation.
16349//
16350// The context must be non-nil and will be used for request cancellation. If
16351// the context is nil a panic will occur. In the future the SDK may create
16352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16353// for more information on using Contexts.
16354func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
16355	req, out := c.DescribeReservedInstancesModificationsRequest(input)
16356	req.SetContext(ctx)
16357	req.ApplyOptions(opts...)
16358	return out, req.Send()
16359}
16360
16361// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
16362// calling the "fn" function with the response data for each page. To stop
16363// iterating, return false from the fn function.
16364//
16365// See DescribeReservedInstancesModifications method for more information on how to use this operation.
16366//
16367// Note: This operation can generate multiple requests to a service.
16368//
16369//    // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
16370//    pageNum := 0
16371//    err := client.DescribeReservedInstancesModificationsPages(params,
16372//        func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
16373//            pageNum++
16374//            fmt.Println(page)
16375//            return pageNum <= 3
16376//        })
16377//
16378func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
16379	return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
16380}
16381
16382// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
16383// it takes a Context and allows setting request options on the pages.
16384//
16385// The context must be non-nil and will be used for request cancellation. If
16386// the context is nil a panic will occur. In the future the SDK may create
16387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16388// for more information on using Contexts.
16389func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
16390	p := request.Pagination{
16391		NewRequest: func() (*request.Request, error) {
16392			var inCpy *DescribeReservedInstancesModificationsInput
16393			if input != nil {
16394				tmp := *input
16395				inCpy = &tmp
16396			}
16397			req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
16398			req.SetContext(ctx)
16399			req.ApplyOptions(opts...)
16400			return req, nil
16401		},
16402	}
16403
16404	cont := true
16405	for p.Next() && cont {
16406		cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
16407	}
16408	return p.Err()
16409}
16410
16411const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
16412
16413// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
16414// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
16415// value will be populated with the request's response once the request completes
16416// successfully.
16417//
16418// Use "Send" method on the returned Request to send the API call to the service.
16419// the "output" return value is not valid until after Send returns without error.
16420//
16421// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
16422// API call, and error handling.
16423//
16424// This method is useful when you want to inject custom logic or configuration
16425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16426//
16427//
16428//    // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
16429//    req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
16430//
16431//    err := req.Send()
16432//    if err == nil { // resp is now filled
16433//        fmt.Println(resp)
16434//    }
16435//
16436// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
16437func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
16438	op := &request.Operation{
16439		Name:       opDescribeReservedInstancesOfferings,
16440		HTTPMethod: "POST",
16441		HTTPPath:   "/",
16442		Paginator: &request.Paginator{
16443			InputTokens:     []string{"NextToken"},
16444			OutputTokens:    []string{"NextToken"},
16445			LimitToken:      "MaxResults",
16446			TruncationToken: "",
16447		},
16448	}
16449
16450	if input == nil {
16451		input = &DescribeReservedInstancesOfferingsInput{}
16452	}
16453
16454	output = &DescribeReservedInstancesOfferingsOutput{}
16455	req = c.newRequest(op, input, output)
16456	return
16457}
16458
16459// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
16460//
16461// Describes Reserved Instance offerings that are available for purchase. With
16462// Reserved Instances, you purchase the right to launch instances for a period
16463// of time. During that time period, you do not receive insufficient capacity
16464// errors, and you pay a lower usage rate than the rate charged for On-Demand
16465// instances for the actual time used.
16466//
16467// If you have listed your own Reserved Instances for sale in the Reserved Instance
16468// Marketplace, they will be excluded from these results. This is to ensure
16469// that you do not purchase your own Reserved Instances.
16470//
16471// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
16472// in the Amazon Elastic Compute Cloud User Guide.
16473//
16474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16475// with awserr.Error's Code and Message methods to get detailed information about
16476// the error.
16477//
16478// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16479// API operation DescribeReservedInstancesOfferings for usage and error information.
16480// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
16481func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
16482	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
16483	return out, req.Send()
16484}
16485
16486// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
16487// the ability to pass a context and additional request options.
16488//
16489// See DescribeReservedInstancesOfferings for details on how to use this API operation.
16490//
16491// The context must be non-nil and will be used for request cancellation. If
16492// the context is nil a panic will occur. In the future the SDK may create
16493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16494// for more information on using Contexts.
16495func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
16496	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
16497	req.SetContext(ctx)
16498	req.ApplyOptions(opts...)
16499	return out, req.Send()
16500}
16501
16502// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
16503// calling the "fn" function with the response data for each page. To stop
16504// iterating, return false from the fn function.
16505//
16506// See DescribeReservedInstancesOfferings method for more information on how to use this operation.
16507//
16508// Note: This operation can generate multiple requests to a service.
16509//
16510//    // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
16511//    pageNum := 0
16512//    err := client.DescribeReservedInstancesOfferingsPages(params,
16513//        func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
16514//            pageNum++
16515//            fmt.Println(page)
16516//            return pageNum <= 3
16517//        })
16518//
16519func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
16520	return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
16521}
16522
16523// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
16524// it takes a Context and allows setting request options on the pages.
16525//
16526// The context must be non-nil and will be used for request cancellation. If
16527// the context is nil a panic will occur. In the future the SDK may create
16528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16529// for more information on using Contexts.
16530func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
16531	p := request.Pagination{
16532		NewRequest: func() (*request.Request, error) {
16533			var inCpy *DescribeReservedInstancesOfferingsInput
16534			if input != nil {
16535				tmp := *input
16536				inCpy = &tmp
16537			}
16538			req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
16539			req.SetContext(ctx)
16540			req.ApplyOptions(opts...)
16541			return req, nil
16542		},
16543	}
16544
16545	cont := true
16546	for p.Next() && cont {
16547		cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
16548	}
16549	return p.Err()
16550}
16551
16552const opDescribeRouteTables = "DescribeRouteTables"
16553
16554// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
16555// client's request for the DescribeRouteTables operation. The "output" return
16556// value will be populated with the request's response once the request completes
16557// successfully.
16558//
16559// Use "Send" method on the returned Request to send the API call to the service.
16560// the "output" return value is not valid until after Send returns without error.
16561//
16562// See DescribeRouteTables for more information on using the DescribeRouteTables
16563// API call, and error handling.
16564//
16565// This method is useful when you want to inject custom logic or configuration
16566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16567//
16568//
16569//    // Example sending a request using the DescribeRouteTablesRequest method.
16570//    req, resp := client.DescribeRouteTablesRequest(params)
16571//
16572//    err := req.Send()
16573//    if err == nil { // resp is now filled
16574//        fmt.Println(resp)
16575//    }
16576//
16577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
16578func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
16579	op := &request.Operation{
16580		Name:       opDescribeRouteTables,
16581		HTTPMethod: "POST",
16582		HTTPPath:   "/",
16583		Paginator: &request.Paginator{
16584			InputTokens:     []string{"NextToken"},
16585			OutputTokens:    []string{"NextToken"},
16586			LimitToken:      "MaxResults",
16587			TruncationToken: "",
16588		},
16589	}
16590
16591	if input == nil {
16592		input = &DescribeRouteTablesInput{}
16593	}
16594
16595	output = &DescribeRouteTablesOutput{}
16596	req = c.newRequest(op, input, output)
16597	return
16598}
16599
16600// DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
16601//
16602// Describes one or more of your route tables.
16603//
16604// Each subnet in your VPC must be associated with a route table. If a subnet
16605// is not explicitly associated with any route table, it is implicitly associated
16606// with the main route table. This command does not return the subnet ID for
16607// implicit associations.
16608//
16609// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
16610// in the Amazon Virtual Private Cloud User Guide.
16611//
16612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16613// with awserr.Error's Code and Message methods to get detailed information about
16614// the error.
16615//
16616// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16617// API operation DescribeRouteTables for usage and error information.
16618// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
16619func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
16620	req, out := c.DescribeRouteTablesRequest(input)
16621	return out, req.Send()
16622}
16623
16624// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
16625// the ability to pass a context and additional request options.
16626//
16627// See DescribeRouteTables for details on how to use this API operation.
16628//
16629// The context must be non-nil and will be used for request cancellation. If
16630// the context is nil a panic will occur. In the future the SDK may create
16631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16632// for more information on using Contexts.
16633func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
16634	req, out := c.DescribeRouteTablesRequest(input)
16635	req.SetContext(ctx)
16636	req.ApplyOptions(opts...)
16637	return out, req.Send()
16638}
16639
16640// DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
16641// calling the "fn" function with the response data for each page. To stop
16642// iterating, return false from the fn function.
16643//
16644// See DescribeRouteTables method for more information on how to use this operation.
16645//
16646// Note: This operation can generate multiple requests to a service.
16647//
16648//    // Example iterating over at most 3 pages of a DescribeRouteTables operation.
16649//    pageNum := 0
16650//    err := client.DescribeRouteTablesPages(params,
16651//        func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool {
16652//            pageNum++
16653//            fmt.Println(page)
16654//            return pageNum <= 3
16655//        })
16656//
16657func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
16658	return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
16659}
16660
16661// DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
16662// it takes a Context and allows setting request options on the pages.
16663//
16664// The context must be non-nil and will be used for request cancellation. If
16665// the context is nil a panic will occur. In the future the SDK may create
16666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16667// for more information on using Contexts.
16668func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
16669	p := request.Pagination{
16670		NewRequest: func() (*request.Request, error) {
16671			var inCpy *DescribeRouteTablesInput
16672			if input != nil {
16673				tmp := *input
16674				inCpy = &tmp
16675			}
16676			req, _ := c.DescribeRouteTablesRequest(inCpy)
16677			req.SetContext(ctx)
16678			req.ApplyOptions(opts...)
16679			return req, nil
16680		},
16681	}
16682
16683	cont := true
16684	for p.Next() && cont {
16685		cont = fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage())
16686	}
16687	return p.Err()
16688}
16689
16690const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
16691
16692// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
16693// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
16694// value will be populated with the request's response once the request completes
16695// successfully.
16696//
16697// Use "Send" method on the returned Request to send the API call to the service.
16698// the "output" return value is not valid until after Send returns without error.
16699//
16700// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
16701// API call, and error handling.
16702//
16703// This method is useful when you want to inject custom logic or configuration
16704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16705//
16706//
16707//    // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
16708//    req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
16709//
16710//    err := req.Send()
16711//    if err == nil { // resp is now filled
16712//        fmt.Println(resp)
16713//    }
16714//
16715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
16716func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
16717	op := &request.Operation{
16718		Name:       opDescribeScheduledInstanceAvailability,
16719		HTTPMethod: "POST",
16720		HTTPPath:   "/",
16721		Paginator: &request.Paginator{
16722			InputTokens:     []string{"NextToken"},
16723			OutputTokens:    []string{"NextToken"},
16724			LimitToken:      "MaxResults",
16725			TruncationToken: "",
16726		},
16727	}
16728
16729	if input == nil {
16730		input = &DescribeScheduledInstanceAvailabilityInput{}
16731	}
16732
16733	output = &DescribeScheduledInstanceAvailabilityOutput{}
16734	req = c.newRequest(op, input, output)
16735	return
16736}
16737
16738// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
16739//
16740// Finds available schedules that meet the specified criteria.
16741//
16742// You can search for an available schedule no more than 3 months in advance.
16743// You must meet the minimum required duration of 1,200 hours per year. For
16744// example, the minimum daily schedule is 4 hours, the minimum weekly schedule
16745// is 24 hours, and the minimum monthly schedule is 100 hours.
16746//
16747// After you find a schedule that meets your needs, call PurchaseScheduledInstances
16748// to purchase Scheduled Instances with that schedule.
16749//
16750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16751// with awserr.Error's Code and Message methods to get detailed information about
16752// the error.
16753//
16754// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16755// API operation DescribeScheduledInstanceAvailability for usage and error information.
16756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
16757func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
16758	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
16759	return out, req.Send()
16760}
16761
16762// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
16763// the ability to pass a context and additional request options.
16764//
16765// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
16766//
16767// The context must be non-nil and will be used for request cancellation. If
16768// the context is nil a panic will occur. In the future the SDK may create
16769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16770// for more information on using Contexts.
16771func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
16772	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
16773	req.SetContext(ctx)
16774	req.ApplyOptions(opts...)
16775	return out, req.Send()
16776}
16777
16778// DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation,
16779// calling the "fn" function with the response data for each page. To stop
16780// iterating, return false from the fn function.
16781//
16782// See DescribeScheduledInstanceAvailability method for more information on how to use this operation.
16783//
16784// Note: This operation can generate multiple requests to a service.
16785//
16786//    // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation.
16787//    pageNum := 0
16788//    err := client.DescribeScheduledInstanceAvailabilityPages(params,
16789//        func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool {
16790//            pageNum++
16791//            fmt.Println(page)
16792//            return pageNum <= 3
16793//        })
16794//
16795func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error {
16796	return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn)
16797}
16798
16799// DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except
16800// it takes a Context and allows setting request options on the pages.
16801//
16802// The context must be non-nil and will be used for request cancellation. If
16803// the context is nil a panic will occur. In the future the SDK may create
16804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16805// for more information on using Contexts.
16806func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error {
16807	p := request.Pagination{
16808		NewRequest: func() (*request.Request, error) {
16809			var inCpy *DescribeScheduledInstanceAvailabilityInput
16810			if input != nil {
16811				tmp := *input
16812				inCpy = &tmp
16813			}
16814			req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy)
16815			req.SetContext(ctx)
16816			req.ApplyOptions(opts...)
16817			return req, nil
16818		},
16819	}
16820
16821	cont := true
16822	for p.Next() && cont {
16823		cont = fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage())
16824	}
16825	return p.Err()
16826}
16827
16828const opDescribeScheduledInstances = "DescribeScheduledInstances"
16829
16830// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
16831// client's request for the DescribeScheduledInstances operation. The "output" return
16832// value will be populated with the request's response once the request completes
16833// successfully.
16834//
16835// Use "Send" method on the returned Request to send the API call to the service.
16836// the "output" return value is not valid until after Send returns without error.
16837//
16838// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
16839// API call, and error handling.
16840//
16841// This method is useful when you want to inject custom logic or configuration
16842// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16843//
16844//
16845//    // Example sending a request using the DescribeScheduledInstancesRequest method.
16846//    req, resp := client.DescribeScheduledInstancesRequest(params)
16847//
16848//    err := req.Send()
16849//    if err == nil { // resp is now filled
16850//        fmt.Println(resp)
16851//    }
16852//
16853// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
16854func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
16855	op := &request.Operation{
16856		Name:       opDescribeScheduledInstances,
16857		HTTPMethod: "POST",
16858		HTTPPath:   "/",
16859		Paginator: &request.Paginator{
16860			InputTokens:     []string{"NextToken"},
16861			OutputTokens:    []string{"NextToken"},
16862			LimitToken:      "MaxResults",
16863			TruncationToken: "",
16864		},
16865	}
16866
16867	if input == nil {
16868		input = &DescribeScheduledInstancesInput{}
16869	}
16870
16871	output = &DescribeScheduledInstancesOutput{}
16872	req = c.newRequest(op, input, output)
16873	return
16874}
16875
16876// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
16877//
16878// Describes the specified Scheduled Instances or all your Scheduled Instances.
16879//
16880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16881// with awserr.Error's Code and Message methods to get detailed information about
16882// the error.
16883//
16884// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16885// API operation DescribeScheduledInstances for usage and error information.
16886// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
16887func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
16888	req, out := c.DescribeScheduledInstancesRequest(input)
16889	return out, req.Send()
16890}
16891
16892// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
16893// the ability to pass a context and additional request options.
16894//
16895// See DescribeScheduledInstances for details on how to use this API operation.
16896//
16897// The context must be non-nil and will be used for request cancellation. If
16898// the context is nil a panic will occur. In the future the SDK may create
16899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16900// for more information on using Contexts.
16901func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
16902	req, out := c.DescribeScheduledInstancesRequest(input)
16903	req.SetContext(ctx)
16904	req.ApplyOptions(opts...)
16905	return out, req.Send()
16906}
16907
16908// DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation,
16909// calling the "fn" function with the response data for each page. To stop
16910// iterating, return false from the fn function.
16911//
16912// See DescribeScheduledInstances method for more information on how to use this operation.
16913//
16914// Note: This operation can generate multiple requests to a service.
16915//
16916//    // Example iterating over at most 3 pages of a DescribeScheduledInstances operation.
16917//    pageNum := 0
16918//    err := client.DescribeScheduledInstancesPages(params,
16919//        func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool {
16920//            pageNum++
16921//            fmt.Println(page)
16922//            return pageNum <= 3
16923//        })
16924//
16925func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error {
16926	return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
16927}
16928
16929// DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except
16930// it takes a Context and allows setting request options on the pages.
16931//
16932// The context must be non-nil and will be used for request cancellation. If
16933// the context is nil a panic will occur. In the future the SDK may create
16934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16935// for more information on using Contexts.
16936func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error {
16937	p := request.Pagination{
16938		NewRequest: func() (*request.Request, error) {
16939			var inCpy *DescribeScheduledInstancesInput
16940			if input != nil {
16941				tmp := *input
16942				inCpy = &tmp
16943			}
16944			req, _ := c.DescribeScheduledInstancesRequest(inCpy)
16945			req.SetContext(ctx)
16946			req.ApplyOptions(opts...)
16947			return req, nil
16948		},
16949	}
16950
16951	cont := true
16952	for p.Next() && cont {
16953		cont = fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage())
16954	}
16955	return p.Err()
16956}
16957
16958const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
16959
16960// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
16961// client's request for the DescribeSecurityGroupReferences operation. The "output" return
16962// value will be populated with the request's response once the request completes
16963// successfully.
16964//
16965// Use "Send" method on the returned Request to send the API call to the service.
16966// the "output" return value is not valid until after Send returns without error.
16967//
16968// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
16969// API call, and error handling.
16970//
16971// This method is useful when you want to inject custom logic or configuration
16972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16973//
16974//
16975//    // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
16976//    req, resp := client.DescribeSecurityGroupReferencesRequest(params)
16977//
16978//    err := req.Send()
16979//    if err == nil { // resp is now filled
16980//        fmt.Println(resp)
16981//    }
16982//
16983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
16984func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
16985	op := &request.Operation{
16986		Name:       opDescribeSecurityGroupReferences,
16987		HTTPMethod: "POST",
16988		HTTPPath:   "/",
16989	}
16990
16991	if input == nil {
16992		input = &DescribeSecurityGroupReferencesInput{}
16993	}
16994
16995	output = &DescribeSecurityGroupReferencesOutput{}
16996	req = c.newRequest(op, input, output)
16997	return
16998}
16999
17000// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
17001//
17002// [VPC only] Describes the VPCs on the other side of a VPC peering connection
17003// that are referencing the security groups you've specified in this request.
17004//
17005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17006// with awserr.Error's Code and Message methods to get detailed information about
17007// the error.
17008//
17009// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17010// API operation DescribeSecurityGroupReferences for usage and error information.
17011// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
17012func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
17013	req, out := c.DescribeSecurityGroupReferencesRequest(input)
17014	return out, req.Send()
17015}
17016
17017// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
17018// the ability to pass a context and additional request options.
17019//
17020// See DescribeSecurityGroupReferences for details on how to use this API operation.
17021//
17022// The context must be non-nil and will be used for request cancellation. If
17023// the context is nil a panic will occur. In the future the SDK may create
17024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17025// for more information on using Contexts.
17026func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
17027	req, out := c.DescribeSecurityGroupReferencesRequest(input)
17028	req.SetContext(ctx)
17029	req.ApplyOptions(opts...)
17030	return out, req.Send()
17031}
17032
17033const opDescribeSecurityGroups = "DescribeSecurityGroups"
17034
17035// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
17036// client's request for the DescribeSecurityGroups operation. The "output" return
17037// value will be populated with the request's response once the request completes
17038// successfully.
17039//
17040// Use "Send" method on the returned Request to send the API call to the service.
17041// the "output" return value is not valid until after Send returns without error.
17042//
17043// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
17044// API call, and error handling.
17045//
17046// This method is useful when you want to inject custom logic or configuration
17047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17048//
17049//
17050//    // Example sending a request using the DescribeSecurityGroupsRequest method.
17051//    req, resp := client.DescribeSecurityGroupsRequest(params)
17052//
17053//    err := req.Send()
17054//    if err == nil { // resp is now filled
17055//        fmt.Println(resp)
17056//    }
17057//
17058// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
17059func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
17060	op := &request.Operation{
17061		Name:       opDescribeSecurityGroups,
17062		HTTPMethod: "POST",
17063		HTTPPath:   "/",
17064		Paginator: &request.Paginator{
17065			InputTokens:     []string{"NextToken"},
17066			OutputTokens:    []string{"NextToken"},
17067			LimitToken:      "MaxResults",
17068			TruncationToken: "",
17069		},
17070	}
17071
17072	if input == nil {
17073		input = &DescribeSecurityGroupsInput{}
17074	}
17075
17076	output = &DescribeSecurityGroupsOutput{}
17077	req = c.newRequest(op, input, output)
17078	return
17079}
17080
17081// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
17082//
17083// Describes the specified security groups or all of your security groups.
17084//
17085// A security group is for use with instances either in the EC2-Classic platform
17086// or in a specific VPC. For more information, see Amazon EC2 Security Groups
17087// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
17088// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
17089// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
17090// in the Amazon Virtual Private Cloud User Guide.
17091//
17092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17093// with awserr.Error's Code and Message methods to get detailed information about
17094// the error.
17095//
17096// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17097// API operation DescribeSecurityGroups for usage and error information.
17098// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
17099func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
17100	req, out := c.DescribeSecurityGroupsRequest(input)
17101	return out, req.Send()
17102}
17103
17104// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
17105// the ability to pass a context and additional request options.
17106//
17107// See DescribeSecurityGroups for details on how to use this API operation.
17108//
17109// The context must be non-nil and will be used for request cancellation. If
17110// the context is nil a panic will occur. In the future the SDK may create
17111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17112// for more information on using Contexts.
17113func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
17114	req, out := c.DescribeSecurityGroupsRequest(input)
17115	req.SetContext(ctx)
17116	req.ApplyOptions(opts...)
17117	return out, req.Send()
17118}
17119
17120// DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
17121// calling the "fn" function with the response data for each page. To stop
17122// iterating, return false from the fn function.
17123//
17124// See DescribeSecurityGroups method for more information on how to use this operation.
17125//
17126// Note: This operation can generate multiple requests to a service.
17127//
17128//    // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
17129//    pageNum := 0
17130//    err := client.DescribeSecurityGroupsPages(params,
17131//        func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool {
17132//            pageNum++
17133//            fmt.Println(page)
17134//            return pageNum <= 3
17135//        })
17136//
17137func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
17138	return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
17139}
17140
17141// DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
17142// it takes a Context and allows setting request options on the pages.
17143//
17144// The context must be non-nil and will be used for request cancellation. If
17145// the context is nil a panic will occur. In the future the SDK may create
17146// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17147// for more information on using Contexts.
17148func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
17149	p := request.Pagination{
17150		NewRequest: func() (*request.Request, error) {
17151			var inCpy *DescribeSecurityGroupsInput
17152			if input != nil {
17153				tmp := *input
17154				inCpy = &tmp
17155			}
17156			req, _ := c.DescribeSecurityGroupsRequest(inCpy)
17157			req.SetContext(ctx)
17158			req.ApplyOptions(opts...)
17159			return req, nil
17160		},
17161	}
17162
17163	cont := true
17164	for p.Next() && cont {
17165		cont = fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage())
17166	}
17167	return p.Err()
17168}
17169
17170const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
17171
17172// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
17173// client's request for the DescribeSnapshotAttribute operation. The "output" return
17174// value will be populated with the request's response once the request completes
17175// successfully.
17176//
17177// Use "Send" method on the returned Request to send the API call to the service.
17178// the "output" return value is not valid until after Send returns without error.
17179//
17180// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
17181// API call, and error handling.
17182//
17183// This method is useful when you want to inject custom logic or configuration
17184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17185//
17186//
17187//    // Example sending a request using the DescribeSnapshotAttributeRequest method.
17188//    req, resp := client.DescribeSnapshotAttributeRequest(params)
17189//
17190//    err := req.Send()
17191//    if err == nil { // resp is now filled
17192//        fmt.Println(resp)
17193//    }
17194//
17195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
17196func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
17197	op := &request.Operation{
17198		Name:       opDescribeSnapshotAttribute,
17199		HTTPMethod: "POST",
17200		HTTPPath:   "/",
17201	}
17202
17203	if input == nil {
17204		input = &DescribeSnapshotAttributeInput{}
17205	}
17206
17207	output = &DescribeSnapshotAttributeOutput{}
17208	req = c.newRequest(op, input, output)
17209	return
17210}
17211
17212// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
17213//
17214// Describes the specified attribute of the specified snapshot. You can specify
17215// only one attribute at a time.
17216//
17217// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
17218// in the Amazon Elastic Compute Cloud User Guide.
17219//
17220// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17221// with awserr.Error's Code and Message methods to get detailed information about
17222// the error.
17223//
17224// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17225// API operation DescribeSnapshotAttribute for usage and error information.
17226// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
17227func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
17228	req, out := c.DescribeSnapshotAttributeRequest(input)
17229	return out, req.Send()
17230}
17231
17232// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
17233// the ability to pass a context and additional request options.
17234//
17235// See DescribeSnapshotAttribute for details on how to use this API operation.
17236//
17237// The context must be non-nil and will be used for request cancellation. If
17238// the context is nil a panic will occur. In the future the SDK may create
17239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17240// for more information on using Contexts.
17241func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
17242	req, out := c.DescribeSnapshotAttributeRequest(input)
17243	req.SetContext(ctx)
17244	req.ApplyOptions(opts...)
17245	return out, req.Send()
17246}
17247
17248const opDescribeSnapshots = "DescribeSnapshots"
17249
17250// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
17251// client's request for the DescribeSnapshots operation. The "output" return
17252// value will be populated with the request's response once the request completes
17253// successfully.
17254//
17255// Use "Send" method on the returned Request to send the API call to the service.
17256// the "output" return value is not valid until after Send returns without error.
17257//
17258// See DescribeSnapshots for more information on using the DescribeSnapshots
17259// API call, and error handling.
17260//
17261// This method is useful when you want to inject custom logic or configuration
17262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17263//
17264//
17265//    // Example sending a request using the DescribeSnapshotsRequest method.
17266//    req, resp := client.DescribeSnapshotsRequest(params)
17267//
17268//    err := req.Send()
17269//    if err == nil { // resp is now filled
17270//        fmt.Println(resp)
17271//    }
17272//
17273// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
17274func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
17275	op := &request.Operation{
17276		Name:       opDescribeSnapshots,
17277		HTTPMethod: "POST",
17278		HTTPPath:   "/",
17279		Paginator: &request.Paginator{
17280			InputTokens:     []string{"NextToken"},
17281			OutputTokens:    []string{"NextToken"},
17282			LimitToken:      "MaxResults",
17283			TruncationToken: "",
17284		},
17285	}
17286
17287	if input == nil {
17288		input = &DescribeSnapshotsInput{}
17289	}
17290
17291	output = &DescribeSnapshotsOutput{}
17292	req = c.newRequest(op, input, output)
17293	return
17294}
17295
17296// DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
17297//
17298// Describes the specified EBS snapshots available to you or all of the EBS
17299// snapshots available to you.
17300//
17301// The snapshots available to you include public snapshots, private snapshots
17302// that you own, and private snapshots owned by other AWS accounts for which
17303// you have explicit create volume permissions.
17304//
17305// The create volume permissions fall into the following categories:
17306//
17307//    * public: The owner of the snapshot granted create volume permissions
17308//    for the snapshot to the all group. All AWS accounts have create volume
17309//    permissions for these snapshots.
17310//
17311//    * explicit: The owner of the snapshot granted create volume permissions
17312//    to a specific AWS account.
17313//
17314//    * implicit: An AWS account has implicit create volume permissions for
17315//    all snapshots it owns.
17316//
17317// The list of snapshots returned can be modified by specifying snapshot IDs,
17318// snapshot owners, or AWS accounts with create volume permissions. If no options
17319// are specified, Amazon EC2 returns all snapshots for which you have create
17320// volume permissions.
17321//
17322// If you specify one or more snapshot IDs, only snapshots that have the specified
17323// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
17324// If you specify a snapshot ID for which you do not have access, it is not
17325// included in the returned results.
17326//
17327// If you specify one or more snapshot owners using the OwnerIds option, only
17328// snapshots from the specified owners and for which you have access are returned.
17329// The results can include the AWS account IDs of the specified owners, amazon
17330// for snapshots owned by Amazon, or self for snapshots that you own.
17331//
17332// If you specify a list of restorable users, only snapshots with create snapshot
17333// permissions for those users are returned. You can specify AWS account IDs
17334// (if you own the snapshots), self for snapshots for which you own or have
17335// explicit permissions, or all for public snapshots.
17336//
17337// If you are describing a long list of snapshots, you can paginate the output
17338// to make the list more manageable. The MaxResults parameter sets the maximum
17339// number of results returned in a single page. If the list of results exceeds
17340// your MaxResults value, then that number of results is returned along with
17341// a NextToken value that can be passed to a subsequent DescribeSnapshots request
17342// to retrieve the remaining results.
17343//
17344// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
17345// in the Amazon Elastic Compute Cloud User Guide.
17346//
17347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17348// with awserr.Error's Code and Message methods to get detailed information about
17349// the error.
17350//
17351// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17352// API operation DescribeSnapshots for usage and error information.
17353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
17354func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
17355	req, out := c.DescribeSnapshotsRequest(input)
17356	return out, req.Send()
17357}
17358
17359// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
17360// the ability to pass a context and additional request options.
17361//
17362// See DescribeSnapshots for details on how to use this API operation.
17363//
17364// The context must be non-nil and will be used for request cancellation. If
17365// the context is nil a panic will occur. In the future the SDK may create
17366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17367// for more information on using Contexts.
17368func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
17369	req, out := c.DescribeSnapshotsRequest(input)
17370	req.SetContext(ctx)
17371	req.ApplyOptions(opts...)
17372	return out, req.Send()
17373}
17374
17375// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
17376// calling the "fn" function with the response data for each page. To stop
17377// iterating, return false from the fn function.
17378//
17379// See DescribeSnapshots method for more information on how to use this operation.
17380//
17381// Note: This operation can generate multiple requests to a service.
17382//
17383//    // Example iterating over at most 3 pages of a DescribeSnapshots operation.
17384//    pageNum := 0
17385//    err := client.DescribeSnapshotsPages(params,
17386//        func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool {
17387//            pageNum++
17388//            fmt.Println(page)
17389//            return pageNum <= 3
17390//        })
17391//
17392func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
17393	return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
17394}
17395
17396// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
17397// it takes a Context and allows setting request options on the pages.
17398//
17399// The context must be non-nil and will be used for request cancellation. If
17400// the context is nil a panic will occur. In the future the SDK may create
17401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17402// for more information on using Contexts.
17403func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
17404	p := request.Pagination{
17405		NewRequest: func() (*request.Request, error) {
17406			var inCpy *DescribeSnapshotsInput
17407			if input != nil {
17408				tmp := *input
17409				inCpy = &tmp
17410			}
17411			req, _ := c.DescribeSnapshotsRequest(inCpy)
17412			req.SetContext(ctx)
17413			req.ApplyOptions(opts...)
17414			return req, nil
17415		},
17416	}
17417
17418	cont := true
17419	for p.Next() && cont {
17420		cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
17421	}
17422	return p.Err()
17423}
17424
17425const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
17426
17427// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
17428// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
17429// value will be populated with the request's response once the request completes
17430// successfully.
17431//
17432// Use "Send" method on the returned Request to send the API call to the service.
17433// the "output" return value is not valid until after Send returns without error.
17434//
17435// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
17436// API call, and error handling.
17437//
17438// This method is useful when you want to inject custom logic or configuration
17439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17440//
17441//
17442//    // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
17443//    req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
17444//
17445//    err := req.Send()
17446//    if err == nil { // resp is now filled
17447//        fmt.Println(resp)
17448//    }
17449//
17450// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
17451func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
17452	op := &request.Operation{
17453		Name:       opDescribeSpotDatafeedSubscription,
17454		HTTPMethod: "POST",
17455		HTTPPath:   "/",
17456	}
17457
17458	if input == nil {
17459		input = &DescribeSpotDatafeedSubscriptionInput{}
17460	}
17461
17462	output = &DescribeSpotDatafeedSubscriptionOutput{}
17463	req = c.newRequest(op, input, output)
17464	return
17465}
17466
17467// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
17468//
17469// Describes the data feed for Spot Instances. For more information, see Spot
17470// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
17471// in the Amazon EC2 User Guide for Linux Instances.
17472//
17473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17474// with awserr.Error's Code and Message methods to get detailed information about
17475// the error.
17476//
17477// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17478// API operation DescribeSpotDatafeedSubscription for usage and error information.
17479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
17480func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
17481	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
17482	return out, req.Send()
17483}
17484
17485// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
17486// the ability to pass a context and additional request options.
17487//
17488// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
17489//
17490// The context must be non-nil and will be used for request cancellation. If
17491// the context is nil a panic will occur. In the future the SDK may create
17492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17493// for more information on using Contexts.
17494func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
17495	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
17496	req.SetContext(ctx)
17497	req.ApplyOptions(opts...)
17498	return out, req.Send()
17499}
17500
17501const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
17502
17503// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
17504// client's request for the DescribeSpotFleetInstances operation. The "output" return
17505// value will be populated with the request's response once the request completes
17506// successfully.
17507//
17508// Use "Send" method on the returned Request to send the API call to the service.
17509// the "output" return value is not valid until after Send returns without error.
17510//
17511// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
17512// API call, and error handling.
17513//
17514// This method is useful when you want to inject custom logic or configuration
17515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17516//
17517//
17518//    // Example sending a request using the DescribeSpotFleetInstancesRequest method.
17519//    req, resp := client.DescribeSpotFleetInstancesRequest(params)
17520//
17521//    err := req.Send()
17522//    if err == nil { // resp is now filled
17523//        fmt.Println(resp)
17524//    }
17525//
17526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
17527func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
17528	op := &request.Operation{
17529		Name:       opDescribeSpotFleetInstances,
17530		HTTPMethod: "POST",
17531		HTTPPath:   "/",
17532	}
17533
17534	if input == nil {
17535		input = &DescribeSpotFleetInstancesInput{}
17536	}
17537
17538	output = &DescribeSpotFleetInstancesOutput{}
17539	req = c.newRequest(op, input, output)
17540	return
17541}
17542
17543// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
17544//
17545// Describes the running instances for the specified Spot Fleet.
17546//
17547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17548// with awserr.Error's Code and Message methods to get detailed information about
17549// the error.
17550//
17551// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17552// API operation DescribeSpotFleetInstances for usage and error information.
17553// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
17554func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
17555	req, out := c.DescribeSpotFleetInstancesRequest(input)
17556	return out, req.Send()
17557}
17558
17559// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
17560// the ability to pass a context and additional request options.
17561//
17562// See DescribeSpotFleetInstances for details on how to use this API operation.
17563//
17564// The context must be non-nil and will be used for request cancellation. If
17565// the context is nil a panic will occur. In the future the SDK may create
17566// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17567// for more information on using Contexts.
17568func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
17569	req, out := c.DescribeSpotFleetInstancesRequest(input)
17570	req.SetContext(ctx)
17571	req.ApplyOptions(opts...)
17572	return out, req.Send()
17573}
17574
17575const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
17576
17577// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
17578// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
17579// value will be populated with the request's response once the request completes
17580// successfully.
17581//
17582// Use "Send" method on the returned Request to send the API call to the service.
17583// the "output" return value is not valid until after Send returns without error.
17584//
17585// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
17586// API call, and error handling.
17587//
17588// This method is useful when you want to inject custom logic or configuration
17589// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17590//
17591//
17592//    // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
17593//    req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
17594//
17595//    err := req.Send()
17596//    if err == nil { // resp is now filled
17597//        fmt.Println(resp)
17598//    }
17599//
17600// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
17601func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
17602	op := &request.Operation{
17603		Name:       opDescribeSpotFleetRequestHistory,
17604		HTTPMethod: "POST",
17605		HTTPPath:   "/",
17606	}
17607
17608	if input == nil {
17609		input = &DescribeSpotFleetRequestHistoryInput{}
17610	}
17611
17612	output = &DescribeSpotFleetRequestHistoryOutput{}
17613	req = c.newRequest(op, input, output)
17614	return
17615}
17616
17617// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
17618//
17619// Describes the events for the specified Spot Fleet request during the specified
17620// time.
17621//
17622// Spot Fleet events are delayed by up to 30 seconds before they can be described.
17623// This ensures that you can query by the last evaluated time and not miss a
17624// recorded event. Spot Fleet events are available for 48 hours.
17625//
17626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17627// with awserr.Error's Code and Message methods to get detailed information about
17628// the error.
17629//
17630// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17631// API operation DescribeSpotFleetRequestHistory for usage and error information.
17632// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
17633func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
17634	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
17635	return out, req.Send()
17636}
17637
17638// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
17639// the ability to pass a context and additional request options.
17640//
17641// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
17642//
17643// The context must be non-nil and will be used for request cancellation. If
17644// the context is nil a panic will occur. In the future the SDK may create
17645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17646// for more information on using Contexts.
17647func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
17648	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
17649	req.SetContext(ctx)
17650	req.ApplyOptions(opts...)
17651	return out, req.Send()
17652}
17653
17654const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
17655
17656// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
17657// client's request for the DescribeSpotFleetRequests operation. The "output" return
17658// value will be populated with the request's response once the request completes
17659// successfully.
17660//
17661// Use "Send" method on the returned Request to send the API call to the service.
17662// the "output" return value is not valid until after Send returns without error.
17663//
17664// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
17665// API call, and error handling.
17666//
17667// This method is useful when you want to inject custom logic or configuration
17668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17669//
17670//
17671//    // Example sending a request using the DescribeSpotFleetRequestsRequest method.
17672//    req, resp := client.DescribeSpotFleetRequestsRequest(params)
17673//
17674//    err := req.Send()
17675//    if err == nil { // resp is now filled
17676//        fmt.Println(resp)
17677//    }
17678//
17679// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
17680func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
17681	op := &request.Operation{
17682		Name:       opDescribeSpotFleetRequests,
17683		HTTPMethod: "POST",
17684		HTTPPath:   "/",
17685		Paginator: &request.Paginator{
17686			InputTokens:     []string{"NextToken"},
17687			OutputTokens:    []string{"NextToken"},
17688			LimitToken:      "MaxResults",
17689			TruncationToken: "",
17690		},
17691	}
17692
17693	if input == nil {
17694		input = &DescribeSpotFleetRequestsInput{}
17695	}
17696
17697	output = &DescribeSpotFleetRequestsOutput{}
17698	req = c.newRequest(op, input, output)
17699	return
17700}
17701
17702// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
17703//
17704// Describes your Spot Fleet requests.
17705//
17706// Spot Fleet requests are deleted 48 hours after they are canceled and their
17707// instances are terminated.
17708//
17709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17710// with awserr.Error's Code and Message methods to get detailed information about
17711// the error.
17712//
17713// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17714// API operation DescribeSpotFleetRequests for usage and error information.
17715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
17716func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
17717	req, out := c.DescribeSpotFleetRequestsRequest(input)
17718	return out, req.Send()
17719}
17720
17721// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
17722// the ability to pass a context and additional request options.
17723//
17724// See DescribeSpotFleetRequests for details on how to use this API operation.
17725//
17726// The context must be non-nil and will be used for request cancellation. If
17727// the context is nil a panic will occur. In the future the SDK may create
17728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17729// for more information on using Contexts.
17730func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
17731	req, out := c.DescribeSpotFleetRequestsRequest(input)
17732	req.SetContext(ctx)
17733	req.ApplyOptions(opts...)
17734	return out, req.Send()
17735}
17736
17737// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
17738// calling the "fn" function with the response data for each page. To stop
17739// iterating, return false from the fn function.
17740//
17741// See DescribeSpotFleetRequests method for more information on how to use this operation.
17742//
17743// Note: This operation can generate multiple requests to a service.
17744//
17745//    // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
17746//    pageNum := 0
17747//    err := client.DescribeSpotFleetRequestsPages(params,
17748//        func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool {
17749//            pageNum++
17750//            fmt.Println(page)
17751//            return pageNum <= 3
17752//        })
17753//
17754func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
17755	return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
17756}
17757
17758// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
17759// it takes a Context and allows setting request options on the pages.
17760//
17761// The context must be non-nil and will be used for request cancellation. If
17762// the context is nil a panic will occur. In the future the SDK may create
17763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17764// for more information on using Contexts.
17765func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
17766	p := request.Pagination{
17767		NewRequest: func() (*request.Request, error) {
17768			var inCpy *DescribeSpotFleetRequestsInput
17769			if input != nil {
17770				tmp := *input
17771				inCpy = &tmp
17772			}
17773			req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
17774			req.SetContext(ctx)
17775			req.ApplyOptions(opts...)
17776			return req, nil
17777		},
17778	}
17779
17780	cont := true
17781	for p.Next() && cont {
17782		cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
17783	}
17784	return p.Err()
17785}
17786
17787const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
17788
17789// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
17790// client's request for the DescribeSpotInstanceRequests operation. The "output" return
17791// value will be populated with the request's response once the request completes
17792// successfully.
17793//
17794// Use "Send" method on the returned Request to send the API call to the service.
17795// the "output" return value is not valid until after Send returns without error.
17796//
17797// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
17798// API call, and error handling.
17799//
17800// This method is useful when you want to inject custom logic or configuration
17801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17802//
17803//
17804//    // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
17805//    req, resp := client.DescribeSpotInstanceRequestsRequest(params)
17806//
17807//    err := req.Send()
17808//    if err == nil { // resp is now filled
17809//        fmt.Println(resp)
17810//    }
17811//
17812// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
17813func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
17814	op := &request.Operation{
17815		Name:       opDescribeSpotInstanceRequests,
17816		HTTPMethod: "POST",
17817		HTTPPath:   "/",
17818		Paginator: &request.Paginator{
17819			InputTokens:     []string{"NextToken"},
17820			OutputTokens:    []string{"NextToken"},
17821			LimitToken:      "MaxResults",
17822			TruncationToken: "",
17823		},
17824	}
17825
17826	if input == nil {
17827		input = &DescribeSpotInstanceRequestsInput{}
17828	}
17829
17830	output = &DescribeSpotInstanceRequestsOutput{}
17831	req = c.newRequest(op, input, output)
17832	return
17833}
17834
17835// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
17836//
17837// Describes the specified Spot Instance requests.
17838//
17839// You can use DescribeSpotInstanceRequests to find a running Spot Instance
17840// by examining the response. If the status of the Spot Instance is fulfilled,
17841// the instance ID appears in the response and contains the identifier of the
17842// instance. Alternatively, you can use DescribeInstances with a filter to look
17843// for instances where the instance lifecycle is spot.
17844//
17845// We recommend that you set MaxResults to a value between 5 and 1000 to limit
17846// the number of results returned. This paginates the output, which makes the
17847// list more manageable and returns the results faster. If the list of results
17848// exceeds your MaxResults value, then that number of results is returned along
17849// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
17850// request to retrieve the remaining results.
17851//
17852// Spot Instance requests are deleted four hours after they are canceled and
17853// their instances are terminated.
17854//
17855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17856// with awserr.Error's Code and Message methods to get detailed information about
17857// the error.
17858//
17859// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17860// API operation DescribeSpotInstanceRequests for usage and error information.
17861// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
17862func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
17863	req, out := c.DescribeSpotInstanceRequestsRequest(input)
17864	return out, req.Send()
17865}
17866
17867// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
17868// the ability to pass a context and additional request options.
17869//
17870// See DescribeSpotInstanceRequests for details on how to use this API operation.
17871//
17872// The context must be non-nil and will be used for request cancellation. If
17873// the context is nil a panic will occur. In the future the SDK may create
17874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17875// for more information on using Contexts.
17876func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
17877	req, out := c.DescribeSpotInstanceRequestsRequest(input)
17878	req.SetContext(ctx)
17879	req.ApplyOptions(opts...)
17880	return out, req.Send()
17881}
17882
17883// DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation,
17884// calling the "fn" function with the response data for each page. To stop
17885// iterating, return false from the fn function.
17886//
17887// See DescribeSpotInstanceRequests method for more information on how to use this operation.
17888//
17889// Note: This operation can generate multiple requests to a service.
17890//
17891//    // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation.
17892//    pageNum := 0
17893//    err := client.DescribeSpotInstanceRequestsPages(params,
17894//        func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool {
17895//            pageNum++
17896//            fmt.Println(page)
17897//            return pageNum <= 3
17898//        })
17899//
17900func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error {
17901	return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
17902}
17903
17904// DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except
17905// it takes a Context and allows setting request options on the pages.
17906//
17907// The context must be non-nil and will be used for request cancellation. If
17908// the context is nil a panic will occur. In the future the SDK may create
17909// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17910// for more information on using Contexts.
17911func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error {
17912	p := request.Pagination{
17913		NewRequest: func() (*request.Request, error) {
17914			var inCpy *DescribeSpotInstanceRequestsInput
17915			if input != nil {
17916				tmp := *input
17917				inCpy = &tmp
17918			}
17919			req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
17920			req.SetContext(ctx)
17921			req.ApplyOptions(opts...)
17922			return req, nil
17923		},
17924	}
17925
17926	cont := true
17927	for p.Next() && cont {
17928		cont = fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage())
17929	}
17930	return p.Err()
17931}
17932
17933const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
17934
17935// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
17936// client's request for the DescribeSpotPriceHistory operation. The "output" return
17937// value will be populated with the request's response once the request completes
17938// successfully.
17939//
17940// Use "Send" method on the returned Request to send the API call to the service.
17941// the "output" return value is not valid until after Send returns without error.
17942//
17943// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
17944// API call, and error handling.
17945//
17946// This method is useful when you want to inject custom logic or configuration
17947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17948//
17949//
17950//    // Example sending a request using the DescribeSpotPriceHistoryRequest method.
17951//    req, resp := client.DescribeSpotPriceHistoryRequest(params)
17952//
17953//    err := req.Send()
17954//    if err == nil { // resp is now filled
17955//        fmt.Println(resp)
17956//    }
17957//
17958// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
17959func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
17960	op := &request.Operation{
17961		Name:       opDescribeSpotPriceHistory,
17962		HTTPMethod: "POST",
17963		HTTPPath:   "/",
17964		Paginator: &request.Paginator{
17965			InputTokens:     []string{"NextToken"},
17966			OutputTokens:    []string{"NextToken"},
17967			LimitToken:      "MaxResults",
17968			TruncationToken: "",
17969		},
17970	}
17971
17972	if input == nil {
17973		input = &DescribeSpotPriceHistoryInput{}
17974	}
17975
17976	output = &DescribeSpotPriceHistoryOutput{}
17977	req = c.newRequest(op, input, output)
17978	return
17979}
17980
17981// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
17982//
17983// Describes the Spot price history. For more information, see Spot Instance
17984// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
17985// in the Amazon EC2 User Guide for Linux Instances.
17986//
17987// When you specify a start and end time, this operation returns the prices
17988// of the instance types within the time range that you specified and the time
17989// when the price changed. The price is valid within the time period that you
17990// specified; the response merely indicates the last time that the price changed.
17991//
17992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17993// with awserr.Error's Code and Message methods to get detailed information about
17994// the error.
17995//
17996// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17997// API operation DescribeSpotPriceHistory for usage and error information.
17998// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
17999func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
18000	req, out := c.DescribeSpotPriceHistoryRequest(input)
18001	return out, req.Send()
18002}
18003
18004// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
18005// the ability to pass a context and additional request options.
18006//
18007// See DescribeSpotPriceHistory for details on how to use this API operation.
18008//
18009// The context must be non-nil and will be used for request cancellation. If
18010// the context is nil a panic will occur. In the future the SDK may create
18011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18012// for more information on using Contexts.
18013func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
18014	req, out := c.DescribeSpotPriceHistoryRequest(input)
18015	req.SetContext(ctx)
18016	req.ApplyOptions(opts...)
18017	return out, req.Send()
18018}
18019
18020// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
18021// calling the "fn" function with the response data for each page. To stop
18022// iterating, return false from the fn function.
18023//
18024// See DescribeSpotPriceHistory method for more information on how to use this operation.
18025//
18026// Note: This operation can generate multiple requests to a service.
18027//
18028//    // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
18029//    pageNum := 0
18030//    err := client.DescribeSpotPriceHistoryPages(params,
18031//        func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool {
18032//            pageNum++
18033//            fmt.Println(page)
18034//            return pageNum <= 3
18035//        })
18036//
18037func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
18038	return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
18039}
18040
18041// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
18042// it takes a Context and allows setting request options on the pages.
18043//
18044// The context must be non-nil and will be used for request cancellation. If
18045// the context is nil a panic will occur. In the future the SDK may create
18046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18047// for more information on using Contexts.
18048func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
18049	p := request.Pagination{
18050		NewRequest: func() (*request.Request, error) {
18051			var inCpy *DescribeSpotPriceHistoryInput
18052			if input != nil {
18053				tmp := *input
18054				inCpy = &tmp
18055			}
18056			req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
18057			req.SetContext(ctx)
18058			req.ApplyOptions(opts...)
18059			return req, nil
18060		},
18061	}
18062
18063	cont := true
18064	for p.Next() && cont {
18065		cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
18066	}
18067	return p.Err()
18068}
18069
18070const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
18071
18072// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
18073// client's request for the DescribeStaleSecurityGroups operation. The "output" return
18074// value will be populated with the request's response once the request completes
18075// successfully.
18076//
18077// Use "Send" method on the returned Request to send the API call to the service.
18078// the "output" return value is not valid until after Send returns without error.
18079//
18080// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
18081// API call, and error handling.
18082//
18083// This method is useful when you want to inject custom logic or configuration
18084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18085//
18086//
18087//    // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
18088//    req, resp := client.DescribeStaleSecurityGroupsRequest(params)
18089//
18090//    err := req.Send()
18091//    if err == nil { // resp is now filled
18092//        fmt.Println(resp)
18093//    }
18094//
18095// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
18096func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
18097	op := &request.Operation{
18098		Name:       opDescribeStaleSecurityGroups,
18099		HTTPMethod: "POST",
18100		HTTPPath:   "/",
18101		Paginator: &request.Paginator{
18102			InputTokens:     []string{"NextToken"},
18103			OutputTokens:    []string{"NextToken"},
18104			LimitToken:      "MaxResults",
18105			TruncationToken: "",
18106		},
18107	}
18108
18109	if input == nil {
18110		input = &DescribeStaleSecurityGroupsInput{}
18111	}
18112
18113	output = &DescribeStaleSecurityGroupsOutput{}
18114	req = c.newRequest(op, input, output)
18115	return
18116}
18117
18118// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
18119//
18120// [VPC only] Describes the stale security group rules for security groups in
18121// a specified VPC. Rules are stale when they reference a deleted security group
18122// in a peer VPC, or a security group in a peer VPC for which the VPC peering
18123// connection has been deleted.
18124//
18125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18126// with awserr.Error's Code and Message methods to get detailed information about
18127// the error.
18128//
18129// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18130// API operation DescribeStaleSecurityGroups for usage and error information.
18131// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
18132func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
18133	req, out := c.DescribeStaleSecurityGroupsRequest(input)
18134	return out, req.Send()
18135}
18136
18137// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
18138// the ability to pass a context and additional request options.
18139//
18140// See DescribeStaleSecurityGroups for details on how to use this API operation.
18141//
18142// The context must be non-nil and will be used for request cancellation. If
18143// the context is nil a panic will occur. In the future the SDK may create
18144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18145// for more information on using Contexts.
18146func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
18147	req, out := c.DescribeStaleSecurityGroupsRequest(input)
18148	req.SetContext(ctx)
18149	req.ApplyOptions(opts...)
18150	return out, req.Send()
18151}
18152
18153// DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation,
18154// calling the "fn" function with the response data for each page. To stop
18155// iterating, return false from the fn function.
18156//
18157// See DescribeStaleSecurityGroups method for more information on how to use this operation.
18158//
18159// Note: This operation can generate multiple requests to a service.
18160//
18161//    // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation.
18162//    pageNum := 0
18163//    err := client.DescribeStaleSecurityGroupsPages(params,
18164//        func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool {
18165//            pageNum++
18166//            fmt.Println(page)
18167//            return pageNum <= 3
18168//        })
18169//
18170func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error {
18171	return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
18172}
18173
18174// DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except
18175// it takes a Context and allows setting request options on the pages.
18176//
18177// The context must be non-nil and will be used for request cancellation. If
18178// the context is nil a panic will occur. In the future the SDK may create
18179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18180// for more information on using Contexts.
18181func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
18182	p := request.Pagination{
18183		NewRequest: func() (*request.Request, error) {
18184			var inCpy *DescribeStaleSecurityGroupsInput
18185			if input != nil {
18186				tmp := *input
18187				inCpy = &tmp
18188			}
18189			req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy)
18190			req.SetContext(ctx)
18191			req.ApplyOptions(opts...)
18192			return req, nil
18193		},
18194	}
18195
18196	cont := true
18197	for p.Next() && cont {
18198		cont = fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage())
18199	}
18200	return p.Err()
18201}
18202
18203const opDescribeSubnets = "DescribeSubnets"
18204
18205// DescribeSubnetsRequest generates a "aws/request.Request" representing the
18206// client's request for the DescribeSubnets operation. The "output" return
18207// value will be populated with the request's response once the request completes
18208// successfully.
18209//
18210// Use "Send" method on the returned Request to send the API call to the service.
18211// the "output" return value is not valid until after Send returns without error.
18212//
18213// See DescribeSubnets for more information on using the DescribeSubnets
18214// API call, and error handling.
18215//
18216// This method is useful when you want to inject custom logic or configuration
18217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18218//
18219//
18220//    // Example sending a request using the DescribeSubnetsRequest method.
18221//    req, resp := client.DescribeSubnetsRequest(params)
18222//
18223//    err := req.Send()
18224//    if err == nil { // resp is now filled
18225//        fmt.Println(resp)
18226//    }
18227//
18228// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
18229func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
18230	op := &request.Operation{
18231		Name:       opDescribeSubnets,
18232		HTTPMethod: "POST",
18233		HTTPPath:   "/",
18234		Paginator: &request.Paginator{
18235			InputTokens:     []string{"NextToken"},
18236			OutputTokens:    []string{"NextToken"},
18237			LimitToken:      "MaxResults",
18238			TruncationToken: "",
18239		},
18240	}
18241
18242	if input == nil {
18243		input = &DescribeSubnetsInput{}
18244	}
18245
18246	output = &DescribeSubnetsOutput{}
18247	req = c.newRequest(op, input, output)
18248	return
18249}
18250
18251// DescribeSubnets API operation for Amazon Elastic Compute Cloud.
18252//
18253// Describes one or more of your subnets.
18254//
18255// For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
18256// in the Amazon Virtual Private Cloud User Guide.
18257//
18258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18259// with awserr.Error's Code and Message methods to get detailed information about
18260// the error.
18261//
18262// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18263// API operation DescribeSubnets for usage and error information.
18264// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
18265func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
18266	req, out := c.DescribeSubnetsRequest(input)
18267	return out, req.Send()
18268}
18269
18270// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
18271// the ability to pass a context and additional request options.
18272//
18273// See DescribeSubnets for details on how to use this API operation.
18274//
18275// The context must be non-nil and will be used for request cancellation. If
18276// the context is nil a panic will occur. In the future the SDK may create
18277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18278// for more information on using Contexts.
18279func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
18280	req, out := c.DescribeSubnetsRequest(input)
18281	req.SetContext(ctx)
18282	req.ApplyOptions(opts...)
18283	return out, req.Send()
18284}
18285
18286// DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation,
18287// calling the "fn" function with the response data for each page. To stop
18288// iterating, return false from the fn function.
18289//
18290// See DescribeSubnets method for more information on how to use this operation.
18291//
18292// Note: This operation can generate multiple requests to a service.
18293//
18294//    // Example iterating over at most 3 pages of a DescribeSubnets operation.
18295//    pageNum := 0
18296//    err := client.DescribeSubnetsPages(params,
18297//        func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool {
18298//            pageNum++
18299//            fmt.Println(page)
18300//            return pageNum <= 3
18301//        })
18302//
18303func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error {
18304	return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn)
18305}
18306
18307// DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except
18308// it takes a Context and allows setting request options on the pages.
18309//
18310// The context must be non-nil and will be used for request cancellation. If
18311// the context is nil a panic will occur. In the future the SDK may create
18312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18313// for more information on using Contexts.
18314func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error {
18315	p := request.Pagination{
18316		NewRequest: func() (*request.Request, error) {
18317			var inCpy *DescribeSubnetsInput
18318			if input != nil {
18319				tmp := *input
18320				inCpy = &tmp
18321			}
18322			req, _ := c.DescribeSubnetsRequest(inCpy)
18323			req.SetContext(ctx)
18324			req.ApplyOptions(opts...)
18325			return req, nil
18326		},
18327	}
18328
18329	cont := true
18330	for p.Next() && cont {
18331		cont = fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage())
18332	}
18333	return p.Err()
18334}
18335
18336const opDescribeTags = "DescribeTags"
18337
18338// DescribeTagsRequest generates a "aws/request.Request" representing the
18339// client's request for the DescribeTags operation. The "output" return
18340// value will be populated with the request's response once the request completes
18341// successfully.
18342//
18343// Use "Send" method on the returned Request to send the API call to the service.
18344// the "output" return value is not valid until after Send returns without error.
18345//
18346// See DescribeTags for more information on using the DescribeTags
18347// API call, and error handling.
18348//
18349// This method is useful when you want to inject custom logic or configuration
18350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18351//
18352//
18353//    // Example sending a request using the DescribeTagsRequest method.
18354//    req, resp := client.DescribeTagsRequest(params)
18355//
18356//    err := req.Send()
18357//    if err == nil { // resp is now filled
18358//        fmt.Println(resp)
18359//    }
18360//
18361// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
18362func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
18363	op := &request.Operation{
18364		Name:       opDescribeTags,
18365		HTTPMethod: "POST",
18366		HTTPPath:   "/",
18367		Paginator: &request.Paginator{
18368			InputTokens:     []string{"NextToken"},
18369			OutputTokens:    []string{"NextToken"},
18370			LimitToken:      "MaxResults",
18371			TruncationToken: "",
18372		},
18373	}
18374
18375	if input == nil {
18376		input = &DescribeTagsInput{}
18377	}
18378
18379	output = &DescribeTagsOutput{}
18380	req = c.newRequest(op, input, output)
18381	return
18382}
18383
18384// DescribeTags API operation for Amazon Elastic Compute Cloud.
18385//
18386// Describes the specified tags for your EC2 resources.
18387//
18388// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
18389// in the Amazon Elastic Compute Cloud User Guide.
18390//
18391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18392// with awserr.Error's Code and Message methods to get detailed information about
18393// the error.
18394//
18395// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18396// API operation DescribeTags for usage and error information.
18397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
18398func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
18399	req, out := c.DescribeTagsRequest(input)
18400	return out, req.Send()
18401}
18402
18403// DescribeTagsWithContext is the same as DescribeTags with the addition of
18404// the ability to pass a context and additional request options.
18405//
18406// See DescribeTags for details on how to use this API operation.
18407//
18408// The context must be non-nil and will be used for request cancellation. If
18409// the context is nil a panic will occur. In the future the SDK may create
18410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18411// for more information on using Contexts.
18412func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
18413	req, out := c.DescribeTagsRequest(input)
18414	req.SetContext(ctx)
18415	req.ApplyOptions(opts...)
18416	return out, req.Send()
18417}
18418
18419// DescribeTagsPages iterates over the pages of a DescribeTags operation,
18420// calling the "fn" function with the response data for each page. To stop
18421// iterating, return false from the fn function.
18422//
18423// See DescribeTags method for more information on how to use this operation.
18424//
18425// Note: This operation can generate multiple requests to a service.
18426//
18427//    // Example iterating over at most 3 pages of a DescribeTags operation.
18428//    pageNum := 0
18429//    err := client.DescribeTagsPages(params,
18430//        func(page *ec2.DescribeTagsOutput, lastPage bool) bool {
18431//            pageNum++
18432//            fmt.Println(page)
18433//            return pageNum <= 3
18434//        })
18435//
18436func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
18437	return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
18438}
18439
18440// DescribeTagsPagesWithContext same as DescribeTagsPages except
18441// it takes a Context and allows setting request options on the pages.
18442//
18443// The context must be non-nil and will be used for request cancellation. If
18444// the context is nil a panic will occur. In the future the SDK may create
18445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18446// for more information on using Contexts.
18447func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
18448	p := request.Pagination{
18449		NewRequest: func() (*request.Request, error) {
18450			var inCpy *DescribeTagsInput
18451			if input != nil {
18452				tmp := *input
18453				inCpy = &tmp
18454			}
18455			req, _ := c.DescribeTagsRequest(inCpy)
18456			req.SetContext(ctx)
18457			req.ApplyOptions(opts...)
18458			return req, nil
18459		},
18460	}
18461
18462	cont := true
18463	for p.Next() && cont {
18464		cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
18465	}
18466	return p.Err()
18467}
18468
18469const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
18470
18471// DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
18472// client's request for the DescribeTransitGatewayAttachments operation. The "output" return
18473// value will be populated with the request's response once the request completes
18474// successfully.
18475//
18476// Use "Send" method on the returned Request to send the API call to the service.
18477// the "output" return value is not valid until after Send returns without error.
18478//
18479// See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
18480// API call, and error handling.
18481//
18482// This method is useful when you want to inject custom logic or configuration
18483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18484//
18485//
18486//    // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
18487//    req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
18488//
18489//    err := req.Send()
18490//    if err == nil { // resp is now filled
18491//        fmt.Println(resp)
18492//    }
18493//
18494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
18495func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
18496	op := &request.Operation{
18497		Name:       opDescribeTransitGatewayAttachments,
18498		HTTPMethod: "POST",
18499		HTTPPath:   "/",
18500		Paginator: &request.Paginator{
18501			InputTokens:     []string{"NextToken"},
18502			OutputTokens:    []string{"NextToken"},
18503			LimitToken:      "MaxResults",
18504			TruncationToken: "",
18505		},
18506	}
18507
18508	if input == nil {
18509		input = &DescribeTransitGatewayAttachmentsInput{}
18510	}
18511
18512	output = &DescribeTransitGatewayAttachmentsOutput{}
18513	req = c.newRequest(op, input, output)
18514	return
18515}
18516
18517// DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
18518//
18519// Describes one or more attachments between resources and transit gateways.
18520// By default, all attachments are described. Alternatively, you can filter
18521// the results by attachment ID, attachment state, resource ID, or resource
18522// owner.
18523//
18524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18525// with awserr.Error's Code and Message methods to get detailed information about
18526// the error.
18527//
18528// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18529// API operation DescribeTransitGatewayAttachments for usage and error information.
18530// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
18531func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
18532	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
18533	return out, req.Send()
18534}
18535
18536// DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
18537// the ability to pass a context and additional request options.
18538//
18539// See DescribeTransitGatewayAttachments for details on how to use this API operation.
18540//
18541// The context must be non-nil and will be used for request cancellation. If
18542// the context is nil a panic will occur. In the future the SDK may create
18543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18544// for more information on using Contexts.
18545func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
18546	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
18547	req.SetContext(ctx)
18548	req.ApplyOptions(opts...)
18549	return out, req.Send()
18550}
18551
18552// DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation,
18553// calling the "fn" function with the response data for each page. To stop
18554// iterating, return false from the fn function.
18555//
18556// See DescribeTransitGatewayAttachments method for more information on how to use this operation.
18557//
18558// Note: This operation can generate multiple requests to a service.
18559//
18560//    // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation.
18561//    pageNum := 0
18562//    err := client.DescribeTransitGatewayAttachmentsPages(params,
18563//        func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool {
18564//            pageNum++
18565//            fmt.Println(page)
18566//            return pageNum <= 3
18567//        })
18568//
18569func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error {
18570	return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
18571}
18572
18573// DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except
18574// it takes a Context and allows setting request options on the pages.
18575//
18576// The context must be non-nil and will be used for request cancellation. If
18577// the context is nil a panic will occur. In the future the SDK may create
18578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18579// for more information on using Contexts.
18580func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error {
18581	p := request.Pagination{
18582		NewRequest: func() (*request.Request, error) {
18583			var inCpy *DescribeTransitGatewayAttachmentsInput
18584			if input != nil {
18585				tmp := *input
18586				inCpy = &tmp
18587			}
18588			req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy)
18589			req.SetContext(ctx)
18590			req.ApplyOptions(opts...)
18591			return req, nil
18592		},
18593	}
18594
18595	cont := true
18596	for p.Next() && cont {
18597		cont = fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage())
18598	}
18599	return p.Err()
18600}
18601
18602const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
18603
18604// DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
18605// client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
18606// value will be populated with the request's response once the request completes
18607// successfully.
18608//
18609// Use "Send" method on the returned Request to send the API call to the service.
18610// the "output" return value is not valid until after Send returns without error.
18611//
18612// See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
18613// API call, and error handling.
18614//
18615// This method is useful when you want to inject custom logic or configuration
18616// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18617//
18618//
18619//    // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
18620//    req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
18621//
18622//    err := req.Send()
18623//    if err == nil { // resp is now filled
18624//        fmt.Println(resp)
18625//    }
18626//
18627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
18628func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
18629	op := &request.Operation{
18630		Name:       opDescribeTransitGatewayRouteTables,
18631		HTTPMethod: "POST",
18632		HTTPPath:   "/",
18633		Paginator: &request.Paginator{
18634			InputTokens:     []string{"NextToken"},
18635			OutputTokens:    []string{"NextToken"},
18636			LimitToken:      "MaxResults",
18637			TruncationToken: "",
18638		},
18639	}
18640
18641	if input == nil {
18642		input = &DescribeTransitGatewayRouteTablesInput{}
18643	}
18644
18645	output = &DescribeTransitGatewayRouteTablesOutput{}
18646	req = c.newRequest(op, input, output)
18647	return
18648}
18649
18650// DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
18651//
18652// Describes one or more transit gateway route tables. By default, all transit
18653// gateway route tables are described. Alternatively, you can filter the results.
18654//
18655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18656// with awserr.Error's Code and Message methods to get detailed information about
18657// the error.
18658//
18659// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18660// API operation DescribeTransitGatewayRouteTables for usage and error information.
18661// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
18662func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
18663	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
18664	return out, req.Send()
18665}
18666
18667// DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
18668// the ability to pass a context and additional request options.
18669//
18670// See DescribeTransitGatewayRouteTables for details on how to use this API operation.
18671//
18672// The context must be non-nil and will be used for request cancellation. If
18673// the context is nil a panic will occur. In the future the SDK may create
18674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18675// for more information on using Contexts.
18676func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
18677	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
18678	req.SetContext(ctx)
18679	req.ApplyOptions(opts...)
18680	return out, req.Send()
18681}
18682
18683// DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation,
18684// calling the "fn" function with the response data for each page. To stop
18685// iterating, return false from the fn function.
18686//
18687// See DescribeTransitGatewayRouteTables method for more information on how to use this operation.
18688//
18689// Note: This operation can generate multiple requests to a service.
18690//
18691//    // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation.
18692//    pageNum := 0
18693//    err := client.DescribeTransitGatewayRouteTablesPages(params,
18694//        func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool {
18695//            pageNum++
18696//            fmt.Println(page)
18697//            return pageNum <= 3
18698//        })
18699//
18700func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error {
18701	return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
18702}
18703
18704// DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except
18705// it takes a Context and allows setting request options on the pages.
18706//
18707// The context must be non-nil and will be used for request cancellation. If
18708// the context is nil a panic will occur. In the future the SDK may create
18709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18710// for more information on using Contexts.
18711func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
18712	p := request.Pagination{
18713		NewRequest: func() (*request.Request, error) {
18714			var inCpy *DescribeTransitGatewayRouteTablesInput
18715			if input != nil {
18716				tmp := *input
18717				inCpy = &tmp
18718			}
18719			req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy)
18720			req.SetContext(ctx)
18721			req.ApplyOptions(opts...)
18722			return req, nil
18723		},
18724	}
18725
18726	cont := true
18727	for p.Next() && cont {
18728		cont = fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage())
18729	}
18730	return p.Err()
18731}
18732
18733const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
18734
18735// DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
18736// client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
18737// value will be populated with the request's response once the request completes
18738// successfully.
18739//
18740// Use "Send" method on the returned Request to send the API call to the service.
18741// the "output" return value is not valid until after Send returns without error.
18742//
18743// See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
18744// API call, and error handling.
18745//
18746// This method is useful when you want to inject custom logic or configuration
18747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18748//
18749//
18750//    // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
18751//    req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
18752//
18753//    err := req.Send()
18754//    if err == nil { // resp is now filled
18755//        fmt.Println(resp)
18756//    }
18757//
18758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
18759func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
18760	op := &request.Operation{
18761		Name:       opDescribeTransitGatewayVpcAttachments,
18762		HTTPMethod: "POST",
18763		HTTPPath:   "/",
18764		Paginator: &request.Paginator{
18765			InputTokens:     []string{"NextToken"},
18766			OutputTokens:    []string{"NextToken"},
18767			LimitToken:      "MaxResults",
18768			TruncationToken: "",
18769		},
18770	}
18771
18772	if input == nil {
18773		input = &DescribeTransitGatewayVpcAttachmentsInput{}
18774	}
18775
18776	output = &DescribeTransitGatewayVpcAttachmentsOutput{}
18777	req = c.newRequest(op, input, output)
18778	return
18779}
18780
18781// DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
18782//
18783// Describes one or more VPC attachments. By default, all VPC attachments are
18784// described. Alternatively, you can filter the results.
18785//
18786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18787// with awserr.Error's Code and Message methods to get detailed information about
18788// the error.
18789//
18790// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18791// API operation DescribeTransitGatewayVpcAttachments for usage and error information.
18792// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
18793func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
18794	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
18795	return out, req.Send()
18796}
18797
18798// DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
18799// the ability to pass a context and additional request options.
18800//
18801// See DescribeTransitGatewayVpcAttachments for details on how to use this API operation.
18802//
18803// The context must be non-nil and will be used for request cancellation. If
18804// the context is nil a panic will occur. In the future the SDK may create
18805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18806// for more information on using Contexts.
18807func (c *EC2) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
18808	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
18809	req.SetContext(ctx)
18810	req.ApplyOptions(opts...)
18811	return out, req.Send()
18812}
18813
18814// DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation,
18815// calling the "fn" function with the response data for each page. To stop
18816// iterating, return false from the fn function.
18817//
18818// See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation.
18819//
18820// Note: This operation can generate multiple requests to a service.
18821//
18822//    // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation.
18823//    pageNum := 0
18824//    err := client.DescribeTransitGatewayVpcAttachmentsPages(params,
18825//        func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool {
18826//            pageNum++
18827//            fmt.Println(page)
18828//            return pageNum <= 3
18829//        })
18830//
18831func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error {
18832	return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
18833}
18834
18835// DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except
18836// it takes a Context and allows setting request options on the pages.
18837//
18838// The context must be non-nil and will be used for request cancellation. If
18839// the context is nil a panic will occur. In the future the SDK may create
18840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18841// for more information on using Contexts.
18842func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error {
18843	p := request.Pagination{
18844		NewRequest: func() (*request.Request, error) {
18845			var inCpy *DescribeTransitGatewayVpcAttachmentsInput
18846			if input != nil {
18847				tmp := *input
18848				inCpy = &tmp
18849			}
18850			req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy)
18851			req.SetContext(ctx)
18852			req.ApplyOptions(opts...)
18853			return req, nil
18854		},
18855	}
18856
18857	cont := true
18858	for p.Next() && cont {
18859		cont = fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage())
18860	}
18861	return p.Err()
18862}
18863
18864const opDescribeTransitGateways = "DescribeTransitGateways"
18865
18866// DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
18867// client's request for the DescribeTransitGateways operation. The "output" return
18868// value will be populated with the request's response once the request completes
18869// successfully.
18870//
18871// Use "Send" method on the returned Request to send the API call to the service.
18872// the "output" return value is not valid until after Send returns without error.
18873//
18874// See DescribeTransitGateways for more information on using the DescribeTransitGateways
18875// API call, and error handling.
18876//
18877// This method is useful when you want to inject custom logic or configuration
18878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18879//
18880//
18881//    // Example sending a request using the DescribeTransitGatewaysRequest method.
18882//    req, resp := client.DescribeTransitGatewaysRequest(params)
18883//
18884//    err := req.Send()
18885//    if err == nil { // resp is now filled
18886//        fmt.Println(resp)
18887//    }
18888//
18889// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
18890func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
18891	op := &request.Operation{
18892		Name:       opDescribeTransitGateways,
18893		HTTPMethod: "POST",
18894		HTTPPath:   "/",
18895		Paginator: &request.Paginator{
18896			InputTokens:     []string{"NextToken"},
18897			OutputTokens:    []string{"NextToken"},
18898			LimitToken:      "MaxResults",
18899			TruncationToken: "",
18900		},
18901	}
18902
18903	if input == nil {
18904		input = &DescribeTransitGatewaysInput{}
18905	}
18906
18907	output = &DescribeTransitGatewaysOutput{}
18908	req = c.newRequest(op, input, output)
18909	return
18910}
18911
18912// DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
18913//
18914// Describes one or more transit gateways. By default, all transit gateways
18915// are described. Alternatively, you can filter the results.
18916//
18917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18918// with awserr.Error's Code and Message methods to get detailed information about
18919// the error.
18920//
18921// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18922// API operation DescribeTransitGateways for usage and error information.
18923// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
18924func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
18925	req, out := c.DescribeTransitGatewaysRequest(input)
18926	return out, req.Send()
18927}
18928
18929// DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
18930// the ability to pass a context and additional request options.
18931//
18932// See DescribeTransitGateways for details on how to use this API operation.
18933//
18934// The context must be non-nil and will be used for request cancellation. If
18935// the context is nil a panic will occur. In the future the SDK may create
18936// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18937// for more information on using Contexts.
18938func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
18939	req, out := c.DescribeTransitGatewaysRequest(input)
18940	req.SetContext(ctx)
18941	req.ApplyOptions(opts...)
18942	return out, req.Send()
18943}
18944
18945// DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation,
18946// calling the "fn" function with the response data for each page. To stop
18947// iterating, return false from the fn function.
18948//
18949// See DescribeTransitGateways method for more information on how to use this operation.
18950//
18951// Note: This operation can generate multiple requests to a service.
18952//
18953//    // Example iterating over at most 3 pages of a DescribeTransitGateways operation.
18954//    pageNum := 0
18955//    err := client.DescribeTransitGatewaysPages(params,
18956//        func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool {
18957//            pageNum++
18958//            fmt.Println(page)
18959//            return pageNum <= 3
18960//        })
18961//
18962func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error {
18963	return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
18964}
18965
18966// DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except
18967// it takes a Context and allows setting request options on the pages.
18968//
18969// The context must be non-nil and will be used for request cancellation. If
18970// the context is nil a panic will occur. In the future the SDK may create
18971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18972// for more information on using Contexts.
18973func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error {
18974	p := request.Pagination{
18975		NewRequest: func() (*request.Request, error) {
18976			var inCpy *DescribeTransitGatewaysInput
18977			if input != nil {
18978				tmp := *input
18979				inCpy = &tmp
18980			}
18981			req, _ := c.DescribeTransitGatewaysRequest(inCpy)
18982			req.SetContext(ctx)
18983			req.ApplyOptions(opts...)
18984			return req, nil
18985		},
18986	}
18987
18988	cont := true
18989	for p.Next() && cont {
18990		cont = fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage())
18991	}
18992	return p.Err()
18993}
18994
18995const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
18996
18997// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
18998// client's request for the DescribeVolumeAttribute operation. The "output" return
18999// value will be populated with the request's response once the request completes
19000// successfully.
19001//
19002// Use "Send" method on the returned Request to send the API call to the service.
19003// the "output" return value is not valid until after Send returns without error.
19004//
19005// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
19006// API call, and error handling.
19007//
19008// This method is useful when you want to inject custom logic or configuration
19009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19010//
19011//
19012//    // Example sending a request using the DescribeVolumeAttributeRequest method.
19013//    req, resp := client.DescribeVolumeAttributeRequest(params)
19014//
19015//    err := req.Send()
19016//    if err == nil { // resp is now filled
19017//        fmt.Println(resp)
19018//    }
19019//
19020// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
19021func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
19022	op := &request.Operation{
19023		Name:       opDescribeVolumeAttribute,
19024		HTTPMethod: "POST",
19025		HTTPPath:   "/",
19026	}
19027
19028	if input == nil {
19029		input = &DescribeVolumeAttributeInput{}
19030	}
19031
19032	output = &DescribeVolumeAttributeOutput{}
19033	req = c.newRequest(op, input, output)
19034	return
19035}
19036
19037// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
19038//
19039// Describes the specified attribute of the specified volume. You can specify
19040// only one attribute at a time.
19041//
19042// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
19043// in the Amazon Elastic Compute Cloud User Guide.
19044//
19045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19046// with awserr.Error's Code and Message methods to get detailed information about
19047// the error.
19048//
19049// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19050// API operation DescribeVolumeAttribute for usage and error information.
19051// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
19052func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
19053	req, out := c.DescribeVolumeAttributeRequest(input)
19054	return out, req.Send()
19055}
19056
19057// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
19058// the ability to pass a context and additional request options.
19059//
19060// See DescribeVolumeAttribute for details on how to use this API operation.
19061//
19062// The context must be non-nil and will be used for request cancellation. If
19063// the context is nil a panic will occur. In the future the SDK may create
19064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19065// for more information on using Contexts.
19066func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
19067	req, out := c.DescribeVolumeAttributeRequest(input)
19068	req.SetContext(ctx)
19069	req.ApplyOptions(opts...)
19070	return out, req.Send()
19071}
19072
19073const opDescribeVolumeStatus = "DescribeVolumeStatus"
19074
19075// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
19076// client's request for the DescribeVolumeStatus operation. The "output" return
19077// value will be populated with the request's response once the request completes
19078// successfully.
19079//
19080// Use "Send" method on the returned Request to send the API call to the service.
19081// the "output" return value is not valid until after Send returns without error.
19082//
19083// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
19084// API call, and error handling.
19085//
19086// This method is useful when you want to inject custom logic or configuration
19087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19088//
19089//
19090//    // Example sending a request using the DescribeVolumeStatusRequest method.
19091//    req, resp := client.DescribeVolumeStatusRequest(params)
19092//
19093//    err := req.Send()
19094//    if err == nil { // resp is now filled
19095//        fmt.Println(resp)
19096//    }
19097//
19098// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
19099func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
19100	op := &request.Operation{
19101		Name:       opDescribeVolumeStatus,
19102		HTTPMethod: "POST",
19103		HTTPPath:   "/",
19104		Paginator: &request.Paginator{
19105			InputTokens:     []string{"NextToken"},
19106			OutputTokens:    []string{"NextToken"},
19107			LimitToken:      "MaxResults",
19108			TruncationToken: "",
19109		},
19110	}
19111
19112	if input == nil {
19113		input = &DescribeVolumeStatusInput{}
19114	}
19115
19116	output = &DescribeVolumeStatusOutput{}
19117	req = c.newRequest(op, input, output)
19118	return
19119}
19120
19121// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
19122//
19123// Describes the status of the specified volumes. Volume status provides the
19124// result of the checks performed on your volumes to determine events that can
19125// impair the performance of your volumes. The performance of a volume can be
19126// affected if an issue occurs on the volume's underlying host. If the volume's
19127// underlying host experiences a power outage or system issue, after the system
19128// is restored, there could be data inconsistencies on the volume. Volume events
19129// notify you if this occurs. Volume actions notify you if any action needs
19130// to be taken in response to the event.
19131//
19132// The DescribeVolumeStatus operation provides the following information about
19133// the specified volumes:
19134//
19135// Status: Reflects the current status of the volume. The possible values are
19136// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
19137// status of the volume is ok. If the check fails, the overall status is impaired.
19138// If the status is insufficient-data, then the checks may still be taking place
19139// on your volume at the time. We recommend that you retry the request. For
19140// more information about volume status, see Monitoring the Status of Your Volumes
19141// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
19142// in the Amazon Elastic Compute Cloud User Guide.
19143//
19144// Events: Reflect the cause of a volume status and may require you to take
19145// action. For example, if your volume returns an impaired status, then the
19146// volume event might be potential-data-inconsistency. This means that your
19147// volume has been affected by an issue with the underlying host, has all I/O
19148// operations disabled, and may have inconsistent data.
19149//
19150// Actions: Reflect the actions you may have to take in response to an event.
19151// For example, if the status of the volume is impaired and the volume event
19152// shows potential-data-inconsistency, then the action shows enable-volume-io.
19153// This means that you may want to enable the I/O operations for the volume
19154// by calling the EnableVolumeIO action and then check the volume for data consistency.
19155//
19156// Volume status is based on the volume status checks, and does not reflect
19157// the volume state. Therefore, volume status does not indicate volumes in the
19158// error state (for example, when a volume is incapable of accepting I/O.)
19159//
19160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19161// with awserr.Error's Code and Message methods to get detailed information about
19162// the error.
19163//
19164// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19165// API operation DescribeVolumeStatus for usage and error information.
19166// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
19167func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
19168	req, out := c.DescribeVolumeStatusRequest(input)
19169	return out, req.Send()
19170}
19171
19172// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
19173// the ability to pass a context and additional request options.
19174//
19175// See DescribeVolumeStatus for details on how to use this API operation.
19176//
19177// The context must be non-nil and will be used for request cancellation. If
19178// the context is nil a panic will occur. In the future the SDK may create
19179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19180// for more information on using Contexts.
19181func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
19182	req, out := c.DescribeVolumeStatusRequest(input)
19183	req.SetContext(ctx)
19184	req.ApplyOptions(opts...)
19185	return out, req.Send()
19186}
19187
19188// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
19189// calling the "fn" function with the response data for each page. To stop
19190// iterating, return false from the fn function.
19191//
19192// See DescribeVolumeStatus method for more information on how to use this operation.
19193//
19194// Note: This operation can generate multiple requests to a service.
19195//
19196//    // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
19197//    pageNum := 0
19198//    err := client.DescribeVolumeStatusPages(params,
19199//        func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool {
19200//            pageNum++
19201//            fmt.Println(page)
19202//            return pageNum <= 3
19203//        })
19204//
19205func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
19206	return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
19207}
19208
19209// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
19210// it takes a Context and allows setting request options on the pages.
19211//
19212// The context must be non-nil and will be used for request cancellation. If
19213// the context is nil a panic will occur. In the future the SDK may create
19214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19215// for more information on using Contexts.
19216func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
19217	p := request.Pagination{
19218		NewRequest: func() (*request.Request, error) {
19219			var inCpy *DescribeVolumeStatusInput
19220			if input != nil {
19221				tmp := *input
19222				inCpy = &tmp
19223			}
19224			req, _ := c.DescribeVolumeStatusRequest(inCpy)
19225			req.SetContext(ctx)
19226			req.ApplyOptions(opts...)
19227			return req, nil
19228		},
19229	}
19230
19231	cont := true
19232	for p.Next() && cont {
19233		cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
19234	}
19235	return p.Err()
19236}
19237
19238const opDescribeVolumes = "DescribeVolumes"
19239
19240// DescribeVolumesRequest generates a "aws/request.Request" representing the
19241// client's request for the DescribeVolumes operation. The "output" return
19242// value will be populated with the request's response once the request completes
19243// successfully.
19244//
19245// Use "Send" method on the returned Request to send the API call to the service.
19246// the "output" return value is not valid until after Send returns without error.
19247//
19248// See DescribeVolumes for more information on using the DescribeVolumes
19249// API call, and error handling.
19250//
19251// This method is useful when you want to inject custom logic or configuration
19252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19253//
19254//
19255//    // Example sending a request using the DescribeVolumesRequest method.
19256//    req, resp := client.DescribeVolumesRequest(params)
19257//
19258//    err := req.Send()
19259//    if err == nil { // resp is now filled
19260//        fmt.Println(resp)
19261//    }
19262//
19263// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
19264func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
19265	op := &request.Operation{
19266		Name:       opDescribeVolumes,
19267		HTTPMethod: "POST",
19268		HTTPPath:   "/",
19269		Paginator: &request.Paginator{
19270			InputTokens:     []string{"NextToken"},
19271			OutputTokens:    []string{"NextToken"},
19272			LimitToken:      "MaxResults",
19273			TruncationToken: "",
19274		},
19275	}
19276
19277	if input == nil {
19278		input = &DescribeVolumesInput{}
19279	}
19280
19281	output = &DescribeVolumesOutput{}
19282	req = c.newRequest(op, input, output)
19283	return
19284}
19285
19286// DescribeVolumes API operation for Amazon Elastic Compute Cloud.
19287//
19288// Describes the specified EBS volumes or all of your EBS volumes.
19289//
19290// If you are describing a long list of volumes, you can paginate the output
19291// to make the list more manageable. The MaxResults parameter sets the maximum
19292// number of results returned in a single page. If the list of results exceeds
19293// your MaxResults value, then that number of results is returned along with
19294// a NextToken value that can be passed to a subsequent DescribeVolumes request
19295// to retrieve the remaining results.
19296//
19297// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
19298// in the Amazon Elastic Compute Cloud User Guide.
19299//
19300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19301// with awserr.Error's Code and Message methods to get detailed information about
19302// the error.
19303//
19304// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19305// API operation DescribeVolumes for usage and error information.
19306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
19307func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
19308	req, out := c.DescribeVolumesRequest(input)
19309	return out, req.Send()
19310}
19311
19312// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
19313// the ability to pass a context and additional request options.
19314//
19315// See DescribeVolumes for details on how to use this API operation.
19316//
19317// The context must be non-nil and will be used for request cancellation. If
19318// the context is nil a panic will occur. In the future the SDK may create
19319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19320// for more information on using Contexts.
19321func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
19322	req, out := c.DescribeVolumesRequest(input)
19323	req.SetContext(ctx)
19324	req.ApplyOptions(opts...)
19325	return out, req.Send()
19326}
19327
19328// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
19329// calling the "fn" function with the response data for each page. To stop
19330// iterating, return false from the fn function.
19331//
19332// See DescribeVolumes method for more information on how to use this operation.
19333//
19334// Note: This operation can generate multiple requests to a service.
19335//
19336//    // Example iterating over at most 3 pages of a DescribeVolumes operation.
19337//    pageNum := 0
19338//    err := client.DescribeVolumesPages(params,
19339//        func(page *ec2.DescribeVolumesOutput, lastPage bool) bool {
19340//            pageNum++
19341//            fmt.Println(page)
19342//            return pageNum <= 3
19343//        })
19344//
19345func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
19346	return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
19347}
19348
19349// DescribeVolumesPagesWithContext same as DescribeVolumesPages except
19350// it takes a Context and allows setting request options on the pages.
19351//
19352// The context must be non-nil and will be used for request cancellation. If
19353// the context is nil a panic will occur. In the future the SDK may create
19354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19355// for more information on using Contexts.
19356func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
19357	p := request.Pagination{
19358		NewRequest: func() (*request.Request, error) {
19359			var inCpy *DescribeVolumesInput
19360			if input != nil {
19361				tmp := *input
19362				inCpy = &tmp
19363			}
19364			req, _ := c.DescribeVolumesRequest(inCpy)
19365			req.SetContext(ctx)
19366			req.ApplyOptions(opts...)
19367			return req, nil
19368		},
19369	}
19370
19371	cont := true
19372	for p.Next() && cont {
19373		cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
19374	}
19375	return p.Err()
19376}
19377
19378const opDescribeVolumesModifications = "DescribeVolumesModifications"
19379
19380// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
19381// client's request for the DescribeVolumesModifications operation. The "output" return
19382// value will be populated with the request's response once the request completes
19383// successfully.
19384//
19385// Use "Send" method on the returned Request to send the API call to the service.
19386// the "output" return value is not valid until after Send returns without error.
19387//
19388// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
19389// API call, and error handling.
19390//
19391// This method is useful when you want to inject custom logic or configuration
19392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19393//
19394//
19395//    // Example sending a request using the DescribeVolumesModificationsRequest method.
19396//    req, resp := client.DescribeVolumesModificationsRequest(params)
19397//
19398//    err := req.Send()
19399//    if err == nil { // resp is now filled
19400//        fmt.Println(resp)
19401//    }
19402//
19403// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
19404func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
19405	op := &request.Operation{
19406		Name:       opDescribeVolumesModifications,
19407		HTTPMethod: "POST",
19408		HTTPPath:   "/",
19409		Paginator: &request.Paginator{
19410			InputTokens:     []string{"NextToken"},
19411			OutputTokens:    []string{"NextToken"},
19412			LimitToken:      "MaxResults",
19413			TruncationToken: "",
19414		},
19415	}
19416
19417	if input == nil {
19418		input = &DescribeVolumesModificationsInput{}
19419	}
19420
19421	output = &DescribeVolumesModificationsOutput{}
19422	req = c.newRequest(op, input, output)
19423	return
19424}
19425
19426// DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
19427//
19428// Reports the current modification status of EBS volumes.
19429//
19430// Current-generation EBS volumes support modification of attributes including
19431// type, size, and (for io1 volumes) IOPS provisioning while either attached
19432// to or detached from an instance. Following an action from the API or the
19433// console to modify a volume, the status of the modification may be modifying,
19434// optimizing, completed, or failed. If a volume has never been modified, then
19435// certain elements of the returned VolumeModification objects are null.
19436//
19437// You can also use CloudWatch Events to check the status of a modification
19438// to an EBS volume. For information about CloudWatch Events, see the Amazon
19439// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
19440// For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods)
19441// in the Amazon Elastic Compute Cloud User Guide.
19442//
19443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19444// with awserr.Error's Code and Message methods to get detailed information about
19445// the error.
19446//
19447// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19448// API operation DescribeVolumesModifications for usage and error information.
19449// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
19450func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
19451	req, out := c.DescribeVolumesModificationsRequest(input)
19452	return out, req.Send()
19453}
19454
19455// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
19456// the ability to pass a context and additional request options.
19457//
19458// See DescribeVolumesModifications for details on how to use this API operation.
19459//
19460// The context must be non-nil and will be used for request cancellation. If
19461// the context is nil a panic will occur. In the future the SDK may create
19462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19463// for more information on using Contexts.
19464func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
19465	req, out := c.DescribeVolumesModificationsRequest(input)
19466	req.SetContext(ctx)
19467	req.ApplyOptions(opts...)
19468	return out, req.Send()
19469}
19470
19471// DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation,
19472// calling the "fn" function with the response data for each page. To stop
19473// iterating, return false from the fn function.
19474//
19475// See DescribeVolumesModifications method for more information on how to use this operation.
19476//
19477// Note: This operation can generate multiple requests to a service.
19478//
19479//    // Example iterating over at most 3 pages of a DescribeVolumesModifications operation.
19480//    pageNum := 0
19481//    err := client.DescribeVolumesModificationsPages(params,
19482//        func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool {
19483//            pageNum++
19484//            fmt.Println(page)
19485//            return pageNum <= 3
19486//        })
19487//
19488func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error {
19489	return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
19490}
19491
19492// DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except
19493// it takes a Context and allows setting request options on the pages.
19494//
19495// The context must be non-nil and will be used for request cancellation. If
19496// the context is nil a panic will occur. In the future the SDK may create
19497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19498// for more information on using Contexts.
19499func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error {
19500	p := request.Pagination{
19501		NewRequest: func() (*request.Request, error) {
19502			var inCpy *DescribeVolumesModificationsInput
19503			if input != nil {
19504				tmp := *input
19505				inCpy = &tmp
19506			}
19507			req, _ := c.DescribeVolumesModificationsRequest(inCpy)
19508			req.SetContext(ctx)
19509			req.ApplyOptions(opts...)
19510			return req, nil
19511		},
19512	}
19513
19514	cont := true
19515	for p.Next() && cont {
19516		cont = fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage())
19517	}
19518	return p.Err()
19519}
19520
19521const opDescribeVpcAttribute = "DescribeVpcAttribute"
19522
19523// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
19524// client's request for the DescribeVpcAttribute operation. The "output" return
19525// value will be populated with the request's response once the request completes
19526// successfully.
19527//
19528// Use "Send" method on the returned Request to send the API call to the service.
19529// the "output" return value is not valid until after Send returns without error.
19530//
19531// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
19532// API call, and error handling.
19533//
19534// This method is useful when you want to inject custom logic or configuration
19535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19536//
19537//
19538//    // Example sending a request using the DescribeVpcAttributeRequest method.
19539//    req, resp := client.DescribeVpcAttributeRequest(params)
19540//
19541//    err := req.Send()
19542//    if err == nil { // resp is now filled
19543//        fmt.Println(resp)
19544//    }
19545//
19546// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
19547func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
19548	op := &request.Operation{
19549		Name:       opDescribeVpcAttribute,
19550		HTTPMethod: "POST",
19551		HTTPPath:   "/",
19552	}
19553
19554	if input == nil {
19555		input = &DescribeVpcAttributeInput{}
19556	}
19557
19558	output = &DescribeVpcAttributeOutput{}
19559	req = c.newRequest(op, input, output)
19560	return
19561}
19562
19563// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
19564//
19565// Describes the specified attribute of the specified VPC. You can specify only
19566// one attribute at a time.
19567//
19568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19569// with awserr.Error's Code and Message methods to get detailed information about
19570// the error.
19571//
19572// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19573// API operation DescribeVpcAttribute for usage and error information.
19574// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
19575func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
19576	req, out := c.DescribeVpcAttributeRequest(input)
19577	return out, req.Send()
19578}
19579
19580// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
19581// the ability to pass a context and additional request options.
19582//
19583// See DescribeVpcAttribute for details on how to use this API operation.
19584//
19585// The context must be non-nil and will be used for request cancellation. If
19586// the context is nil a panic will occur. In the future the SDK may create
19587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19588// for more information on using Contexts.
19589func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
19590	req, out := c.DescribeVpcAttributeRequest(input)
19591	req.SetContext(ctx)
19592	req.ApplyOptions(opts...)
19593	return out, req.Send()
19594}
19595
19596const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
19597
19598// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
19599// client's request for the DescribeVpcClassicLink operation. The "output" return
19600// value will be populated with the request's response once the request completes
19601// successfully.
19602//
19603// Use "Send" method on the returned Request to send the API call to the service.
19604// the "output" return value is not valid until after Send returns without error.
19605//
19606// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
19607// API call, and error handling.
19608//
19609// This method is useful when you want to inject custom logic or configuration
19610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19611//
19612//
19613//    // Example sending a request using the DescribeVpcClassicLinkRequest method.
19614//    req, resp := client.DescribeVpcClassicLinkRequest(params)
19615//
19616//    err := req.Send()
19617//    if err == nil { // resp is now filled
19618//        fmt.Println(resp)
19619//    }
19620//
19621// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
19622func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
19623	op := &request.Operation{
19624		Name:       opDescribeVpcClassicLink,
19625		HTTPMethod: "POST",
19626		HTTPPath:   "/",
19627	}
19628
19629	if input == nil {
19630		input = &DescribeVpcClassicLinkInput{}
19631	}
19632
19633	output = &DescribeVpcClassicLinkOutput{}
19634	req = c.newRequest(op, input, output)
19635	return
19636}
19637
19638// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
19639//
19640// Describes the ClassicLink status of one or more VPCs.
19641//
19642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19643// with awserr.Error's Code and Message methods to get detailed information about
19644// the error.
19645//
19646// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19647// API operation DescribeVpcClassicLink for usage and error information.
19648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
19649func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
19650	req, out := c.DescribeVpcClassicLinkRequest(input)
19651	return out, req.Send()
19652}
19653
19654// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
19655// the ability to pass a context and additional request options.
19656//
19657// See DescribeVpcClassicLink for details on how to use this API operation.
19658//
19659// The context must be non-nil and will be used for request cancellation. If
19660// the context is nil a panic will occur. In the future the SDK may create
19661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19662// for more information on using Contexts.
19663func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
19664	req, out := c.DescribeVpcClassicLinkRequest(input)
19665	req.SetContext(ctx)
19666	req.ApplyOptions(opts...)
19667	return out, req.Send()
19668}
19669
19670const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
19671
19672// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
19673// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
19674// value will be populated with the request's response once the request completes
19675// successfully.
19676//
19677// Use "Send" method on the returned Request to send the API call to the service.
19678// the "output" return value is not valid until after Send returns without error.
19679//
19680// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
19681// API call, and error handling.
19682//
19683// This method is useful when you want to inject custom logic or configuration
19684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19685//
19686//
19687//    // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
19688//    req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
19689//
19690//    err := req.Send()
19691//    if err == nil { // resp is now filled
19692//        fmt.Println(resp)
19693//    }
19694//
19695// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
19696func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
19697	op := &request.Operation{
19698		Name:       opDescribeVpcClassicLinkDnsSupport,
19699		HTTPMethod: "POST",
19700		HTTPPath:   "/",
19701		Paginator: &request.Paginator{
19702			InputTokens:     []string{"NextToken"},
19703			OutputTokens:    []string{"NextToken"},
19704			LimitToken:      "MaxResults",
19705			TruncationToken: "",
19706		},
19707	}
19708
19709	if input == nil {
19710		input = &DescribeVpcClassicLinkDnsSupportInput{}
19711	}
19712
19713	output = &DescribeVpcClassicLinkDnsSupportOutput{}
19714	req = c.newRequest(op, input, output)
19715	return
19716}
19717
19718// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
19719//
19720// Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
19721// the DNS hostname of a linked EC2-Classic instance resolves to its private
19722// IP address when addressed from an instance in the VPC to which it's linked.
19723// Similarly, the DNS hostname of an instance in a VPC resolves to its private
19724// IP address when addressed from a linked EC2-Classic instance. For more information,
19725// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
19726// in the Amazon Elastic Compute Cloud User Guide.
19727//
19728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19729// with awserr.Error's Code and Message methods to get detailed information about
19730// the error.
19731//
19732// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19733// API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
19734// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
19735func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
19736	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
19737	return out, req.Send()
19738}
19739
19740// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
19741// the ability to pass a context and additional request options.
19742//
19743// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
19744//
19745// The context must be non-nil and will be used for request cancellation. If
19746// the context is nil a panic will occur. In the future the SDK may create
19747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19748// for more information on using Contexts.
19749func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
19750	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
19751	req.SetContext(ctx)
19752	req.ApplyOptions(opts...)
19753	return out, req.Send()
19754}
19755
19756// DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation,
19757// calling the "fn" function with the response data for each page. To stop
19758// iterating, return false from the fn function.
19759//
19760// See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation.
19761//
19762// Note: This operation can generate multiple requests to a service.
19763//
19764//    // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation.
19765//    pageNum := 0
19766//    err := client.DescribeVpcClassicLinkDnsSupportPages(params,
19767//        func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool {
19768//            pageNum++
19769//            fmt.Println(page)
19770//            return pageNum <= 3
19771//        })
19772//
19773func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error {
19774	return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn)
19775}
19776
19777// DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except
19778// it takes a Context and allows setting request options on the pages.
19779//
19780// The context must be non-nil and will be used for request cancellation. If
19781// the context is nil a panic will occur. In the future the SDK may create
19782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19783// for more information on using Contexts.
19784func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error {
19785	p := request.Pagination{
19786		NewRequest: func() (*request.Request, error) {
19787			var inCpy *DescribeVpcClassicLinkDnsSupportInput
19788			if input != nil {
19789				tmp := *input
19790				inCpy = &tmp
19791			}
19792			req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy)
19793			req.SetContext(ctx)
19794			req.ApplyOptions(opts...)
19795			return req, nil
19796		},
19797	}
19798
19799	cont := true
19800	for p.Next() && cont {
19801		cont = fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage())
19802	}
19803	return p.Err()
19804}
19805
19806const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
19807
19808// DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
19809// client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
19810// value will be populated with the request's response once the request completes
19811// successfully.
19812//
19813// Use "Send" method on the returned Request to send the API call to the service.
19814// the "output" return value is not valid until after Send returns without error.
19815//
19816// See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
19817// API call, and error handling.
19818//
19819// This method is useful when you want to inject custom logic or configuration
19820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19821//
19822//
19823//    // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
19824//    req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
19825//
19826//    err := req.Send()
19827//    if err == nil { // resp is now filled
19828//        fmt.Println(resp)
19829//    }
19830//
19831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
19832func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
19833	op := &request.Operation{
19834		Name:       opDescribeVpcEndpointConnectionNotifications,
19835		HTTPMethod: "POST",
19836		HTTPPath:   "/",
19837		Paginator: &request.Paginator{
19838			InputTokens:     []string{"NextToken"},
19839			OutputTokens:    []string{"NextToken"},
19840			LimitToken:      "MaxResults",
19841			TruncationToken: "",
19842		},
19843	}
19844
19845	if input == nil {
19846		input = &DescribeVpcEndpointConnectionNotificationsInput{}
19847	}
19848
19849	output = &DescribeVpcEndpointConnectionNotificationsOutput{}
19850	req = c.newRequest(op, input, output)
19851	return
19852}
19853
19854// DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
19855//
19856// Describes the connection notifications for VPC endpoints and VPC endpoint
19857// services.
19858//
19859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19860// with awserr.Error's Code and Message methods to get detailed information about
19861// the error.
19862//
19863// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19864// API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
19865// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
19866func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
19867	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
19868	return out, req.Send()
19869}
19870
19871// DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
19872// the ability to pass a context and additional request options.
19873//
19874// See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
19875//
19876// The context must be non-nil and will be used for request cancellation. If
19877// the context is nil a panic will occur. In the future the SDK may create
19878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19879// for more information on using Contexts.
19880func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
19881	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
19882	req.SetContext(ctx)
19883	req.ApplyOptions(opts...)
19884	return out, req.Send()
19885}
19886
19887// DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation,
19888// calling the "fn" function with the response data for each page. To stop
19889// iterating, return false from the fn function.
19890//
19891// See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation.
19892//
19893// Note: This operation can generate multiple requests to a service.
19894//
19895//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation.
19896//    pageNum := 0
19897//    err := client.DescribeVpcEndpointConnectionNotificationsPages(params,
19898//        func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool {
19899//            pageNum++
19900//            fmt.Println(page)
19901//            return pageNum <= 3
19902//        })
19903//
19904func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error {
19905	return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
19906}
19907
19908// DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except
19909// it takes a Context and allows setting request options on the pages.
19910//
19911// The context must be non-nil and will be used for request cancellation. If
19912// the context is nil a panic will occur. In the future the SDK may create
19913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19914// for more information on using Contexts.
19915func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error {
19916	p := request.Pagination{
19917		NewRequest: func() (*request.Request, error) {
19918			var inCpy *DescribeVpcEndpointConnectionNotificationsInput
19919			if input != nil {
19920				tmp := *input
19921				inCpy = &tmp
19922			}
19923			req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy)
19924			req.SetContext(ctx)
19925			req.ApplyOptions(opts...)
19926			return req, nil
19927		},
19928	}
19929
19930	cont := true
19931	for p.Next() && cont {
19932		cont = fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage())
19933	}
19934	return p.Err()
19935}
19936
19937const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
19938
19939// DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
19940// client's request for the DescribeVpcEndpointConnections operation. The "output" return
19941// value will be populated with the request's response once the request completes
19942// successfully.
19943//
19944// Use "Send" method on the returned Request to send the API call to the service.
19945// the "output" return value is not valid until after Send returns without error.
19946//
19947// See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
19948// API call, and error handling.
19949//
19950// This method is useful when you want to inject custom logic or configuration
19951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19952//
19953//
19954//    // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
19955//    req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
19956//
19957//    err := req.Send()
19958//    if err == nil { // resp is now filled
19959//        fmt.Println(resp)
19960//    }
19961//
19962// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
19963func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
19964	op := &request.Operation{
19965		Name:       opDescribeVpcEndpointConnections,
19966		HTTPMethod: "POST",
19967		HTTPPath:   "/",
19968		Paginator: &request.Paginator{
19969			InputTokens:     []string{"NextToken"},
19970			OutputTokens:    []string{"NextToken"},
19971			LimitToken:      "MaxResults",
19972			TruncationToken: "",
19973		},
19974	}
19975
19976	if input == nil {
19977		input = &DescribeVpcEndpointConnectionsInput{}
19978	}
19979
19980	output = &DescribeVpcEndpointConnectionsOutput{}
19981	req = c.newRequest(op, input, output)
19982	return
19983}
19984
19985// DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
19986//
19987// Describes the VPC endpoint connections to your VPC endpoint services, including
19988// any endpoints that are pending your acceptance.
19989//
19990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19991// with awserr.Error's Code and Message methods to get detailed information about
19992// the error.
19993//
19994// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19995// API operation DescribeVpcEndpointConnections for usage and error information.
19996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
19997func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
19998	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
19999	return out, req.Send()
20000}
20001
20002// DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
20003// the ability to pass a context and additional request options.
20004//
20005// See DescribeVpcEndpointConnections for details on how to use this API operation.
20006//
20007// The context must be non-nil and will be used for request cancellation. If
20008// the context is nil a panic will occur. In the future the SDK may create
20009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20010// for more information on using Contexts.
20011func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
20012	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
20013	req.SetContext(ctx)
20014	req.ApplyOptions(opts...)
20015	return out, req.Send()
20016}
20017
20018// DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation,
20019// calling the "fn" function with the response data for each page. To stop
20020// iterating, return false from the fn function.
20021//
20022// See DescribeVpcEndpointConnections method for more information on how to use this operation.
20023//
20024// Note: This operation can generate multiple requests to a service.
20025//
20026//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation.
20027//    pageNum := 0
20028//    err := client.DescribeVpcEndpointConnectionsPages(params,
20029//        func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool {
20030//            pageNum++
20031//            fmt.Println(page)
20032//            return pageNum <= 3
20033//        })
20034//
20035func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error {
20036	return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
20037}
20038
20039// DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except
20040// it takes a Context and allows setting request options on the pages.
20041//
20042// The context must be non-nil and will be used for request cancellation. If
20043// the context is nil a panic will occur. In the future the SDK may create
20044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20045// for more information on using Contexts.
20046func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error {
20047	p := request.Pagination{
20048		NewRequest: func() (*request.Request, error) {
20049			var inCpy *DescribeVpcEndpointConnectionsInput
20050			if input != nil {
20051				tmp := *input
20052				inCpy = &tmp
20053			}
20054			req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy)
20055			req.SetContext(ctx)
20056			req.ApplyOptions(opts...)
20057			return req, nil
20058		},
20059	}
20060
20061	cont := true
20062	for p.Next() && cont {
20063		cont = fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage())
20064	}
20065	return p.Err()
20066}
20067
20068const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
20069
20070// DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
20071// client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
20072// value will be populated with the request's response once the request completes
20073// successfully.
20074//
20075// Use "Send" method on the returned Request to send the API call to the service.
20076// the "output" return value is not valid until after Send returns without error.
20077//
20078// See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
20079// API call, and error handling.
20080//
20081// This method is useful when you want to inject custom logic or configuration
20082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20083//
20084//
20085//    // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
20086//    req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
20087//
20088//    err := req.Send()
20089//    if err == nil { // resp is now filled
20090//        fmt.Println(resp)
20091//    }
20092//
20093// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
20094func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
20095	op := &request.Operation{
20096		Name:       opDescribeVpcEndpointServiceConfigurations,
20097		HTTPMethod: "POST",
20098		HTTPPath:   "/",
20099		Paginator: &request.Paginator{
20100			InputTokens:     []string{"NextToken"},
20101			OutputTokens:    []string{"NextToken"},
20102			LimitToken:      "MaxResults",
20103			TruncationToken: "",
20104		},
20105	}
20106
20107	if input == nil {
20108		input = &DescribeVpcEndpointServiceConfigurationsInput{}
20109	}
20110
20111	output = &DescribeVpcEndpointServiceConfigurationsOutput{}
20112	req = c.newRequest(op, input, output)
20113	return
20114}
20115
20116// DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
20117//
20118// Describes the VPC endpoint service configurations in your account (your services).
20119//
20120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20121// with awserr.Error's Code and Message methods to get detailed information about
20122// the error.
20123//
20124// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20125// API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
20126// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
20127func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
20128	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
20129	return out, req.Send()
20130}
20131
20132// DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
20133// the ability to pass a context and additional request options.
20134//
20135// See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
20136//
20137// The context must be non-nil and will be used for request cancellation. If
20138// the context is nil a panic will occur. In the future the SDK may create
20139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20140// for more information on using Contexts.
20141func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
20142	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
20143	req.SetContext(ctx)
20144	req.ApplyOptions(opts...)
20145	return out, req.Send()
20146}
20147
20148// DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation,
20149// calling the "fn" function with the response data for each page. To stop
20150// iterating, return false from the fn function.
20151//
20152// See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation.
20153//
20154// Note: This operation can generate multiple requests to a service.
20155//
20156//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation.
20157//    pageNum := 0
20158//    err := client.DescribeVpcEndpointServiceConfigurationsPages(params,
20159//        func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool {
20160//            pageNum++
20161//            fmt.Println(page)
20162//            return pageNum <= 3
20163//        })
20164//
20165func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error {
20166	return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
20167}
20168
20169// DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except
20170// it takes a Context and allows setting request options on the pages.
20171//
20172// The context must be non-nil and will be used for request cancellation. If
20173// the context is nil a panic will occur. In the future the SDK may create
20174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20175// for more information on using Contexts.
20176func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error {
20177	p := request.Pagination{
20178		NewRequest: func() (*request.Request, error) {
20179			var inCpy *DescribeVpcEndpointServiceConfigurationsInput
20180			if input != nil {
20181				tmp := *input
20182				inCpy = &tmp
20183			}
20184			req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy)
20185			req.SetContext(ctx)
20186			req.ApplyOptions(opts...)
20187			return req, nil
20188		},
20189	}
20190
20191	cont := true
20192	for p.Next() && cont {
20193		cont = fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage())
20194	}
20195	return p.Err()
20196}
20197
20198const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
20199
20200// DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
20201// client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
20202// value will be populated with the request's response once the request completes
20203// successfully.
20204//
20205// Use "Send" method on the returned Request to send the API call to the service.
20206// the "output" return value is not valid until after Send returns without error.
20207//
20208// See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
20209// API call, and error handling.
20210//
20211// This method is useful when you want to inject custom logic or configuration
20212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20213//
20214//
20215//    // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
20216//    req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
20217//
20218//    err := req.Send()
20219//    if err == nil { // resp is now filled
20220//        fmt.Println(resp)
20221//    }
20222//
20223// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
20224func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
20225	op := &request.Operation{
20226		Name:       opDescribeVpcEndpointServicePermissions,
20227		HTTPMethod: "POST",
20228		HTTPPath:   "/",
20229		Paginator: &request.Paginator{
20230			InputTokens:     []string{"NextToken"},
20231			OutputTokens:    []string{"NextToken"},
20232			LimitToken:      "MaxResults",
20233			TruncationToken: "",
20234		},
20235	}
20236
20237	if input == nil {
20238		input = &DescribeVpcEndpointServicePermissionsInput{}
20239	}
20240
20241	output = &DescribeVpcEndpointServicePermissionsOutput{}
20242	req = c.newRequest(op, input, output)
20243	return
20244}
20245
20246// DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
20247//
20248// Describes the principals (service consumers) that are permitted to discover
20249// your VPC endpoint service.
20250//
20251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20252// with awserr.Error's Code and Message methods to get detailed information about
20253// the error.
20254//
20255// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20256// API operation DescribeVpcEndpointServicePermissions for usage and error information.
20257// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
20258func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
20259	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
20260	return out, req.Send()
20261}
20262
20263// DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
20264// the ability to pass a context and additional request options.
20265//
20266// See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
20267//
20268// The context must be non-nil and will be used for request cancellation. If
20269// the context is nil a panic will occur. In the future the SDK may create
20270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20271// for more information on using Contexts.
20272func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
20273	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
20274	req.SetContext(ctx)
20275	req.ApplyOptions(opts...)
20276	return out, req.Send()
20277}
20278
20279// DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation,
20280// calling the "fn" function with the response data for each page. To stop
20281// iterating, return false from the fn function.
20282//
20283// See DescribeVpcEndpointServicePermissions method for more information on how to use this operation.
20284//
20285// Note: This operation can generate multiple requests to a service.
20286//
20287//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation.
20288//    pageNum := 0
20289//    err := client.DescribeVpcEndpointServicePermissionsPages(params,
20290//        func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool {
20291//            pageNum++
20292//            fmt.Println(page)
20293//            return pageNum <= 3
20294//        })
20295//
20296func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error {
20297	return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
20298}
20299
20300// DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except
20301// it takes a Context and allows setting request options on the pages.
20302//
20303// The context must be non-nil and will be used for request cancellation. If
20304// the context is nil a panic will occur. In the future the SDK may create
20305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20306// for more information on using Contexts.
20307func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error {
20308	p := request.Pagination{
20309		NewRequest: func() (*request.Request, error) {
20310			var inCpy *DescribeVpcEndpointServicePermissionsInput
20311			if input != nil {
20312				tmp := *input
20313				inCpy = &tmp
20314			}
20315			req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy)
20316			req.SetContext(ctx)
20317			req.ApplyOptions(opts...)
20318			return req, nil
20319		},
20320	}
20321
20322	cont := true
20323	for p.Next() && cont {
20324		cont = fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage())
20325	}
20326	return p.Err()
20327}
20328
20329const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
20330
20331// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
20332// client's request for the DescribeVpcEndpointServices operation. The "output" return
20333// value will be populated with the request's response once the request completes
20334// successfully.
20335//
20336// Use "Send" method on the returned Request to send the API call to the service.
20337// the "output" return value is not valid until after Send returns without error.
20338//
20339// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
20340// API call, and error handling.
20341//
20342// This method is useful when you want to inject custom logic or configuration
20343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20344//
20345//
20346//    // Example sending a request using the DescribeVpcEndpointServicesRequest method.
20347//    req, resp := client.DescribeVpcEndpointServicesRequest(params)
20348//
20349//    err := req.Send()
20350//    if err == nil { // resp is now filled
20351//        fmt.Println(resp)
20352//    }
20353//
20354// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
20355func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
20356	op := &request.Operation{
20357		Name:       opDescribeVpcEndpointServices,
20358		HTTPMethod: "POST",
20359		HTTPPath:   "/",
20360	}
20361
20362	if input == nil {
20363		input = &DescribeVpcEndpointServicesInput{}
20364	}
20365
20366	output = &DescribeVpcEndpointServicesOutput{}
20367	req = c.newRequest(op, input, output)
20368	return
20369}
20370
20371// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
20372//
20373// Describes available services to which you can create a VPC endpoint.
20374//
20375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20376// with awserr.Error's Code and Message methods to get detailed information about
20377// the error.
20378//
20379// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20380// API operation DescribeVpcEndpointServices for usage and error information.
20381// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
20382func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
20383	req, out := c.DescribeVpcEndpointServicesRequest(input)
20384	return out, req.Send()
20385}
20386
20387// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
20388// the ability to pass a context and additional request options.
20389//
20390// See DescribeVpcEndpointServices for details on how to use this API operation.
20391//
20392// The context must be non-nil and will be used for request cancellation. If
20393// the context is nil a panic will occur. In the future the SDK may create
20394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20395// for more information on using Contexts.
20396func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
20397	req, out := c.DescribeVpcEndpointServicesRequest(input)
20398	req.SetContext(ctx)
20399	req.ApplyOptions(opts...)
20400	return out, req.Send()
20401}
20402
20403const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
20404
20405// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
20406// client's request for the DescribeVpcEndpoints operation. The "output" return
20407// value will be populated with the request's response once the request completes
20408// successfully.
20409//
20410// Use "Send" method on the returned Request to send the API call to the service.
20411// the "output" return value is not valid until after Send returns without error.
20412//
20413// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
20414// API call, and error handling.
20415//
20416// This method is useful when you want to inject custom logic or configuration
20417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20418//
20419//
20420//    // Example sending a request using the DescribeVpcEndpointsRequest method.
20421//    req, resp := client.DescribeVpcEndpointsRequest(params)
20422//
20423//    err := req.Send()
20424//    if err == nil { // resp is now filled
20425//        fmt.Println(resp)
20426//    }
20427//
20428// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
20429func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
20430	op := &request.Operation{
20431		Name:       opDescribeVpcEndpoints,
20432		HTTPMethod: "POST",
20433		HTTPPath:   "/",
20434		Paginator: &request.Paginator{
20435			InputTokens:     []string{"NextToken"},
20436			OutputTokens:    []string{"NextToken"},
20437			LimitToken:      "MaxResults",
20438			TruncationToken: "",
20439		},
20440	}
20441
20442	if input == nil {
20443		input = &DescribeVpcEndpointsInput{}
20444	}
20445
20446	output = &DescribeVpcEndpointsOutput{}
20447	req = c.newRequest(op, input, output)
20448	return
20449}
20450
20451// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
20452//
20453// Describes one or more of your VPC endpoints.
20454//
20455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20456// with awserr.Error's Code and Message methods to get detailed information about
20457// the error.
20458//
20459// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20460// API operation DescribeVpcEndpoints for usage and error information.
20461// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
20462func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
20463	req, out := c.DescribeVpcEndpointsRequest(input)
20464	return out, req.Send()
20465}
20466
20467// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
20468// the ability to pass a context and additional request options.
20469//
20470// See DescribeVpcEndpoints for details on how to use this API operation.
20471//
20472// The context must be non-nil and will be used for request cancellation. If
20473// the context is nil a panic will occur. In the future the SDK may create
20474// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20475// for more information on using Contexts.
20476func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
20477	req, out := c.DescribeVpcEndpointsRequest(input)
20478	req.SetContext(ctx)
20479	req.ApplyOptions(opts...)
20480	return out, req.Send()
20481}
20482
20483// DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation,
20484// calling the "fn" function with the response data for each page. To stop
20485// iterating, return false from the fn function.
20486//
20487// See DescribeVpcEndpoints method for more information on how to use this operation.
20488//
20489// Note: This operation can generate multiple requests to a service.
20490//
20491//    // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation.
20492//    pageNum := 0
20493//    err := client.DescribeVpcEndpointsPages(params,
20494//        func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool {
20495//            pageNum++
20496//            fmt.Println(page)
20497//            return pageNum <= 3
20498//        })
20499//
20500func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error {
20501	return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
20502}
20503
20504// DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except
20505// it takes a Context and allows setting request options on the pages.
20506//
20507// The context must be non-nil and will be used for request cancellation. If
20508// the context is nil a panic will occur. In the future the SDK may create
20509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20510// for more information on using Contexts.
20511func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error {
20512	p := request.Pagination{
20513		NewRequest: func() (*request.Request, error) {
20514			var inCpy *DescribeVpcEndpointsInput
20515			if input != nil {
20516				tmp := *input
20517				inCpy = &tmp
20518			}
20519			req, _ := c.DescribeVpcEndpointsRequest(inCpy)
20520			req.SetContext(ctx)
20521			req.ApplyOptions(opts...)
20522			return req, nil
20523		},
20524	}
20525
20526	cont := true
20527	for p.Next() && cont {
20528		cont = fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage())
20529	}
20530	return p.Err()
20531}
20532
20533const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
20534
20535// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
20536// client's request for the DescribeVpcPeeringConnections operation. The "output" return
20537// value will be populated with the request's response once the request completes
20538// successfully.
20539//
20540// Use "Send" method on the returned Request to send the API call to the service.
20541// the "output" return value is not valid until after Send returns without error.
20542//
20543// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
20544// API call, and error handling.
20545//
20546// This method is useful when you want to inject custom logic or configuration
20547// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20548//
20549//
20550//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
20551//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
20552//
20553//    err := req.Send()
20554//    if err == nil { // resp is now filled
20555//        fmt.Println(resp)
20556//    }
20557//
20558// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
20559func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
20560	op := &request.Operation{
20561		Name:       opDescribeVpcPeeringConnections,
20562		HTTPMethod: "POST",
20563		HTTPPath:   "/",
20564		Paginator: &request.Paginator{
20565			InputTokens:     []string{"NextToken"},
20566			OutputTokens:    []string{"NextToken"},
20567			LimitToken:      "MaxResults",
20568			TruncationToken: "",
20569		},
20570	}
20571
20572	if input == nil {
20573		input = &DescribeVpcPeeringConnectionsInput{}
20574	}
20575
20576	output = &DescribeVpcPeeringConnectionsOutput{}
20577	req = c.newRequest(op, input, output)
20578	return
20579}
20580
20581// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
20582//
20583// Describes one or more of your VPC peering connections.
20584//
20585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20586// with awserr.Error's Code and Message methods to get detailed information about
20587// the error.
20588//
20589// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20590// API operation DescribeVpcPeeringConnections for usage and error information.
20591// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
20592func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
20593	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
20594	return out, req.Send()
20595}
20596
20597// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
20598// the ability to pass a context and additional request options.
20599//
20600// See DescribeVpcPeeringConnections for details on how to use this API operation.
20601//
20602// The context must be non-nil and will be used for request cancellation. If
20603// the context is nil a panic will occur. In the future the SDK may create
20604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20605// for more information on using Contexts.
20606func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
20607	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
20608	req.SetContext(ctx)
20609	req.ApplyOptions(opts...)
20610	return out, req.Send()
20611}
20612
20613// DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
20614// calling the "fn" function with the response data for each page. To stop
20615// iterating, return false from the fn function.
20616//
20617// See DescribeVpcPeeringConnections method for more information on how to use this operation.
20618//
20619// Note: This operation can generate multiple requests to a service.
20620//
20621//    // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
20622//    pageNum := 0
20623//    err := client.DescribeVpcPeeringConnectionsPages(params,
20624//        func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
20625//            pageNum++
20626//            fmt.Println(page)
20627//            return pageNum <= 3
20628//        })
20629//
20630func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
20631	return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
20632}
20633
20634// DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
20635// it takes a Context and allows setting request options on the pages.
20636//
20637// The context must be non-nil and will be used for request cancellation. If
20638// the context is nil a panic will occur. In the future the SDK may create
20639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20640// for more information on using Contexts.
20641func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
20642	p := request.Pagination{
20643		NewRequest: func() (*request.Request, error) {
20644			var inCpy *DescribeVpcPeeringConnectionsInput
20645			if input != nil {
20646				tmp := *input
20647				inCpy = &tmp
20648			}
20649			req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
20650			req.SetContext(ctx)
20651			req.ApplyOptions(opts...)
20652			return req, nil
20653		},
20654	}
20655
20656	cont := true
20657	for p.Next() && cont {
20658		cont = fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage())
20659	}
20660	return p.Err()
20661}
20662
20663const opDescribeVpcs = "DescribeVpcs"
20664
20665// DescribeVpcsRequest generates a "aws/request.Request" representing the
20666// client's request for the DescribeVpcs operation. The "output" return
20667// value will be populated with the request's response once the request completes
20668// successfully.
20669//
20670// Use "Send" method on the returned Request to send the API call to the service.
20671// the "output" return value is not valid until after Send returns without error.
20672//
20673// See DescribeVpcs for more information on using the DescribeVpcs
20674// API call, and error handling.
20675//
20676// This method is useful when you want to inject custom logic or configuration
20677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20678//
20679//
20680//    // Example sending a request using the DescribeVpcsRequest method.
20681//    req, resp := client.DescribeVpcsRequest(params)
20682//
20683//    err := req.Send()
20684//    if err == nil { // resp is now filled
20685//        fmt.Println(resp)
20686//    }
20687//
20688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
20689func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
20690	op := &request.Operation{
20691		Name:       opDescribeVpcs,
20692		HTTPMethod: "POST",
20693		HTTPPath:   "/",
20694		Paginator: &request.Paginator{
20695			InputTokens:     []string{"NextToken"},
20696			OutputTokens:    []string{"NextToken"},
20697			LimitToken:      "MaxResults",
20698			TruncationToken: "",
20699		},
20700	}
20701
20702	if input == nil {
20703		input = &DescribeVpcsInput{}
20704	}
20705
20706	output = &DescribeVpcsOutput{}
20707	req = c.newRequest(op, input, output)
20708	return
20709}
20710
20711// DescribeVpcs API operation for Amazon Elastic Compute Cloud.
20712//
20713// Describes one or more of your VPCs.
20714//
20715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20716// with awserr.Error's Code and Message methods to get detailed information about
20717// the error.
20718//
20719// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20720// API operation DescribeVpcs for usage and error information.
20721// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
20722func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
20723	req, out := c.DescribeVpcsRequest(input)
20724	return out, req.Send()
20725}
20726
20727// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
20728// the ability to pass a context and additional request options.
20729//
20730// See DescribeVpcs for details on how to use this API operation.
20731//
20732// The context must be non-nil and will be used for request cancellation. If
20733// the context is nil a panic will occur. In the future the SDK may create
20734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20735// for more information on using Contexts.
20736func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
20737	req, out := c.DescribeVpcsRequest(input)
20738	req.SetContext(ctx)
20739	req.ApplyOptions(opts...)
20740	return out, req.Send()
20741}
20742
20743// DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
20744// calling the "fn" function with the response data for each page. To stop
20745// iterating, return false from the fn function.
20746//
20747// See DescribeVpcs method for more information on how to use this operation.
20748//
20749// Note: This operation can generate multiple requests to a service.
20750//
20751//    // Example iterating over at most 3 pages of a DescribeVpcs operation.
20752//    pageNum := 0
20753//    err := client.DescribeVpcsPages(params,
20754//        func(page *ec2.DescribeVpcsOutput, lastPage bool) bool {
20755//            pageNum++
20756//            fmt.Println(page)
20757//            return pageNum <= 3
20758//        })
20759//
20760func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
20761	return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
20762}
20763
20764// DescribeVpcsPagesWithContext same as DescribeVpcsPages except
20765// it takes a Context and allows setting request options on the pages.
20766//
20767// The context must be non-nil and will be used for request cancellation. If
20768// the context is nil a panic will occur. In the future the SDK may create
20769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20770// for more information on using Contexts.
20771func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
20772	p := request.Pagination{
20773		NewRequest: func() (*request.Request, error) {
20774			var inCpy *DescribeVpcsInput
20775			if input != nil {
20776				tmp := *input
20777				inCpy = &tmp
20778			}
20779			req, _ := c.DescribeVpcsRequest(inCpy)
20780			req.SetContext(ctx)
20781			req.ApplyOptions(opts...)
20782			return req, nil
20783		},
20784	}
20785
20786	cont := true
20787	for p.Next() && cont {
20788		cont = fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage())
20789	}
20790	return p.Err()
20791}
20792
20793const opDescribeVpnConnections = "DescribeVpnConnections"
20794
20795// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
20796// client's request for the DescribeVpnConnections operation. The "output" return
20797// value will be populated with the request's response once the request completes
20798// successfully.
20799//
20800// Use "Send" method on the returned Request to send the API call to the service.
20801// the "output" return value is not valid until after Send returns without error.
20802//
20803// See DescribeVpnConnections for more information on using the DescribeVpnConnections
20804// API call, and error handling.
20805//
20806// This method is useful when you want to inject custom logic or configuration
20807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20808//
20809//
20810//    // Example sending a request using the DescribeVpnConnectionsRequest method.
20811//    req, resp := client.DescribeVpnConnectionsRequest(params)
20812//
20813//    err := req.Send()
20814//    if err == nil { // resp is now filled
20815//        fmt.Println(resp)
20816//    }
20817//
20818// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
20819func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
20820	op := &request.Operation{
20821		Name:       opDescribeVpnConnections,
20822		HTTPMethod: "POST",
20823		HTTPPath:   "/",
20824	}
20825
20826	if input == nil {
20827		input = &DescribeVpnConnectionsInput{}
20828	}
20829
20830	output = &DescribeVpnConnectionsOutput{}
20831	req = c.newRequest(op, input, output)
20832	return
20833}
20834
20835// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
20836//
20837// Describes one or more of your VPN connections.
20838//
20839// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
20840// in the AWS Site-to-Site VPN User Guide.
20841//
20842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20843// with awserr.Error's Code and Message methods to get detailed information about
20844// the error.
20845//
20846// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20847// API operation DescribeVpnConnections for usage and error information.
20848// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
20849func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
20850	req, out := c.DescribeVpnConnectionsRequest(input)
20851	return out, req.Send()
20852}
20853
20854// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
20855// the ability to pass a context and additional request options.
20856//
20857// See DescribeVpnConnections for details on how to use this API operation.
20858//
20859// The context must be non-nil and will be used for request cancellation. If
20860// the context is nil a panic will occur. In the future the SDK may create
20861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20862// for more information on using Contexts.
20863func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
20864	req, out := c.DescribeVpnConnectionsRequest(input)
20865	req.SetContext(ctx)
20866	req.ApplyOptions(opts...)
20867	return out, req.Send()
20868}
20869
20870const opDescribeVpnGateways = "DescribeVpnGateways"
20871
20872// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
20873// client's request for the DescribeVpnGateways operation. The "output" return
20874// value will be populated with the request's response once the request completes
20875// successfully.
20876//
20877// Use "Send" method on the returned Request to send the API call to the service.
20878// the "output" return value is not valid until after Send returns without error.
20879//
20880// See DescribeVpnGateways for more information on using the DescribeVpnGateways
20881// API call, and error handling.
20882//
20883// This method is useful when you want to inject custom logic or configuration
20884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20885//
20886//
20887//    // Example sending a request using the DescribeVpnGatewaysRequest method.
20888//    req, resp := client.DescribeVpnGatewaysRequest(params)
20889//
20890//    err := req.Send()
20891//    if err == nil { // resp is now filled
20892//        fmt.Println(resp)
20893//    }
20894//
20895// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
20896func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
20897	op := &request.Operation{
20898		Name:       opDescribeVpnGateways,
20899		HTTPMethod: "POST",
20900		HTTPPath:   "/",
20901	}
20902
20903	if input == nil {
20904		input = &DescribeVpnGatewaysInput{}
20905	}
20906
20907	output = &DescribeVpnGatewaysOutput{}
20908	req = c.newRequest(op, input, output)
20909	return
20910}
20911
20912// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
20913//
20914// Describes one or more of your virtual private gateways.
20915//
20916// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
20917// in the AWS Site-to-Site VPN User Guide.
20918//
20919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20920// with awserr.Error's Code and Message methods to get detailed information about
20921// the error.
20922//
20923// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20924// API operation DescribeVpnGateways for usage and error information.
20925// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
20926func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
20927	req, out := c.DescribeVpnGatewaysRequest(input)
20928	return out, req.Send()
20929}
20930
20931// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
20932// the ability to pass a context and additional request options.
20933//
20934// See DescribeVpnGateways for details on how to use this API operation.
20935//
20936// The context must be non-nil and will be used for request cancellation. If
20937// the context is nil a panic will occur. In the future the SDK may create
20938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20939// for more information on using Contexts.
20940func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
20941	req, out := c.DescribeVpnGatewaysRequest(input)
20942	req.SetContext(ctx)
20943	req.ApplyOptions(opts...)
20944	return out, req.Send()
20945}
20946
20947const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
20948
20949// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
20950// client's request for the DetachClassicLinkVpc operation. The "output" return
20951// value will be populated with the request's response once the request completes
20952// successfully.
20953//
20954// Use "Send" method on the returned Request to send the API call to the service.
20955// the "output" return value is not valid until after Send returns without error.
20956//
20957// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
20958// API call, and error handling.
20959//
20960// This method is useful when you want to inject custom logic or configuration
20961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20962//
20963//
20964//    // Example sending a request using the DetachClassicLinkVpcRequest method.
20965//    req, resp := client.DetachClassicLinkVpcRequest(params)
20966//
20967//    err := req.Send()
20968//    if err == nil { // resp is now filled
20969//        fmt.Println(resp)
20970//    }
20971//
20972// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
20973func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
20974	op := &request.Operation{
20975		Name:       opDetachClassicLinkVpc,
20976		HTTPMethod: "POST",
20977		HTTPPath:   "/",
20978	}
20979
20980	if input == nil {
20981		input = &DetachClassicLinkVpcInput{}
20982	}
20983
20984	output = &DetachClassicLinkVpcOutput{}
20985	req = c.newRequest(op, input, output)
20986	return
20987}
20988
20989// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
20990//
20991// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
20992// has been unlinked, the VPC security groups are no longer associated with
20993// it. An instance is automatically unlinked from a VPC when it's stopped.
20994//
20995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20996// with awserr.Error's Code and Message methods to get detailed information about
20997// the error.
20998//
20999// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21000// API operation DetachClassicLinkVpc for usage and error information.
21001// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
21002func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
21003	req, out := c.DetachClassicLinkVpcRequest(input)
21004	return out, req.Send()
21005}
21006
21007// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
21008// the ability to pass a context and additional request options.
21009//
21010// See DetachClassicLinkVpc for details on how to use this API operation.
21011//
21012// The context must be non-nil and will be used for request cancellation. If
21013// the context is nil a panic will occur. In the future the SDK may create
21014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21015// for more information on using Contexts.
21016func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
21017	req, out := c.DetachClassicLinkVpcRequest(input)
21018	req.SetContext(ctx)
21019	req.ApplyOptions(opts...)
21020	return out, req.Send()
21021}
21022
21023const opDetachInternetGateway = "DetachInternetGateway"
21024
21025// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
21026// client's request for the DetachInternetGateway operation. The "output" return
21027// value will be populated with the request's response once the request completes
21028// successfully.
21029//
21030// Use "Send" method on the returned Request to send the API call to the service.
21031// the "output" return value is not valid until after Send returns without error.
21032//
21033// See DetachInternetGateway for more information on using the DetachInternetGateway
21034// API call, and error handling.
21035//
21036// This method is useful when you want to inject custom logic or configuration
21037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21038//
21039//
21040//    // Example sending a request using the DetachInternetGatewayRequest method.
21041//    req, resp := client.DetachInternetGatewayRequest(params)
21042//
21043//    err := req.Send()
21044//    if err == nil { // resp is now filled
21045//        fmt.Println(resp)
21046//    }
21047//
21048// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
21049func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
21050	op := &request.Operation{
21051		Name:       opDetachInternetGateway,
21052		HTTPMethod: "POST",
21053		HTTPPath:   "/",
21054	}
21055
21056	if input == nil {
21057		input = &DetachInternetGatewayInput{}
21058	}
21059
21060	output = &DetachInternetGatewayOutput{}
21061	req = c.newRequest(op, input, output)
21062	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
21063	return
21064}
21065
21066// DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
21067//
21068// Detaches an internet gateway from a VPC, disabling connectivity between the
21069// internet and the VPC. The VPC must not contain any running instances with
21070// Elastic IP addresses or public IPv4 addresses.
21071//
21072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21073// with awserr.Error's Code and Message methods to get detailed information about
21074// the error.
21075//
21076// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21077// API operation DetachInternetGateway for usage and error information.
21078// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
21079func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
21080	req, out := c.DetachInternetGatewayRequest(input)
21081	return out, req.Send()
21082}
21083
21084// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
21085// the ability to pass a context and additional request options.
21086//
21087// See DetachInternetGateway for details on how to use this API operation.
21088//
21089// The context must be non-nil and will be used for request cancellation. If
21090// the context is nil a panic will occur. In the future the SDK may create
21091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21092// for more information on using Contexts.
21093func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
21094	req, out := c.DetachInternetGatewayRequest(input)
21095	req.SetContext(ctx)
21096	req.ApplyOptions(opts...)
21097	return out, req.Send()
21098}
21099
21100const opDetachNetworkInterface = "DetachNetworkInterface"
21101
21102// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
21103// client's request for the DetachNetworkInterface operation. The "output" return
21104// value will be populated with the request's response once the request completes
21105// successfully.
21106//
21107// Use "Send" method on the returned Request to send the API call to the service.
21108// the "output" return value is not valid until after Send returns without error.
21109//
21110// See DetachNetworkInterface for more information on using the DetachNetworkInterface
21111// API call, and error handling.
21112//
21113// This method is useful when you want to inject custom logic or configuration
21114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21115//
21116//
21117//    // Example sending a request using the DetachNetworkInterfaceRequest method.
21118//    req, resp := client.DetachNetworkInterfaceRequest(params)
21119//
21120//    err := req.Send()
21121//    if err == nil { // resp is now filled
21122//        fmt.Println(resp)
21123//    }
21124//
21125// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
21126func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
21127	op := &request.Operation{
21128		Name:       opDetachNetworkInterface,
21129		HTTPMethod: "POST",
21130		HTTPPath:   "/",
21131	}
21132
21133	if input == nil {
21134		input = &DetachNetworkInterfaceInput{}
21135	}
21136
21137	output = &DetachNetworkInterfaceOutput{}
21138	req = c.newRequest(op, input, output)
21139	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
21140	return
21141}
21142
21143// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
21144//
21145// Detaches a network interface from an instance.
21146//
21147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21148// with awserr.Error's Code and Message methods to get detailed information about
21149// the error.
21150//
21151// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21152// API operation DetachNetworkInterface for usage and error information.
21153// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
21154func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
21155	req, out := c.DetachNetworkInterfaceRequest(input)
21156	return out, req.Send()
21157}
21158
21159// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
21160// the ability to pass a context and additional request options.
21161//
21162// See DetachNetworkInterface for details on how to use this API operation.
21163//
21164// The context must be non-nil and will be used for request cancellation. If
21165// the context is nil a panic will occur. In the future the SDK may create
21166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21167// for more information on using Contexts.
21168func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
21169	req, out := c.DetachNetworkInterfaceRequest(input)
21170	req.SetContext(ctx)
21171	req.ApplyOptions(opts...)
21172	return out, req.Send()
21173}
21174
21175const opDetachVolume = "DetachVolume"
21176
21177// DetachVolumeRequest generates a "aws/request.Request" representing the
21178// client's request for the DetachVolume operation. The "output" return
21179// value will be populated with the request's response once the request completes
21180// successfully.
21181//
21182// Use "Send" method on the returned Request to send the API call to the service.
21183// the "output" return value is not valid until after Send returns without error.
21184//
21185// See DetachVolume for more information on using the DetachVolume
21186// API call, and error handling.
21187//
21188// This method is useful when you want to inject custom logic or configuration
21189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21190//
21191//
21192//    // Example sending a request using the DetachVolumeRequest method.
21193//    req, resp := client.DetachVolumeRequest(params)
21194//
21195//    err := req.Send()
21196//    if err == nil { // resp is now filled
21197//        fmt.Println(resp)
21198//    }
21199//
21200// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
21201func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
21202	op := &request.Operation{
21203		Name:       opDetachVolume,
21204		HTTPMethod: "POST",
21205		HTTPPath:   "/",
21206	}
21207
21208	if input == nil {
21209		input = &DetachVolumeInput{}
21210	}
21211
21212	output = &VolumeAttachment{}
21213	req = c.newRequest(op, input, output)
21214	return
21215}
21216
21217// DetachVolume API operation for Amazon Elastic Compute Cloud.
21218//
21219// Detaches an EBS volume from an instance. Make sure to unmount any file systems
21220// on the device within your operating system before detaching the volume. Failure
21221// to do so can result in the volume becoming stuck in the busy state while
21222// detaching. If this happens, detachment can be delayed indefinitely until
21223// you unmount the volume, force detachment, reboot the instance, or all three.
21224// If an EBS volume is the root device of an instance, it can't be detached
21225// while the instance is running. To detach the root volume, stop the instance
21226// first.
21227//
21228// When a volume with an AWS Marketplace product code is detached from an instance,
21229// the product code is no longer associated with the instance.
21230//
21231// For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
21232// in the Amazon Elastic Compute Cloud User Guide.
21233//
21234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21235// with awserr.Error's Code and Message methods to get detailed information about
21236// the error.
21237//
21238// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21239// API operation DetachVolume for usage and error information.
21240// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
21241func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
21242	req, out := c.DetachVolumeRequest(input)
21243	return out, req.Send()
21244}
21245
21246// DetachVolumeWithContext is the same as DetachVolume with the addition of
21247// the ability to pass a context and additional request options.
21248//
21249// See DetachVolume for details on how to use this API operation.
21250//
21251// The context must be non-nil and will be used for request cancellation. If
21252// the context is nil a panic will occur. In the future the SDK may create
21253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21254// for more information on using Contexts.
21255func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
21256	req, out := c.DetachVolumeRequest(input)
21257	req.SetContext(ctx)
21258	req.ApplyOptions(opts...)
21259	return out, req.Send()
21260}
21261
21262const opDetachVpnGateway = "DetachVpnGateway"
21263
21264// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
21265// client's request for the DetachVpnGateway operation. The "output" return
21266// value will be populated with the request's response once the request completes
21267// successfully.
21268//
21269// Use "Send" method on the returned Request to send the API call to the service.
21270// the "output" return value is not valid until after Send returns without error.
21271//
21272// See DetachVpnGateway for more information on using the DetachVpnGateway
21273// API call, and error handling.
21274//
21275// This method is useful when you want to inject custom logic or configuration
21276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21277//
21278//
21279//    // Example sending a request using the DetachVpnGatewayRequest method.
21280//    req, resp := client.DetachVpnGatewayRequest(params)
21281//
21282//    err := req.Send()
21283//    if err == nil { // resp is now filled
21284//        fmt.Println(resp)
21285//    }
21286//
21287// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
21288func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
21289	op := &request.Operation{
21290		Name:       opDetachVpnGateway,
21291		HTTPMethod: "POST",
21292		HTTPPath:   "/",
21293	}
21294
21295	if input == nil {
21296		input = &DetachVpnGatewayInput{}
21297	}
21298
21299	output = &DetachVpnGatewayOutput{}
21300	req = c.newRequest(op, input, output)
21301	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
21302	return
21303}
21304
21305// DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
21306//
21307// Detaches a virtual private gateway from a VPC. You do this if you're planning
21308// to turn off the VPC and not use it anymore. You can confirm a virtual private
21309// gateway has been completely detached from a VPC by describing the virtual
21310// private gateway (any attachments to the virtual private gateway are also
21311// described).
21312//
21313// You must wait for the attachment's state to switch to detached before you
21314// can delete the VPC or attach a different VPC to the virtual private gateway.
21315//
21316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21317// with awserr.Error's Code and Message methods to get detailed information about
21318// the error.
21319//
21320// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21321// API operation DetachVpnGateway for usage and error information.
21322// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
21323func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
21324	req, out := c.DetachVpnGatewayRequest(input)
21325	return out, req.Send()
21326}
21327
21328// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
21329// the ability to pass a context and additional request options.
21330//
21331// See DetachVpnGateway for details on how to use this API operation.
21332//
21333// The context must be non-nil and will be used for request cancellation. If
21334// the context is nil a panic will occur. In the future the SDK may create
21335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21336// for more information on using Contexts.
21337func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
21338	req, out := c.DetachVpnGatewayRequest(input)
21339	req.SetContext(ctx)
21340	req.ApplyOptions(opts...)
21341	return out, req.Send()
21342}
21343
21344const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault"
21345
21346// DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
21347// client's request for the DisableEbsEncryptionByDefault operation. The "output" return
21348// value will be populated with the request's response once the request completes
21349// successfully.
21350//
21351// Use "Send" method on the returned Request to send the API call to the service.
21352// the "output" return value is not valid until after Send returns without error.
21353//
21354// See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault
21355// API call, and error handling.
21356//
21357// This method is useful when you want to inject custom logic or configuration
21358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21359//
21360//
21361//    // Example sending a request using the DisableEbsEncryptionByDefaultRequest method.
21362//    req, resp := client.DisableEbsEncryptionByDefaultRequest(params)
21363//
21364//    err := req.Send()
21365//    if err == nil { // resp is now filled
21366//        fmt.Println(resp)
21367//    }
21368//
21369// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
21370func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) {
21371	op := &request.Operation{
21372		Name:       opDisableEbsEncryptionByDefault,
21373		HTTPMethod: "POST",
21374		HTTPPath:   "/",
21375	}
21376
21377	if input == nil {
21378		input = &DisableEbsEncryptionByDefaultInput{}
21379	}
21380
21381	output = &DisableEbsEncryptionByDefaultOutput{}
21382	req = c.newRequest(op, input, output)
21383	return
21384}
21385
21386// DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
21387//
21388// Disables default encryption for EBS volumes that are created in your account
21389// in the current region.
21390//
21391// Call this API if you have enabled default encryption using EnableEbsEncryptionByDefault
21392// and want to disable default EBS encryption. Once default EBS encryption is
21393// disabled, you can still create an encrypted volume by setting encrypted to
21394// true in the API call that creates the volume.
21395//
21396// Disabling default EBS encryption will not change the encryption status of
21397// any of your existing volumes.
21398//
21399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21400// with awserr.Error's Code and Message methods to get detailed information about
21401// the error.
21402//
21403// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21404// API operation DisableEbsEncryptionByDefault for usage and error information.
21405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
21406func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) {
21407	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
21408	return out, req.Send()
21409}
21410
21411// DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of
21412// the ability to pass a context and additional request options.
21413//
21414// See DisableEbsEncryptionByDefault for details on how to use this API operation.
21415//
21416// The context must be non-nil and will be used for request cancellation. If
21417// the context is nil a panic will occur. In the future the SDK may create
21418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21419// for more information on using Contexts.
21420func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) {
21421	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
21422	req.SetContext(ctx)
21423	req.ApplyOptions(opts...)
21424	return out, req.Send()
21425}
21426
21427const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
21428
21429// DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
21430// client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
21431// value will be populated with the request's response once the request completes
21432// successfully.
21433//
21434// Use "Send" method on the returned Request to send the API call to the service.
21435// the "output" return value is not valid until after Send returns without error.
21436//
21437// See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
21438// API call, and error handling.
21439//
21440// This method is useful when you want to inject custom logic or configuration
21441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21442//
21443//
21444//    // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
21445//    req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
21446//
21447//    err := req.Send()
21448//    if err == nil { // resp is now filled
21449//        fmt.Println(resp)
21450//    }
21451//
21452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
21453func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
21454	op := &request.Operation{
21455		Name:       opDisableTransitGatewayRouteTablePropagation,
21456		HTTPMethod: "POST",
21457		HTTPPath:   "/",
21458	}
21459
21460	if input == nil {
21461		input = &DisableTransitGatewayRouteTablePropagationInput{}
21462	}
21463
21464	output = &DisableTransitGatewayRouteTablePropagationOutput{}
21465	req = c.newRequest(op, input, output)
21466	return
21467}
21468
21469// DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
21470//
21471// Disables the specified resource attachment from propagating routes to the
21472// specified propagation route table.
21473//
21474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21475// with awserr.Error's Code and Message methods to get detailed information about
21476// the error.
21477//
21478// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21479// API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
21480// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
21481func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
21482	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
21483	return out, req.Send()
21484}
21485
21486// DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
21487// the ability to pass a context and additional request options.
21488//
21489// See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
21490//
21491// The context must be non-nil and will be used for request cancellation. If
21492// the context is nil a panic will occur. In the future the SDK may create
21493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21494// for more information on using Contexts.
21495func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
21496	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
21497	req.SetContext(ctx)
21498	req.ApplyOptions(opts...)
21499	return out, req.Send()
21500}
21501
21502const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
21503
21504// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
21505// client's request for the DisableVgwRoutePropagation operation. The "output" return
21506// value will be populated with the request's response once the request completes
21507// successfully.
21508//
21509// Use "Send" method on the returned Request to send the API call to the service.
21510// the "output" return value is not valid until after Send returns without error.
21511//
21512// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
21513// API call, and error handling.
21514//
21515// This method is useful when you want to inject custom logic or configuration
21516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21517//
21518//
21519//    // Example sending a request using the DisableVgwRoutePropagationRequest method.
21520//    req, resp := client.DisableVgwRoutePropagationRequest(params)
21521//
21522//    err := req.Send()
21523//    if err == nil { // resp is now filled
21524//        fmt.Println(resp)
21525//    }
21526//
21527// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
21528func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
21529	op := &request.Operation{
21530		Name:       opDisableVgwRoutePropagation,
21531		HTTPMethod: "POST",
21532		HTTPPath:   "/",
21533	}
21534
21535	if input == nil {
21536		input = &DisableVgwRoutePropagationInput{}
21537	}
21538
21539	output = &DisableVgwRoutePropagationOutput{}
21540	req = c.newRequest(op, input, output)
21541	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
21542	return
21543}
21544
21545// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
21546//
21547// Disables a virtual private gateway (VGW) from propagating routes to a specified
21548// route table of a VPC.
21549//
21550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21551// with awserr.Error's Code and Message methods to get detailed information about
21552// the error.
21553//
21554// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21555// API operation DisableVgwRoutePropagation for usage and error information.
21556// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
21557func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
21558	req, out := c.DisableVgwRoutePropagationRequest(input)
21559	return out, req.Send()
21560}
21561
21562// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
21563// the ability to pass a context and additional request options.
21564//
21565// See DisableVgwRoutePropagation for details on how to use this API operation.
21566//
21567// The context must be non-nil and will be used for request cancellation. If
21568// the context is nil a panic will occur. In the future the SDK may create
21569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21570// for more information on using Contexts.
21571func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
21572	req, out := c.DisableVgwRoutePropagationRequest(input)
21573	req.SetContext(ctx)
21574	req.ApplyOptions(opts...)
21575	return out, req.Send()
21576}
21577
21578const opDisableVpcClassicLink = "DisableVpcClassicLink"
21579
21580// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
21581// client's request for the DisableVpcClassicLink operation. The "output" return
21582// value will be populated with the request's response once the request completes
21583// successfully.
21584//
21585// Use "Send" method on the returned Request to send the API call to the service.
21586// the "output" return value is not valid until after Send returns without error.
21587//
21588// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
21589// API call, and error handling.
21590//
21591// This method is useful when you want to inject custom logic or configuration
21592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21593//
21594//
21595//    // Example sending a request using the DisableVpcClassicLinkRequest method.
21596//    req, resp := client.DisableVpcClassicLinkRequest(params)
21597//
21598//    err := req.Send()
21599//    if err == nil { // resp is now filled
21600//        fmt.Println(resp)
21601//    }
21602//
21603// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
21604func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
21605	op := &request.Operation{
21606		Name:       opDisableVpcClassicLink,
21607		HTTPMethod: "POST",
21608		HTTPPath:   "/",
21609	}
21610
21611	if input == nil {
21612		input = &DisableVpcClassicLinkInput{}
21613	}
21614
21615	output = &DisableVpcClassicLinkOutput{}
21616	req = c.newRequest(op, input, output)
21617	return
21618}
21619
21620// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
21621//
21622// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
21623// that has EC2-Classic instances linked to it.
21624//
21625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21626// with awserr.Error's Code and Message methods to get detailed information about
21627// the error.
21628//
21629// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21630// API operation DisableVpcClassicLink for usage and error information.
21631// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
21632func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
21633	req, out := c.DisableVpcClassicLinkRequest(input)
21634	return out, req.Send()
21635}
21636
21637// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
21638// the ability to pass a context and additional request options.
21639//
21640// See DisableVpcClassicLink for details on how to use this API operation.
21641//
21642// The context must be non-nil and will be used for request cancellation. If
21643// the context is nil a panic will occur. In the future the SDK may create
21644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21645// for more information on using Contexts.
21646func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
21647	req, out := c.DisableVpcClassicLinkRequest(input)
21648	req.SetContext(ctx)
21649	req.ApplyOptions(opts...)
21650	return out, req.Send()
21651}
21652
21653const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
21654
21655// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
21656// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
21657// value will be populated with the request's response once the request completes
21658// successfully.
21659//
21660// Use "Send" method on the returned Request to send the API call to the service.
21661// the "output" return value is not valid until after Send returns without error.
21662//
21663// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
21664// API call, and error handling.
21665//
21666// This method is useful when you want to inject custom logic or configuration
21667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21668//
21669//
21670//    // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
21671//    req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
21672//
21673//    err := req.Send()
21674//    if err == nil { // resp is now filled
21675//        fmt.Println(resp)
21676//    }
21677//
21678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
21679func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
21680	op := &request.Operation{
21681		Name:       opDisableVpcClassicLinkDnsSupport,
21682		HTTPMethod: "POST",
21683		HTTPPath:   "/",
21684	}
21685
21686	if input == nil {
21687		input = &DisableVpcClassicLinkDnsSupportInput{}
21688	}
21689
21690	output = &DisableVpcClassicLinkDnsSupportOutput{}
21691	req = c.newRequest(op, input, output)
21692	return
21693}
21694
21695// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
21696//
21697// Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
21698// to public IP addresses when addressed between a linked EC2-Classic instance
21699// and instances in the VPC to which it's linked. For more information, see
21700// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
21701// in the Amazon Elastic Compute Cloud User Guide.
21702//
21703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21704// with awserr.Error's Code and Message methods to get detailed information about
21705// the error.
21706//
21707// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21708// API operation DisableVpcClassicLinkDnsSupport for usage and error information.
21709// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
21710func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
21711	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
21712	return out, req.Send()
21713}
21714
21715// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
21716// the ability to pass a context and additional request options.
21717//
21718// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
21719//
21720// The context must be non-nil and will be used for request cancellation. If
21721// the context is nil a panic will occur. In the future the SDK may create
21722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21723// for more information on using Contexts.
21724func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
21725	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
21726	req.SetContext(ctx)
21727	req.ApplyOptions(opts...)
21728	return out, req.Send()
21729}
21730
21731const opDisassociateAddress = "DisassociateAddress"
21732
21733// DisassociateAddressRequest generates a "aws/request.Request" representing the
21734// client's request for the DisassociateAddress operation. The "output" return
21735// value will be populated with the request's response once the request completes
21736// successfully.
21737//
21738// Use "Send" method on the returned Request to send the API call to the service.
21739// the "output" return value is not valid until after Send returns without error.
21740//
21741// See DisassociateAddress for more information on using the DisassociateAddress
21742// API call, and error handling.
21743//
21744// This method is useful when you want to inject custom logic or configuration
21745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21746//
21747//
21748//    // Example sending a request using the DisassociateAddressRequest method.
21749//    req, resp := client.DisassociateAddressRequest(params)
21750//
21751//    err := req.Send()
21752//    if err == nil { // resp is now filled
21753//        fmt.Println(resp)
21754//    }
21755//
21756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
21757func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
21758	op := &request.Operation{
21759		Name:       opDisassociateAddress,
21760		HTTPMethod: "POST",
21761		HTTPPath:   "/",
21762	}
21763
21764	if input == nil {
21765		input = &DisassociateAddressInput{}
21766	}
21767
21768	output = &DisassociateAddressOutput{}
21769	req = c.newRequest(op, input, output)
21770	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
21771	return
21772}
21773
21774// DisassociateAddress API operation for Amazon Elastic Compute Cloud.
21775//
21776// Disassociates an Elastic IP address from the instance or network interface
21777// it's associated with.
21778//
21779// An Elastic IP address is for use in either the EC2-Classic platform or in
21780// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
21781// in the Amazon Elastic Compute Cloud User Guide.
21782//
21783// This is an idempotent operation. If you perform the operation more than once,
21784// Amazon EC2 doesn't return an error.
21785//
21786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21787// with awserr.Error's Code and Message methods to get detailed information about
21788// the error.
21789//
21790// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21791// API operation DisassociateAddress for usage and error information.
21792// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
21793func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
21794	req, out := c.DisassociateAddressRequest(input)
21795	return out, req.Send()
21796}
21797
21798// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
21799// the ability to pass a context and additional request options.
21800//
21801// See DisassociateAddress for details on how to use this API operation.
21802//
21803// The context must be non-nil and will be used for request cancellation. If
21804// the context is nil a panic will occur. In the future the SDK may create
21805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21806// for more information on using Contexts.
21807func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
21808	req, out := c.DisassociateAddressRequest(input)
21809	req.SetContext(ctx)
21810	req.ApplyOptions(opts...)
21811	return out, req.Send()
21812}
21813
21814const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
21815
21816// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
21817// client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
21818// value will be populated with the request's response once the request completes
21819// successfully.
21820//
21821// Use "Send" method on the returned Request to send the API call to the service.
21822// the "output" return value is not valid until after Send returns without error.
21823//
21824// See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
21825// API call, and error handling.
21826//
21827// This method is useful when you want to inject custom logic or configuration
21828// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21829//
21830//
21831//    // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
21832//    req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
21833//
21834//    err := req.Send()
21835//    if err == nil { // resp is now filled
21836//        fmt.Println(resp)
21837//    }
21838//
21839// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
21840func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
21841	op := &request.Operation{
21842		Name:       opDisassociateClientVpnTargetNetwork,
21843		HTTPMethod: "POST",
21844		HTTPPath:   "/",
21845	}
21846
21847	if input == nil {
21848		input = &DisassociateClientVpnTargetNetworkInput{}
21849	}
21850
21851	output = &DisassociateClientVpnTargetNetworkOutput{}
21852	req = c.newRequest(op, input, output)
21853	return
21854}
21855
21856// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
21857//
21858// Disassociates a target network from the specified Client VPN endpoint. When
21859// you disassociate the last target network from a Client VPN, the following
21860// happens:
21861//
21862//    * The route that was automatically added for the VPC is deleted
21863//
21864//    * All active client connections are terminated
21865//
21866//    * New client connections are disallowed
21867//
21868//    * The Client VPN endpoint's status changes to pending-associate
21869//
21870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21871// with awserr.Error's Code and Message methods to get detailed information about
21872// the error.
21873//
21874// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21875// API operation DisassociateClientVpnTargetNetwork for usage and error information.
21876// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
21877func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
21878	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
21879	return out, req.Send()
21880}
21881
21882// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
21883// the ability to pass a context and additional request options.
21884//
21885// See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
21886//
21887// The context must be non-nil and will be used for request cancellation. If
21888// the context is nil a panic will occur. In the future the SDK may create
21889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21890// for more information on using Contexts.
21891func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
21892	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
21893	req.SetContext(ctx)
21894	req.ApplyOptions(opts...)
21895	return out, req.Send()
21896}
21897
21898const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
21899
21900// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
21901// client's request for the DisassociateIamInstanceProfile operation. The "output" return
21902// value will be populated with the request's response once the request completes
21903// successfully.
21904//
21905// Use "Send" method on the returned Request to send the API call to the service.
21906// the "output" return value is not valid until after Send returns without error.
21907//
21908// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
21909// API call, and error handling.
21910//
21911// This method is useful when you want to inject custom logic or configuration
21912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21913//
21914//
21915//    // Example sending a request using the DisassociateIamInstanceProfileRequest method.
21916//    req, resp := client.DisassociateIamInstanceProfileRequest(params)
21917//
21918//    err := req.Send()
21919//    if err == nil { // resp is now filled
21920//        fmt.Println(resp)
21921//    }
21922//
21923// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
21924func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
21925	op := &request.Operation{
21926		Name:       opDisassociateIamInstanceProfile,
21927		HTTPMethod: "POST",
21928		HTTPPath:   "/",
21929	}
21930
21931	if input == nil {
21932		input = &DisassociateIamInstanceProfileInput{}
21933	}
21934
21935	output = &DisassociateIamInstanceProfileOutput{}
21936	req = c.newRequest(op, input, output)
21937	return
21938}
21939
21940// DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
21941//
21942// Disassociates an IAM instance profile from a running or stopped instance.
21943//
21944// Use DescribeIamInstanceProfileAssociations to get the association ID.
21945//
21946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21947// with awserr.Error's Code and Message methods to get detailed information about
21948// the error.
21949//
21950// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21951// API operation DisassociateIamInstanceProfile for usage and error information.
21952// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
21953func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
21954	req, out := c.DisassociateIamInstanceProfileRequest(input)
21955	return out, req.Send()
21956}
21957
21958// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
21959// the ability to pass a context and additional request options.
21960//
21961// See DisassociateIamInstanceProfile for details on how to use this API operation.
21962//
21963// The context must be non-nil and will be used for request cancellation. If
21964// the context is nil a panic will occur. In the future the SDK may create
21965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21966// for more information on using Contexts.
21967func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
21968	req, out := c.DisassociateIamInstanceProfileRequest(input)
21969	req.SetContext(ctx)
21970	req.ApplyOptions(opts...)
21971	return out, req.Send()
21972}
21973
21974const opDisassociateRouteTable = "DisassociateRouteTable"
21975
21976// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
21977// client's request for the DisassociateRouteTable operation. The "output" return
21978// value will be populated with the request's response once the request completes
21979// successfully.
21980//
21981// Use "Send" method on the returned Request to send the API call to the service.
21982// the "output" return value is not valid until after Send returns without error.
21983//
21984// See DisassociateRouteTable for more information on using the DisassociateRouteTable
21985// API call, and error handling.
21986//
21987// This method is useful when you want to inject custom logic or configuration
21988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21989//
21990//
21991//    // Example sending a request using the DisassociateRouteTableRequest method.
21992//    req, resp := client.DisassociateRouteTableRequest(params)
21993//
21994//    err := req.Send()
21995//    if err == nil { // resp is now filled
21996//        fmt.Println(resp)
21997//    }
21998//
21999// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
22000func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
22001	op := &request.Operation{
22002		Name:       opDisassociateRouteTable,
22003		HTTPMethod: "POST",
22004		HTTPPath:   "/",
22005	}
22006
22007	if input == nil {
22008		input = &DisassociateRouteTableInput{}
22009	}
22010
22011	output = &DisassociateRouteTableOutput{}
22012	req = c.newRequest(op, input, output)
22013	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
22014	return
22015}
22016
22017// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
22018//
22019// Disassociates a subnet from a route table.
22020//
22021// After you perform this action, the subnet no longer uses the routes in the
22022// route table. Instead, it uses the routes in the VPC's main route table. For
22023// more information about route tables, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
22024// in the Amazon Virtual Private Cloud User Guide.
22025//
22026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22027// with awserr.Error's Code and Message methods to get detailed information about
22028// the error.
22029//
22030// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22031// API operation DisassociateRouteTable for usage and error information.
22032// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
22033func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
22034	req, out := c.DisassociateRouteTableRequest(input)
22035	return out, req.Send()
22036}
22037
22038// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
22039// the ability to pass a context and additional request options.
22040//
22041// See DisassociateRouteTable for details on how to use this API operation.
22042//
22043// The context must be non-nil and will be used for request cancellation. If
22044// the context is nil a panic will occur. In the future the SDK may create
22045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22046// for more information on using Contexts.
22047func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
22048	req, out := c.DisassociateRouteTableRequest(input)
22049	req.SetContext(ctx)
22050	req.ApplyOptions(opts...)
22051	return out, req.Send()
22052}
22053
22054const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
22055
22056// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
22057// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
22058// value will be populated with the request's response once the request completes
22059// successfully.
22060//
22061// Use "Send" method on the returned Request to send the API call to the service.
22062// the "output" return value is not valid until after Send returns without error.
22063//
22064// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
22065// API call, and error handling.
22066//
22067// This method is useful when you want to inject custom logic or configuration
22068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22069//
22070//
22071//    // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
22072//    req, resp := client.DisassociateSubnetCidrBlockRequest(params)
22073//
22074//    err := req.Send()
22075//    if err == nil { // resp is now filled
22076//        fmt.Println(resp)
22077//    }
22078//
22079// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
22080func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
22081	op := &request.Operation{
22082		Name:       opDisassociateSubnetCidrBlock,
22083		HTTPMethod: "POST",
22084		HTTPPath:   "/",
22085	}
22086
22087	if input == nil {
22088		input = &DisassociateSubnetCidrBlockInput{}
22089	}
22090
22091	output = &DisassociateSubnetCidrBlockOutput{}
22092	req = c.newRequest(op, input, output)
22093	return
22094}
22095
22096// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
22097//
22098// Disassociates a CIDR block from a subnet. Currently, you can disassociate
22099// an IPv6 CIDR block only. You must detach or delete all gateways and resources
22100// that are associated with the CIDR block before you can disassociate it.
22101//
22102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22103// with awserr.Error's Code and Message methods to get detailed information about
22104// the error.
22105//
22106// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22107// API operation DisassociateSubnetCidrBlock for usage and error information.
22108// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
22109func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
22110	req, out := c.DisassociateSubnetCidrBlockRequest(input)
22111	return out, req.Send()
22112}
22113
22114// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
22115// the ability to pass a context and additional request options.
22116//
22117// See DisassociateSubnetCidrBlock for details on how to use this API operation.
22118//
22119// The context must be non-nil and will be used for request cancellation. If
22120// the context is nil a panic will occur. In the future the SDK may create
22121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22122// for more information on using Contexts.
22123func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
22124	req, out := c.DisassociateSubnetCidrBlockRequest(input)
22125	req.SetContext(ctx)
22126	req.ApplyOptions(opts...)
22127	return out, req.Send()
22128}
22129
22130const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
22131
22132// DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
22133// client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
22134// value will be populated with the request's response once the request completes
22135// successfully.
22136//
22137// Use "Send" method on the returned Request to send the API call to the service.
22138// the "output" return value is not valid until after Send returns without error.
22139//
22140// See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
22141// API call, and error handling.
22142//
22143// This method is useful when you want to inject custom logic or configuration
22144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22145//
22146//
22147//    // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
22148//    req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
22149//
22150//    err := req.Send()
22151//    if err == nil { // resp is now filled
22152//        fmt.Println(resp)
22153//    }
22154//
22155// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
22156func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
22157	op := &request.Operation{
22158		Name:       opDisassociateTransitGatewayRouteTable,
22159		HTTPMethod: "POST",
22160		HTTPPath:   "/",
22161	}
22162
22163	if input == nil {
22164		input = &DisassociateTransitGatewayRouteTableInput{}
22165	}
22166
22167	output = &DisassociateTransitGatewayRouteTableOutput{}
22168	req = c.newRequest(op, input, output)
22169	return
22170}
22171
22172// DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
22173//
22174// Disassociates a resource attachment from a transit gateway route table.
22175//
22176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22177// with awserr.Error's Code and Message methods to get detailed information about
22178// the error.
22179//
22180// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22181// API operation DisassociateTransitGatewayRouteTable for usage and error information.
22182// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
22183func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
22184	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
22185	return out, req.Send()
22186}
22187
22188// DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
22189// the ability to pass a context and additional request options.
22190//
22191// See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
22192//
22193// The context must be non-nil and will be used for request cancellation. If
22194// the context is nil a panic will occur. In the future the SDK may create
22195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22196// for more information on using Contexts.
22197func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
22198	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
22199	req.SetContext(ctx)
22200	req.ApplyOptions(opts...)
22201	return out, req.Send()
22202}
22203
22204const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
22205
22206// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
22207// client's request for the DisassociateVpcCidrBlock operation. The "output" return
22208// value will be populated with the request's response once the request completes
22209// successfully.
22210//
22211// Use "Send" method on the returned Request to send the API call to the service.
22212// the "output" return value is not valid until after Send returns without error.
22213//
22214// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
22215// API call, and error handling.
22216//
22217// This method is useful when you want to inject custom logic or configuration
22218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22219//
22220//
22221//    // Example sending a request using the DisassociateVpcCidrBlockRequest method.
22222//    req, resp := client.DisassociateVpcCidrBlockRequest(params)
22223//
22224//    err := req.Send()
22225//    if err == nil { // resp is now filled
22226//        fmt.Println(resp)
22227//    }
22228//
22229// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
22230func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
22231	op := &request.Operation{
22232		Name:       opDisassociateVpcCidrBlock,
22233		HTTPMethod: "POST",
22234		HTTPPath:   "/",
22235	}
22236
22237	if input == nil {
22238		input = &DisassociateVpcCidrBlockInput{}
22239	}
22240
22241	output = &DisassociateVpcCidrBlockOutput{}
22242	req = c.newRequest(op, input, output)
22243	return
22244}
22245
22246// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
22247//
22248// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
22249// must specify its association ID. You can get the association ID by using
22250// DescribeVpcs. You must detach or delete all gateways and resources that are
22251// associated with the CIDR block before you can disassociate it.
22252//
22253// You cannot disassociate the CIDR block with which you originally created
22254// the VPC (the primary CIDR block).
22255//
22256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22257// with awserr.Error's Code and Message methods to get detailed information about
22258// the error.
22259//
22260// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22261// API operation DisassociateVpcCidrBlock for usage and error information.
22262// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
22263func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
22264	req, out := c.DisassociateVpcCidrBlockRequest(input)
22265	return out, req.Send()
22266}
22267
22268// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
22269// the ability to pass a context and additional request options.
22270//
22271// See DisassociateVpcCidrBlock for details on how to use this API operation.
22272//
22273// The context must be non-nil and will be used for request cancellation. If
22274// the context is nil a panic will occur. In the future the SDK may create
22275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22276// for more information on using Contexts.
22277func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
22278	req, out := c.DisassociateVpcCidrBlockRequest(input)
22279	req.SetContext(ctx)
22280	req.ApplyOptions(opts...)
22281	return out, req.Send()
22282}
22283
22284const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault"
22285
22286// EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
22287// client's request for the EnableEbsEncryptionByDefault operation. The "output" return
22288// value will be populated with the request's response once the request completes
22289// successfully.
22290//
22291// Use "Send" method on the returned Request to send the API call to the service.
22292// the "output" return value is not valid until after Send returns without error.
22293//
22294// See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault
22295// API call, and error handling.
22296//
22297// This method is useful when you want to inject custom logic or configuration
22298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22299//
22300//
22301//    // Example sending a request using the EnableEbsEncryptionByDefaultRequest method.
22302//    req, resp := client.EnableEbsEncryptionByDefaultRequest(params)
22303//
22304//    err := req.Send()
22305//    if err == nil { // resp is now filled
22306//        fmt.Println(resp)
22307//    }
22308//
22309// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
22310func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) {
22311	op := &request.Operation{
22312		Name:       opEnableEbsEncryptionByDefault,
22313		HTTPMethod: "POST",
22314		HTTPPath:   "/",
22315	}
22316
22317	if input == nil {
22318		input = &EnableEbsEncryptionByDefaultInput{}
22319	}
22320
22321	output = &EnableEbsEncryptionByDefaultOutput{}
22322	req = c.newRequest(op, input, output)
22323	return
22324}
22325
22326// EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
22327//
22328// Enables default encryption for EBS volumes that are created in your account
22329// in the current region.
22330//
22331// Once encryption is enabled with this action, EBS volumes that are created
22332// in your account will always be encrypted even if encryption is not specified
22333// at launch. This setting overrides the encrypted setting to true in all API
22334// calls that create EBS volumes in your account. A volume will be encrypted
22335// even if you specify encryption to be false in the API call that creates the
22336// volume.
22337//
22338// If you do not specify a customer master key (CMK) in the API call that creates
22339// the EBS volume, then the volume is encrypted to your AWS account's default
22340// CMK.
22341//
22342// You can specify a default CMK of your choice using ModifyEbsDefaultKmsKeyId.
22343//
22344// Enabling default encryption for EBS volumes has no effect on existing unencrypted
22345// volumes in your account. Encrypting the data in these requires manual action.
22346// You can either create an encrypted snapshot of an unencrypted volume, or
22347// encrypt a copy of an unencrypted snapshot. Any volume restored from an encrypted
22348// snapshot is also encrypted. For more information, see Amazon EBS Snapshots
22349// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html).
22350//
22351// Once EBS encryption by default is enabled, you can no longer launch older-generation
22352// instance types that do not support encryption. For more information, see
22353// Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
22354//
22355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22356// with awserr.Error's Code and Message methods to get detailed information about
22357// the error.
22358//
22359// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22360// API operation EnableEbsEncryptionByDefault for usage and error information.
22361// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
22362func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) {
22363	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
22364	return out, req.Send()
22365}
22366
22367// EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of
22368// the ability to pass a context and additional request options.
22369//
22370// See EnableEbsEncryptionByDefault for details on how to use this API operation.
22371//
22372// The context must be non-nil and will be used for request cancellation. If
22373// the context is nil a panic will occur. In the future the SDK may create
22374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22375// for more information on using Contexts.
22376func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) {
22377	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
22378	req.SetContext(ctx)
22379	req.ApplyOptions(opts...)
22380	return out, req.Send()
22381}
22382
22383const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
22384
22385// EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
22386// client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
22387// value will be populated with the request's response once the request completes
22388// successfully.
22389//
22390// Use "Send" method on the returned Request to send the API call to the service.
22391// the "output" return value is not valid until after Send returns without error.
22392//
22393// See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
22394// API call, and error handling.
22395//
22396// This method is useful when you want to inject custom logic or configuration
22397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22398//
22399//
22400//    // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
22401//    req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
22402//
22403//    err := req.Send()
22404//    if err == nil { // resp is now filled
22405//        fmt.Println(resp)
22406//    }
22407//
22408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
22409func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
22410	op := &request.Operation{
22411		Name:       opEnableTransitGatewayRouteTablePropagation,
22412		HTTPMethod: "POST",
22413		HTTPPath:   "/",
22414	}
22415
22416	if input == nil {
22417		input = &EnableTransitGatewayRouteTablePropagationInput{}
22418	}
22419
22420	output = &EnableTransitGatewayRouteTablePropagationOutput{}
22421	req = c.newRequest(op, input, output)
22422	return
22423}
22424
22425// EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
22426//
22427// Enables the specified attachment to propagate routes to the specified propagation
22428// route table.
22429//
22430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22431// with awserr.Error's Code and Message methods to get detailed information about
22432// the error.
22433//
22434// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22435// API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
22436// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
22437func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
22438	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
22439	return out, req.Send()
22440}
22441
22442// EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
22443// the ability to pass a context and additional request options.
22444//
22445// See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
22446//
22447// The context must be non-nil and will be used for request cancellation. If
22448// the context is nil a panic will occur. In the future the SDK may create
22449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22450// for more information on using Contexts.
22451func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
22452	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
22453	req.SetContext(ctx)
22454	req.ApplyOptions(opts...)
22455	return out, req.Send()
22456}
22457
22458const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
22459
22460// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
22461// client's request for the EnableVgwRoutePropagation operation. The "output" return
22462// value will be populated with the request's response once the request completes
22463// successfully.
22464//
22465// Use "Send" method on the returned Request to send the API call to the service.
22466// the "output" return value is not valid until after Send returns without error.
22467//
22468// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
22469// API call, and error handling.
22470//
22471// This method is useful when you want to inject custom logic or configuration
22472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22473//
22474//
22475//    // Example sending a request using the EnableVgwRoutePropagationRequest method.
22476//    req, resp := client.EnableVgwRoutePropagationRequest(params)
22477//
22478//    err := req.Send()
22479//    if err == nil { // resp is now filled
22480//        fmt.Println(resp)
22481//    }
22482//
22483// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
22484func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
22485	op := &request.Operation{
22486		Name:       opEnableVgwRoutePropagation,
22487		HTTPMethod: "POST",
22488		HTTPPath:   "/",
22489	}
22490
22491	if input == nil {
22492		input = &EnableVgwRoutePropagationInput{}
22493	}
22494
22495	output = &EnableVgwRoutePropagationOutput{}
22496	req = c.newRequest(op, input, output)
22497	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
22498	return
22499}
22500
22501// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
22502//
22503// Enables a virtual private gateway (VGW) to propagate routes to the specified
22504// route table of a VPC.
22505//
22506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22507// with awserr.Error's Code and Message methods to get detailed information about
22508// the error.
22509//
22510// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22511// API operation EnableVgwRoutePropagation for usage and error information.
22512// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
22513func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
22514	req, out := c.EnableVgwRoutePropagationRequest(input)
22515	return out, req.Send()
22516}
22517
22518// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
22519// the ability to pass a context and additional request options.
22520//
22521// See EnableVgwRoutePropagation for details on how to use this API operation.
22522//
22523// The context must be non-nil and will be used for request cancellation. If
22524// the context is nil a panic will occur. In the future the SDK may create
22525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22526// for more information on using Contexts.
22527func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
22528	req, out := c.EnableVgwRoutePropagationRequest(input)
22529	req.SetContext(ctx)
22530	req.ApplyOptions(opts...)
22531	return out, req.Send()
22532}
22533
22534const opEnableVolumeIO = "EnableVolumeIO"
22535
22536// EnableVolumeIORequest generates a "aws/request.Request" representing the
22537// client's request for the EnableVolumeIO operation. The "output" return
22538// value will be populated with the request's response once the request completes
22539// successfully.
22540//
22541// Use "Send" method on the returned Request to send the API call to the service.
22542// the "output" return value is not valid until after Send returns without error.
22543//
22544// See EnableVolumeIO for more information on using the EnableVolumeIO
22545// API call, and error handling.
22546//
22547// This method is useful when you want to inject custom logic or configuration
22548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22549//
22550//
22551//    // Example sending a request using the EnableVolumeIORequest method.
22552//    req, resp := client.EnableVolumeIORequest(params)
22553//
22554//    err := req.Send()
22555//    if err == nil { // resp is now filled
22556//        fmt.Println(resp)
22557//    }
22558//
22559// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
22560func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
22561	op := &request.Operation{
22562		Name:       opEnableVolumeIO,
22563		HTTPMethod: "POST",
22564		HTTPPath:   "/",
22565	}
22566
22567	if input == nil {
22568		input = &EnableVolumeIOInput{}
22569	}
22570
22571	output = &EnableVolumeIOOutput{}
22572	req = c.newRequest(op, input, output)
22573	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
22574	return
22575}
22576
22577// EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
22578//
22579// Enables I/O operations for a volume that had I/O operations disabled because
22580// the data on the volume was potentially inconsistent.
22581//
22582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22583// with awserr.Error's Code and Message methods to get detailed information about
22584// the error.
22585//
22586// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22587// API operation EnableVolumeIO for usage and error information.
22588// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
22589func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
22590	req, out := c.EnableVolumeIORequest(input)
22591	return out, req.Send()
22592}
22593
22594// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
22595// the ability to pass a context and additional request options.
22596//
22597// See EnableVolumeIO for details on how to use this API operation.
22598//
22599// The context must be non-nil and will be used for request cancellation. If
22600// the context is nil a panic will occur. In the future the SDK may create
22601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22602// for more information on using Contexts.
22603func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
22604	req, out := c.EnableVolumeIORequest(input)
22605	req.SetContext(ctx)
22606	req.ApplyOptions(opts...)
22607	return out, req.Send()
22608}
22609
22610const opEnableVpcClassicLink = "EnableVpcClassicLink"
22611
22612// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
22613// client's request for the EnableVpcClassicLink operation. The "output" return
22614// value will be populated with the request's response once the request completes
22615// successfully.
22616//
22617// Use "Send" method on the returned Request to send the API call to the service.
22618// the "output" return value is not valid until after Send returns without error.
22619//
22620// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
22621// API call, and error handling.
22622//
22623// This method is useful when you want to inject custom logic or configuration
22624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22625//
22626//
22627//    // Example sending a request using the EnableVpcClassicLinkRequest method.
22628//    req, resp := client.EnableVpcClassicLinkRequest(params)
22629//
22630//    err := req.Send()
22631//    if err == nil { // resp is now filled
22632//        fmt.Println(resp)
22633//    }
22634//
22635// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
22636func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
22637	op := &request.Operation{
22638		Name:       opEnableVpcClassicLink,
22639		HTTPMethod: "POST",
22640		HTTPPath:   "/",
22641	}
22642
22643	if input == nil {
22644		input = &EnableVpcClassicLinkInput{}
22645	}
22646
22647	output = &EnableVpcClassicLinkOutput{}
22648	req = c.newRequest(op, input, output)
22649	return
22650}
22651
22652// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
22653//
22654// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
22655// your ClassicLink-enabled VPC to allow communication over private IP addresses.
22656// You cannot enable your VPC for ClassicLink if any of your VPC route tables
22657// have existing routes for address ranges within the 10.0.0.0/8 IP address
22658// range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
22659// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
22660// in the Amazon Elastic Compute Cloud User Guide.
22661//
22662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22663// with awserr.Error's Code and Message methods to get detailed information about
22664// the error.
22665//
22666// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22667// API operation EnableVpcClassicLink for usage and error information.
22668// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
22669func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
22670	req, out := c.EnableVpcClassicLinkRequest(input)
22671	return out, req.Send()
22672}
22673
22674// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
22675// the ability to pass a context and additional request options.
22676//
22677// See EnableVpcClassicLink for details on how to use this API operation.
22678//
22679// The context must be non-nil and will be used for request cancellation. If
22680// the context is nil a panic will occur. In the future the SDK may create
22681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22682// for more information on using Contexts.
22683func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
22684	req, out := c.EnableVpcClassicLinkRequest(input)
22685	req.SetContext(ctx)
22686	req.ApplyOptions(opts...)
22687	return out, req.Send()
22688}
22689
22690const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
22691
22692// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
22693// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
22694// value will be populated with the request's response once the request completes
22695// successfully.
22696//
22697// Use "Send" method on the returned Request to send the API call to the service.
22698// the "output" return value is not valid until after Send returns without error.
22699//
22700// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
22701// API call, and error handling.
22702//
22703// This method is useful when you want to inject custom logic or configuration
22704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22705//
22706//
22707//    // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
22708//    req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
22709//
22710//    err := req.Send()
22711//    if err == nil { // resp is now filled
22712//        fmt.Println(resp)
22713//    }
22714//
22715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
22716func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
22717	op := &request.Operation{
22718		Name:       opEnableVpcClassicLinkDnsSupport,
22719		HTTPMethod: "POST",
22720		HTTPPath:   "/",
22721	}
22722
22723	if input == nil {
22724		input = &EnableVpcClassicLinkDnsSupportInput{}
22725	}
22726
22727	output = &EnableVpcClassicLinkDnsSupportOutput{}
22728	req = c.newRequest(op, input, output)
22729	return
22730}
22731
22732// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
22733//
22734// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
22735// the DNS hostname of a linked EC2-Classic instance resolves to its private
22736// IP address when addressed from an instance in the VPC to which it's linked.
22737// Similarly, the DNS hostname of an instance in a VPC resolves to its private
22738// IP address when addressed from a linked EC2-Classic instance. For more information,
22739// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
22740// in the Amazon Elastic Compute Cloud User Guide.
22741//
22742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22743// with awserr.Error's Code and Message methods to get detailed information about
22744// the error.
22745//
22746// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22747// API operation EnableVpcClassicLinkDnsSupport for usage and error information.
22748// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
22749func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
22750	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
22751	return out, req.Send()
22752}
22753
22754// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
22755// the ability to pass a context and additional request options.
22756//
22757// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
22758//
22759// The context must be non-nil and will be used for request cancellation. If
22760// the context is nil a panic will occur. In the future the SDK may create
22761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22762// for more information on using Contexts.
22763func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
22764	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
22765	req.SetContext(ctx)
22766	req.ApplyOptions(opts...)
22767	return out, req.Send()
22768}
22769
22770const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
22771
22772// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
22773// client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
22774// value will be populated with the request's response once the request completes
22775// successfully.
22776//
22777// Use "Send" method on the returned Request to send the API call to the service.
22778// the "output" return value is not valid until after Send returns without error.
22779//
22780// See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
22781// API call, and error handling.
22782//
22783// This method is useful when you want to inject custom logic or configuration
22784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22785//
22786//
22787//    // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
22788//    req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
22789//
22790//    err := req.Send()
22791//    if err == nil { // resp is now filled
22792//        fmt.Println(resp)
22793//    }
22794//
22795// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
22796func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
22797	op := &request.Operation{
22798		Name:       opExportClientVpnClientCertificateRevocationList,
22799		HTTPMethod: "POST",
22800		HTTPPath:   "/",
22801	}
22802
22803	if input == nil {
22804		input = &ExportClientVpnClientCertificateRevocationListInput{}
22805	}
22806
22807	output = &ExportClientVpnClientCertificateRevocationListOutput{}
22808	req = c.newRequest(op, input, output)
22809	return
22810}
22811
22812// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
22813//
22814// Downloads the client certificate revocation list for the specified Client
22815// VPN endpoint.
22816//
22817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22818// with awserr.Error's Code and Message methods to get detailed information about
22819// the error.
22820//
22821// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22822// API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
22823// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
22824func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
22825	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
22826	return out, req.Send()
22827}
22828
22829// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
22830// the ability to pass a context and additional request options.
22831//
22832// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
22833//
22834// The context must be non-nil and will be used for request cancellation. If
22835// the context is nil a panic will occur. In the future the SDK may create
22836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22837// for more information on using Contexts.
22838func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
22839	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
22840	req.SetContext(ctx)
22841	req.ApplyOptions(opts...)
22842	return out, req.Send()
22843}
22844
22845const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
22846
22847// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
22848// client's request for the ExportClientVpnClientConfiguration operation. The "output" return
22849// value will be populated with the request's response once the request completes
22850// successfully.
22851//
22852// Use "Send" method on the returned Request to send the API call to the service.
22853// the "output" return value is not valid until after Send returns without error.
22854//
22855// See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
22856// API call, and error handling.
22857//
22858// This method is useful when you want to inject custom logic or configuration
22859// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22860//
22861//
22862//    // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
22863//    req, resp := client.ExportClientVpnClientConfigurationRequest(params)
22864//
22865//    err := req.Send()
22866//    if err == nil { // resp is now filled
22867//        fmt.Println(resp)
22868//    }
22869//
22870// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
22871func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
22872	op := &request.Operation{
22873		Name:       opExportClientVpnClientConfiguration,
22874		HTTPMethod: "POST",
22875		HTTPPath:   "/",
22876	}
22877
22878	if input == nil {
22879		input = &ExportClientVpnClientConfigurationInput{}
22880	}
22881
22882	output = &ExportClientVpnClientConfigurationOutput{}
22883	req = c.newRequest(op, input, output)
22884	return
22885}
22886
22887// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
22888//
22889// Downloads the contents of the Client VPN endpoint configuration file for
22890// the specified Client VPN endpoint. The Client VPN endpoint configuration
22891// file includes the Client VPN endpoint and certificate information clients
22892// need to establish a connection with the Client VPN endpoint.
22893//
22894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22895// with awserr.Error's Code and Message methods to get detailed information about
22896// the error.
22897//
22898// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22899// API operation ExportClientVpnClientConfiguration for usage and error information.
22900// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
22901func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
22902	req, out := c.ExportClientVpnClientConfigurationRequest(input)
22903	return out, req.Send()
22904}
22905
22906// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
22907// the ability to pass a context and additional request options.
22908//
22909// See ExportClientVpnClientConfiguration for details on how to use this API operation.
22910//
22911// The context must be non-nil and will be used for request cancellation. If
22912// the context is nil a panic will occur. In the future the SDK may create
22913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22914// for more information on using Contexts.
22915func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
22916	req, out := c.ExportClientVpnClientConfigurationRequest(input)
22917	req.SetContext(ctx)
22918	req.ApplyOptions(opts...)
22919	return out, req.Send()
22920}
22921
22922const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
22923
22924// ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
22925// client's request for the ExportTransitGatewayRoutes operation. The "output" return
22926// value will be populated with the request's response once the request completes
22927// successfully.
22928//
22929// Use "Send" method on the returned Request to send the API call to the service.
22930// the "output" return value is not valid until after Send returns without error.
22931//
22932// See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
22933// API call, and error handling.
22934//
22935// This method is useful when you want to inject custom logic or configuration
22936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22937//
22938//
22939//    // Example sending a request using the ExportTransitGatewayRoutesRequest method.
22940//    req, resp := client.ExportTransitGatewayRoutesRequest(params)
22941//
22942//    err := req.Send()
22943//    if err == nil { // resp is now filled
22944//        fmt.Println(resp)
22945//    }
22946//
22947// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
22948func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
22949	op := &request.Operation{
22950		Name:       opExportTransitGatewayRoutes,
22951		HTTPMethod: "POST",
22952		HTTPPath:   "/",
22953	}
22954
22955	if input == nil {
22956		input = &ExportTransitGatewayRoutesInput{}
22957	}
22958
22959	output = &ExportTransitGatewayRoutesOutput{}
22960	req = c.newRequest(op, input, output)
22961	return
22962}
22963
22964// ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
22965//
22966// Exports routes from the specified transit gateway route table to the specified
22967// S3 bucket. By default, all routes are exported. Alternatively, you can filter
22968// by CIDR range.
22969//
22970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22971// with awserr.Error's Code and Message methods to get detailed information about
22972// the error.
22973//
22974// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22975// API operation ExportTransitGatewayRoutes for usage and error information.
22976// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
22977func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
22978	req, out := c.ExportTransitGatewayRoutesRequest(input)
22979	return out, req.Send()
22980}
22981
22982// ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
22983// the ability to pass a context and additional request options.
22984//
22985// See ExportTransitGatewayRoutes for details on how to use this API operation.
22986//
22987// The context must be non-nil and will be used for request cancellation. If
22988// the context is nil a panic will occur. In the future the SDK may create
22989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22990// for more information on using Contexts.
22991func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
22992	req, out := c.ExportTransitGatewayRoutesRequest(input)
22993	req.SetContext(ctx)
22994	req.ApplyOptions(opts...)
22995	return out, req.Send()
22996}
22997
22998const opGetConsoleOutput = "GetConsoleOutput"
22999
23000// GetConsoleOutputRequest generates a "aws/request.Request" representing the
23001// client's request for the GetConsoleOutput operation. The "output" return
23002// value will be populated with the request's response once the request completes
23003// successfully.
23004//
23005// Use "Send" method on the returned Request to send the API call to the service.
23006// the "output" return value is not valid until after Send returns without error.
23007//
23008// See GetConsoleOutput for more information on using the GetConsoleOutput
23009// API call, and error handling.
23010//
23011// This method is useful when you want to inject custom logic or configuration
23012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23013//
23014//
23015//    // Example sending a request using the GetConsoleOutputRequest method.
23016//    req, resp := client.GetConsoleOutputRequest(params)
23017//
23018//    err := req.Send()
23019//    if err == nil { // resp is now filled
23020//        fmt.Println(resp)
23021//    }
23022//
23023// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
23024func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
23025	op := &request.Operation{
23026		Name:       opGetConsoleOutput,
23027		HTTPMethod: "POST",
23028		HTTPPath:   "/",
23029	}
23030
23031	if input == nil {
23032		input = &GetConsoleOutputInput{}
23033	}
23034
23035	output = &GetConsoleOutputOutput{}
23036	req = c.newRequest(op, input, output)
23037	return
23038}
23039
23040// GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
23041//
23042// Gets the console output for the specified instance. For Linux instances,
23043// the instance console output displays the exact console output that would
23044// normally be displayed on a physical monitor attached to a computer. For Windows
23045// instances, the instance console output includes the last three system event
23046// log errors.
23047//
23048// By default, the console output returns buffered information that was posted
23049// shortly after an instance transition state (start, stop, reboot, or terminate).
23050// This information is available for at least one hour after the most recent
23051// post. Only the most recent 64 KB of console output is available.
23052//
23053// You can optionally retrieve the latest serial console output at any time
23054// during the instance lifecycle. This option is supported on instance types
23055// that use the Nitro hypervisor.
23056//
23057// For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
23058// in the Amazon Elastic Compute Cloud User Guide.
23059//
23060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23061// with awserr.Error's Code and Message methods to get detailed information about
23062// the error.
23063//
23064// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23065// API operation GetConsoleOutput for usage and error information.
23066// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
23067func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
23068	req, out := c.GetConsoleOutputRequest(input)
23069	return out, req.Send()
23070}
23071
23072// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
23073// the ability to pass a context and additional request options.
23074//
23075// See GetConsoleOutput for details on how to use this API operation.
23076//
23077// The context must be non-nil and will be used for request cancellation. If
23078// the context is nil a panic will occur. In the future the SDK may create
23079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23080// for more information on using Contexts.
23081func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
23082	req, out := c.GetConsoleOutputRequest(input)
23083	req.SetContext(ctx)
23084	req.ApplyOptions(opts...)
23085	return out, req.Send()
23086}
23087
23088const opGetConsoleScreenshot = "GetConsoleScreenshot"
23089
23090// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
23091// client's request for the GetConsoleScreenshot operation. The "output" return
23092// value will be populated with the request's response once the request completes
23093// successfully.
23094//
23095// Use "Send" method on the returned Request to send the API call to the service.
23096// the "output" return value is not valid until after Send returns without error.
23097//
23098// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
23099// API call, and error handling.
23100//
23101// This method is useful when you want to inject custom logic or configuration
23102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23103//
23104//
23105//    // Example sending a request using the GetConsoleScreenshotRequest method.
23106//    req, resp := client.GetConsoleScreenshotRequest(params)
23107//
23108//    err := req.Send()
23109//    if err == nil { // resp is now filled
23110//        fmt.Println(resp)
23111//    }
23112//
23113// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
23114func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
23115	op := &request.Operation{
23116		Name:       opGetConsoleScreenshot,
23117		HTTPMethod: "POST",
23118		HTTPPath:   "/",
23119	}
23120
23121	if input == nil {
23122		input = &GetConsoleScreenshotInput{}
23123	}
23124
23125	output = &GetConsoleScreenshotOutput{}
23126	req = c.newRequest(op, input, output)
23127	return
23128}
23129
23130// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
23131//
23132// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
23133//
23134// The returned content is Base64-encoded.
23135//
23136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23137// with awserr.Error's Code and Message methods to get detailed information about
23138// the error.
23139//
23140// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23141// API operation GetConsoleScreenshot for usage and error information.
23142// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
23143func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
23144	req, out := c.GetConsoleScreenshotRequest(input)
23145	return out, req.Send()
23146}
23147
23148// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
23149// the ability to pass a context and additional request options.
23150//
23151// See GetConsoleScreenshot for details on how to use this API operation.
23152//
23153// The context must be non-nil and will be used for request cancellation. If
23154// the context is nil a panic will occur. In the future the SDK may create
23155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23156// for more information on using Contexts.
23157func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
23158	req, out := c.GetConsoleScreenshotRequest(input)
23159	req.SetContext(ctx)
23160	req.ApplyOptions(opts...)
23161	return out, req.Send()
23162}
23163
23164const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
23165
23166// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
23167// client's request for the GetEbsDefaultKmsKeyId operation. The "output" return
23168// value will be populated with the request's response once the request completes
23169// successfully.
23170//
23171// Use "Send" method on the returned Request to send the API call to the service.
23172// the "output" return value is not valid until after Send returns without error.
23173//
23174// See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId
23175// API call, and error handling.
23176//
23177// This method is useful when you want to inject custom logic or configuration
23178// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23179//
23180//
23181//    // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method.
23182//    req, resp := client.GetEbsDefaultKmsKeyIdRequest(params)
23183//
23184//    err := req.Send()
23185//    if err == nil { // resp is now filled
23186//        fmt.Println(resp)
23187//    }
23188//
23189// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
23190func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) {
23191	op := &request.Operation{
23192		Name:       opGetEbsDefaultKmsKeyId,
23193		HTTPMethod: "POST",
23194		HTTPPath:   "/",
23195	}
23196
23197	if input == nil {
23198		input = &GetEbsDefaultKmsKeyIdInput{}
23199	}
23200
23201	output = &GetEbsDefaultKmsKeyIdOutput{}
23202	req = c.newRequest(op, input, output)
23203	return
23204}
23205
23206// GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
23207//
23208// Describes the default customer master key (CMK) that your account uses to
23209// encrypt EBS volumes if you don’t specify a CMK in the API call. You can
23210// change this default using ModifyEbsDefaultKmsKeyId.
23211//
23212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23213// with awserr.Error's Code and Message methods to get detailed information about
23214// the error.
23215//
23216// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23217// API operation GetEbsDefaultKmsKeyId for usage and error information.
23218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
23219func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) {
23220	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
23221	return out, req.Send()
23222}
23223
23224// GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of
23225// the ability to pass a context and additional request options.
23226//
23227// See GetEbsDefaultKmsKeyId for details on how to use this API operation.
23228//
23229// The context must be non-nil and will be used for request cancellation. If
23230// the context is nil a panic will occur. In the future the SDK may create
23231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23232// for more information on using Contexts.
23233func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) {
23234	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
23235	req.SetContext(ctx)
23236	req.ApplyOptions(opts...)
23237	return out, req.Send()
23238}
23239
23240const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault"
23241
23242// GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
23243// client's request for the GetEbsEncryptionByDefault operation. The "output" return
23244// value will be populated with the request's response once the request completes
23245// successfully.
23246//
23247// Use "Send" method on the returned Request to send the API call to the service.
23248// the "output" return value is not valid until after Send returns without error.
23249//
23250// See GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault
23251// API call, and error handling.
23252//
23253// This method is useful when you want to inject custom logic or configuration
23254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23255//
23256//
23257//    // Example sending a request using the GetEbsEncryptionByDefaultRequest method.
23258//    req, resp := client.GetEbsEncryptionByDefaultRequest(params)
23259//
23260//    err := req.Send()
23261//    if err == nil { // resp is now filled
23262//        fmt.Println(resp)
23263//    }
23264//
23265// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
23266func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) {
23267	op := &request.Operation{
23268		Name:       opGetEbsEncryptionByDefault,
23269		HTTPMethod: "POST",
23270		HTTPPath:   "/",
23271	}
23272
23273	if input == nil {
23274		input = &GetEbsEncryptionByDefaultInput{}
23275	}
23276
23277	output = &GetEbsEncryptionByDefaultOutput{}
23278	req = c.newRequest(op, input, output)
23279	return
23280}
23281
23282// GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
23283//
23284// Describes whether default EBS encryption is enabled for your account in the
23285// current region.
23286//
23287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23288// with awserr.Error's Code and Message methods to get detailed information about
23289// the error.
23290//
23291// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23292// API operation GetEbsEncryptionByDefault for usage and error information.
23293// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
23294func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) {
23295	req, out := c.GetEbsEncryptionByDefaultRequest(input)
23296	return out, req.Send()
23297}
23298
23299// GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of
23300// the ability to pass a context and additional request options.
23301//
23302// See GetEbsEncryptionByDefault for details on how to use this API operation.
23303//
23304// The context must be non-nil and will be used for request cancellation. If
23305// the context is nil a panic will occur. In the future the SDK may create
23306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23307// for more information on using Contexts.
23308func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) {
23309	req, out := c.GetEbsEncryptionByDefaultRequest(input)
23310	req.SetContext(ctx)
23311	req.ApplyOptions(opts...)
23312	return out, req.Send()
23313}
23314
23315const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
23316
23317// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
23318// client's request for the GetHostReservationPurchasePreview operation. The "output" return
23319// value will be populated with the request's response once the request completes
23320// successfully.
23321//
23322// Use "Send" method on the returned Request to send the API call to the service.
23323// the "output" return value is not valid until after Send returns without error.
23324//
23325// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
23326// API call, and error handling.
23327//
23328// This method is useful when you want to inject custom logic or configuration
23329// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23330//
23331//
23332//    // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
23333//    req, resp := client.GetHostReservationPurchasePreviewRequest(params)
23334//
23335//    err := req.Send()
23336//    if err == nil { // resp is now filled
23337//        fmt.Println(resp)
23338//    }
23339//
23340// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
23341func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
23342	op := &request.Operation{
23343		Name:       opGetHostReservationPurchasePreview,
23344		HTTPMethod: "POST",
23345		HTTPPath:   "/",
23346	}
23347
23348	if input == nil {
23349		input = &GetHostReservationPurchasePreviewInput{}
23350	}
23351
23352	output = &GetHostReservationPurchasePreviewOutput{}
23353	req = c.newRequest(op, input, output)
23354	return
23355}
23356
23357// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
23358//
23359// Preview a reservation purchase with configurations that match those of your
23360// Dedicated Host. You must have active Dedicated Hosts in your account before
23361// you purchase a reservation.
23362//
23363// This is a preview of the PurchaseHostReservation action and does not result
23364// in the offering being purchased.
23365//
23366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23367// with awserr.Error's Code and Message methods to get detailed information about
23368// the error.
23369//
23370// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23371// API operation GetHostReservationPurchasePreview for usage and error information.
23372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
23373func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
23374	req, out := c.GetHostReservationPurchasePreviewRequest(input)
23375	return out, req.Send()
23376}
23377
23378// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
23379// the ability to pass a context and additional request options.
23380//
23381// See GetHostReservationPurchasePreview for details on how to use this API operation.
23382//
23383// The context must be non-nil and will be used for request cancellation. If
23384// the context is nil a panic will occur. In the future the SDK may create
23385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23386// for more information on using Contexts.
23387func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
23388	req, out := c.GetHostReservationPurchasePreviewRequest(input)
23389	req.SetContext(ctx)
23390	req.ApplyOptions(opts...)
23391	return out, req.Send()
23392}
23393
23394const opGetLaunchTemplateData = "GetLaunchTemplateData"
23395
23396// GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
23397// client's request for the GetLaunchTemplateData operation. The "output" return
23398// value will be populated with the request's response once the request completes
23399// successfully.
23400//
23401// Use "Send" method on the returned Request to send the API call to the service.
23402// the "output" return value is not valid until after Send returns without error.
23403//
23404// See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
23405// API call, and error handling.
23406//
23407// This method is useful when you want to inject custom logic or configuration
23408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23409//
23410//
23411//    // Example sending a request using the GetLaunchTemplateDataRequest method.
23412//    req, resp := client.GetLaunchTemplateDataRequest(params)
23413//
23414//    err := req.Send()
23415//    if err == nil { // resp is now filled
23416//        fmt.Println(resp)
23417//    }
23418//
23419// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
23420func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
23421	op := &request.Operation{
23422		Name:       opGetLaunchTemplateData,
23423		HTTPMethod: "POST",
23424		HTTPPath:   "/",
23425	}
23426
23427	if input == nil {
23428		input = &GetLaunchTemplateDataInput{}
23429	}
23430
23431	output = &GetLaunchTemplateDataOutput{}
23432	req = c.newRequest(op, input, output)
23433	return
23434}
23435
23436// GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
23437//
23438// Retrieves the configuration data of the specified instance. You can use this
23439// data to create a launch template.
23440//
23441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23442// with awserr.Error's Code and Message methods to get detailed information about
23443// the error.
23444//
23445// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23446// API operation GetLaunchTemplateData for usage and error information.
23447// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
23448func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
23449	req, out := c.GetLaunchTemplateDataRequest(input)
23450	return out, req.Send()
23451}
23452
23453// GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
23454// the ability to pass a context and additional request options.
23455//
23456// See GetLaunchTemplateData for details on how to use this API operation.
23457//
23458// The context must be non-nil and will be used for request cancellation. If
23459// the context is nil a panic will occur. In the future the SDK may create
23460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23461// for more information on using Contexts.
23462func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
23463	req, out := c.GetLaunchTemplateDataRequest(input)
23464	req.SetContext(ctx)
23465	req.ApplyOptions(opts...)
23466	return out, req.Send()
23467}
23468
23469const opGetPasswordData = "GetPasswordData"
23470
23471// GetPasswordDataRequest generates a "aws/request.Request" representing the
23472// client's request for the GetPasswordData operation. The "output" return
23473// value will be populated with the request's response once the request completes
23474// successfully.
23475//
23476// Use "Send" method on the returned Request to send the API call to the service.
23477// the "output" return value is not valid until after Send returns without error.
23478//
23479// See GetPasswordData for more information on using the GetPasswordData
23480// API call, and error handling.
23481//
23482// This method is useful when you want to inject custom logic or configuration
23483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23484//
23485//
23486//    // Example sending a request using the GetPasswordDataRequest method.
23487//    req, resp := client.GetPasswordDataRequest(params)
23488//
23489//    err := req.Send()
23490//    if err == nil { // resp is now filled
23491//        fmt.Println(resp)
23492//    }
23493//
23494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
23495func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
23496	op := &request.Operation{
23497		Name:       opGetPasswordData,
23498		HTTPMethod: "POST",
23499		HTTPPath:   "/",
23500	}
23501
23502	if input == nil {
23503		input = &GetPasswordDataInput{}
23504	}
23505
23506	output = &GetPasswordDataOutput{}
23507	req = c.newRequest(op, input, output)
23508	return
23509}
23510
23511// GetPasswordData API operation for Amazon Elastic Compute Cloud.
23512//
23513// Retrieves the encrypted administrator password for a running Windows instance.
23514//
23515// The Windows password is generated at boot by the EC2Config service or EC2Launch
23516// scripts (Windows Server 2016 and later). This usually only happens the first
23517// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
23518// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
23519// in the Amazon Elastic Compute Cloud User Guide.
23520//
23521// For the EC2Config service, the password is not generated for rebundled AMIs
23522// unless Ec2SetPassword is enabled before bundling.
23523//
23524// The password is encrypted using the key pair that you specified when you
23525// launched the instance. You must provide the corresponding key pair file.
23526//
23527// When you launch an instance, password generation and encryption may take
23528// a few minutes. If you try to retrieve the password before it's available,
23529// the output returns an empty string. We recommend that you wait up to 15 minutes
23530// after launching an instance before trying to retrieve the generated password.
23531//
23532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23533// with awserr.Error's Code and Message methods to get detailed information about
23534// the error.
23535//
23536// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23537// API operation GetPasswordData for usage and error information.
23538// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
23539func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
23540	req, out := c.GetPasswordDataRequest(input)
23541	return out, req.Send()
23542}
23543
23544// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
23545// the ability to pass a context and additional request options.
23546//
23547// See GetPasswordData for details on how to use this API operation.
23548//
23549// The context must be non-nil and will be used for request cancellation. If
23550// the context is nil a panic will occur. In the future the SDK may create
23551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23552// for more information on using Contexts.
23553func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
23554	req, out := c.GetPasswordDataRequest(input)
23555	req.SetContext(ctx)
23556	req.ApplyOptions(opts...)
23557	return out, req.Send()
23558}
23559
23560const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
23561
23562// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
23563// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
23564// value will be populated with the request's response once the request completes
23565// successfully.
23566//
23567// Use "Send" method on the returned Request to send the API call to the service.
23568// the "output" return value is not valid until after Send returns without error.
23569//
23570// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
23571// API call, and error handling.
23572//
23573// This method is useful when you want to inject custom logic or configuration
23574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23575//
23576//
23577//    // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
23578//    req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
23579//
23580//    err := req.Send()
23581//    if err == nil { // resp is now filled
23582//        fmt.Println(resp)
23583//    }
23584//
23585// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
23586func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
23587	op := &request.Operation{
23588		Name:       opGetReservedInstancesExchangeQuote,
23589		HTTPMethod: "POST",
23590		HTTPPath:   "/",
23591	}
23592
23593	if input == nil {
23594		input = &GetReservedInstancesExchangeQuoteInput{}
23595	}
23596
23597	output = &GetReservedInstancesExchangeQuoteOutput{}
23598	req = c.newRequest(op, input, output)
23599	return
23600}
23601
23602// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
23603//
23604// Returns a quote and exchange information for exchanging one or more specified
23605// Convertible Reserved Instances for a new Convertible Reserved Instance. If
23606// the exchange cannot be performed, the reason is returned in the response.
23607// Use AcceptReservedInstancesExchangeQuote to perform the exchange.
23608//
23609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23610// with awserr.Error's Code and Message methods to get detailed information about
23611// the error.
23612//
23613// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23614// API operation GetReservedInstancesExchangeQuote for usage and error information.
23615// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
23616func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
23617	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
23618	return out, req.Send()
23619}
23620
23621// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
23622// the ability to pass a context and additional request options.
23623//
23624// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
23625//
23626// The context must be non-nil and will be used for request cancellation. If
23627// the context is nil a panic will occur. In the future the SDK may create
23628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23629// for more information on using Contexts.
23630func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
23631	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
23632	req.SetContext(ctx)
23633	req.ApplyOptions(opts...)
23634	return out, req.Send()
23635}
23636
23637const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
23638
23639// GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
23640// client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
23641// value will be populated with the request's response once the request completes
23642// successfully.
23643//
23644// Use "Send" method on the returned Request to send the API call to the service.
23645// the "output" return value is not valid until after Send returns without error.
23646//
23647// See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
23648// API call, and error handling.
23649//
23650// This method is useful when you want to inject custom logic or configuration
23651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23652//
23653//
23654//    // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
23655//    req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
23656//
23657//    err := req.Send()
23658//    if err == nil { // resp is now filled
23659//        fmt.Println(resp)
23660//    }
23661//
23662// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
23663func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
23664	op := &request.Operation{
23665		Name:       opGetTransitGatewayAttachmentPropagations,
23666		HTTPMethod: "POST",
23667		HTTPPath:   "/",
23668		Paginator: &request.Paginator{
23669			InputTokens:     []string{"NextToken"},
23670			OutputTokens:    []string{"NextToken"},
23671			LimitToken:      "MaxResults",
23672			TruncationToken: "",
23673		},
23674	}
23675
23676	if input == nil {
23677		input = &GetTransitGatewayAttachmentPropagationsInput{}
23678	}
23679
23680	output = &GetTransitGatewayAttachmentPropagationsOutput{}
23681	req = c.newRequest(op, input, output)
23682	return
23683}
23684
23685// GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
23686//
23687// Lists the route tables to which the specified resource attachment propagates
23688// routes.
23689//
23690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23691// with awserr.Error's Code and Message methods to get detailed information about
23692// the error.
23693//
23694// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23695// API operation GetTransitGatewayAttachmentPropagations for usage and error information.
23696// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
23697func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
23698	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
23699	return out, req.Send()
23700}
23701
23702// GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
23703// the ability to pass a context and additional request options.
23704//
23705// See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
23706//
23707// The context must be non-nil and will be used for request cancellation. If
23708// the context is nil a panic will occur. In the future the SDK may create
23709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23710// for more information on using Contexts.
23711func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
23712	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
23713	req.SetContext(ctx)
23714	req.ApplyOptions(opts...)
23715	return out, req.Send()
23716}
23717
23718// GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation,
23719// calling the "fn" function with the response data for each page. To stop
23720// iterating, return false from the fn function.
23721//
23722// See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation.
23723//
23724// Note: This operation can generate multiple requests to a service.
23725//
23726//    // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation.
23727//    pageNum := 0
23728//    err := client.GetTransitGatewayAttachmentPropagationsPages(params,
23729//        func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool {
23730//            pageNum++
23731//            fmt.Println(page)
23732//            return pageNum <= 3
23733//        })
23734//
23735func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error {
23736	return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
23737}
23738
23739// GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except
23740// it takes a Context and allows setting request options on the pages.
23741//
23742// The context must be non-nil and will be used for request cancellation. If
23743// the context is nil a panic will occur. In the future the SDK may create
23744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23745// for more information on using Contexts.
23746func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error {
23747	p := request.Pagination{
23748		NewRequest: func() (*request.Request, error) {
23749			var inCpy *GetTransitGatewayAttachmentPropagationsInput
23750			if input != nil {
23751				tmp := *input
23752				inCpy = &tmp
23753			}
23754			req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy)
23755			req.SetContext(ctx)
23756			req.ApplyOptions(opts...)
23757			return req, nil
23758		},
23759	}
23760
23761	cont := true
23762	for p.Next() && cont {
23763		cont = fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage())
23764	}
23765	return p.Err()
23766}
23767
23768const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
23769
23770// GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
23771// client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
23772// value will be populated with the request's response once the request completes
23773// successfully.
23774//
23775// Use "Send" method on the returned Request to send the API call to the service.
23776// the "output" return value is not valid until after Send returns without error.
23777//
23778// See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
23779// API call, and error handling.
23780//
23781// This method is useful when you want to inject custom logic or configuration
23782// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23783//
23784//
23785//    // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
23786//    req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
23787//
23788//    err := req.Send()
23789//    if err == nil { // resp is now filled
23790//        fmt.Println(resp)
23791//    }
23792//
23793// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
23794func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
23795	op := &request.Operation{
23796		Name:       opGetTransitGatewayRouteTableAssociations,
23797		HTTPMethod: "POST",
23798		HTTPPath:   "/",
23799		Paginator: &request.Paginator{
23800			InputTokens:     []string{"NextToken"},
23801			OutputTokens:    []string{"NextToken"},
23802			LimitToken:      "MaxResults",
23803			TruncationToken: "",
23804		},
23805	}
23806
23807	if input == nil {
23808		input = &GetTransitGatewayRouteTableAssociationsInput{}
23809	}
23810
23811	output = &GetTransitGatewayRouteTableAssociationsOutput{}
23812	req = c.newRequest(op, input, output)
23813	return
23814}
23815
23816// GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
23817//
23818// Gets information about the associations for the specified transit gateway
23819// route table.
23820//
23821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23822// with awserr.Error's Code and Message methods to get detailed information about
23823// the error.
23824//
23825// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23826// API operation GetTransitGatewayRouteTableAssociations for usage and error information.
23827// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
23828func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
23829	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
23830	return out, req.Send()
23831}
23832
23833// GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
23834// the ability to pass a context and additional request options.
23835//
23836// See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
23837//
23838// The context must be non-nil and will be used for request cancellation. If
23839// the context is nil a panic will occur. In the future the SDK may create
23840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23841// for more information on using Contexts.
23842func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
23843	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
23844	req.SetContext(ctx)
23845	req.ApplyOptions(opts...)
23846	return out, req.Send()
23847}
23848
23849// GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation,
23850// calling the "fn" function with the response data for each page. To stop
23851// iterating, return false from the fn function.
23852//
23853// See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation.
23854//
23855// Note: This operation can generate multiple requests to a service.
23856//
23857//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation.
23858//    pageNum := 0
23859//    err := client.GetTransitGatewayRouteTableAssociationsPages(params,
23860//        func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool {
23861//            pageNum++
23862//            fmt.Println(page)
23863//            return pageNum <= 3
23864//        })
23865//
23866func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error {
23867	return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
23868}
23869
23870// GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except
23871// it takes a Context and allows setting request options on the pages.
23872//
23873// The context must be non-nil and will be used for request cancellation. If
23874// the context is nil a panic will occur. In the future the SDK may create
23875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23876// for more information on using Contexts.
23877func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error {
23878	p := request.Pagination{
23879		NewRequest: func() (*request.Request, error) {
23880			var inCpy *GetTransitGatewayRouteTableAssociationsInput
23881			if input != nil {
23882				tmp := *input
23883				inCpy = &tmp
23884			}
23885			req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy)
23886			req.SetContext(ctx)
23887			req.ApplyOptions(opts...)
23888			return req, nil
23889		},
23890	}
23891
23892	cont := true
23893	for p.Next() && cont {
23894		cont = fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage())
23895	}
23896	return p.Err()
23897}
23898
23899const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
23900
23901// GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
23902// client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
23903// value will be populated with the request's response once the request completes
23904// successfully.
23905//
23906// Use "Send" method on the returned Request to send the API call to the service.
23907// the "output" return value is not valid until after Send returns without error.
23908//
23909// See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
23910// API call, and error handling.
23911//
23912// This method is useful when you want to inject custom logic or configuration
23913// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23914//
23915//
23916//    // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
23917//    req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
23918//
23919//    err := req.Send()
23920//    if err == nil { // resp is now filled
23921//        fmt.Println(resp)
23922//    }
23923//
23924// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
23925func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
23926	op := &request.Operation{
23927		Name:       opGetTransitGatewayRouteTablePropagations,
23928		HTTPMethod: "POST",
23929		HTTPPath:   "/",
23930		Paginator: &request.Paginator{
23931			InputTokens:     []string{"NextToken"},
23932			OutputTokens:    []string{"NextToken"},
23933			LimitToken:      "MaxResults",
23934			TruncationToken: "",
23935		},
23936	}
23937
23938	if input == nil {
23939		input = &GetTransitGatewayRouteTablePropagationsInput{}
23940	}
23941
23942	output = &GetTransitGatewayRouteTablePropagationsOutput{}
23943	req = c.newRequest(op, input, output)
23944	return
23945}
23946
23947// GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
23948//
23949// Gets information about the route table propagations for the specified transit
23950// gateway route table.
23951//
23952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23953// with awserr.Error's Code and Message methods to get detailed information about
23954// the error.
23955//
23956// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23957// API operation GetTransitGatewayRouteTablePropagations for usage and error information.
23958// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
23959func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
23960	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
23961	return out, req.Send()
23962}
23963
23964// GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
23965// the ability to pass a context and additional request options.
23966//
23967// See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
23968//
23969// The context must be non-nil and will be used for request cancellation. If
23970// the context is nil a panic will occur. In the future the SDK may create
23971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23972// for more information on using Contexts.
23973func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
23974	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
23975	req.SetContext(ctx)
23976	req.ApplyOptions(opts...)
23977	return out, req.Send()
23978}
23979
23980// GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation,
23981// calling the "fn" function with the response data for each page. To stop
23982// iterating, return false from the fn function.
23983//
23984// See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation.
23985//
23986// Note: This operation can generate multiple requests to a service.
23987//
23988//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation.
23989//    pageNum := 0
23990//    err := client.GetTransitGatewayRouteTablePropagationsPages(params,
23991//        func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool {
23992//            pageNum++
23993//            fmt.Println(page)
23994//            return pageNum <= 3
23995//        })
23996//
23997func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error {
23998	return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
23999}
24000
24001// GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except
24002// it takes a Context and allows setting request options on the pages.
24003//
24004// The context must be non-nil and will be used for request cancellation. If
24005// the context is nil a panic will occur. In the future the SDK may create
24006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24007// for more information on using Contexts.
24008func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error {
24009	p := request.Pagination{
24010		NewRequest: func() (*request.Request, error) {
24011			var inCpy *GetTransitGatewayRouteTablePropagationsInput
24012			if input != nil {
24013				tmp := *input
24014				inCpy = &tmp
24015			}
24016			req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy)
24017			req.SetContext(ctx)
24018			req.ApplyOptions(opts...)
24019			return req, nil
24020		},
24021	}
24022
24023	cont := true
24024	for p.Next() && cont {
24025		cont = fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage())
24026	}
24027	return p.Err()
24028}
24029
24030const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
24031
24032// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
24033// client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
24034// value will be populated with the request's response once the request completes
24035// successfully.
24036//
24037// Use "Send" method on the returned Request to send the API call to the service.
24038// the "output" return value is not valid until after Send returns without error.
24039//
24040// See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
24041// API call, and error handling.
24042//
24043// This method is useful when you want to inject custom logic or configuration
24044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24045//
24046//
24047//    // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
24048//    req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
24049//
24050//    err := req.Send()
24051//    if err == nil { // resp is now filled
24052//        fmt.Println(resp)
24053//    }
24054//
24055// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
24056func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
24057	op := &request.Operation{
24058		Name:       opImportClientVpnClientCertificateRevocationList,
24059		HTTPMethod: "POST",
24060		HTTPPath:   "/",
24061	}
24062
24063	if input == nil {
24064		input = &ImportClientVpnClientCertificateRevocationListInput{}
24065	}
24066
24067	output = &ImportClientVpnClientCertificateRevocationListOutput{}
24068	req = c.newRequest(op, input, output)
24069	return
24070}
24071
24072// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
24073//
24074// Uploads a client certificate revocation list to the specified Client VPN
24075// endpoint. Uploading a client certificate revocation list overwrites the existing
24076// client certificate revocation list.
24077//
24078// Uploading a client certificate revocation list resets existing client connections.
24079//
24080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24081// with awserr.Error's Code and Message methods to get detailed information about
24082// the error.
24083//
24084// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24085// API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
24086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
24087func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
24088	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
24089	return out, req.Send()
24090}
24091
24092// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
24093// the ability to pass a context and additional request options.
24094//
24095// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
24096//
24097// The context must be non-nil and will be used for request cancellation. If
24098// the context is nil a panic will occur. In the future the SDK may create
24099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24100// for more information on using Contexts.
24101func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
24102	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
24103	req.SetContext(ctx)
24104	req.ApplyOptions(opts...)
24105	return out, req.Send()
24106}
24107
24108const opImportImage = "ImportImage"
24109
24110// ImportImageRequest generates a "aws/request.Request" representing the
24111// client's request for the ImportImage operation. The "output" return
24112// value will be populated with the request's response once the request completes
24113// successfully.
24114//
24115// Use "Send" method on the returned Request to send the API call to the service.
24116// the "output" return value is not valid until after Send returns without error.
24117//
24118// See ImportImage for more information on using the ImportImage
24119// API call, and error handling.
24120//
24121// This method is useful when you want to inject custom logic or configuration
24122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24123//
24124//
24125//    // Example sending a request using the ImportImageRequest method.
24126//    req, resp := client.ImportImageRequest(params)
24127//
24128//    err := req.Send()
24129//    if err == nil { // resp is now filled
24130//        fmt.Println(resp)
24131//    }
24132//
24133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
24134func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
24135	op := &request.Operation{
24136		Name:       opImportImage,
24137		HTTPMethod: "POST",
24138		HTTPPath:   "/",
24139	}
24140
24141	if input == nil {
24142		input = &ImportImageInput{}
24143	}
24144
24145	output = &ImportImageOutput{}
24146	req = c.newRequest(op, input, output)
24147	return
24148}
24149
24150// ImportImage API operation for Amazon Elastic Compute Cloud.
24151//
24152// Import single or multi-volume disk images or EBS snapshots into an Amazon
24153// Machine Image (AMI). For more information, see Importing a VM as an Image
24154// Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
24155// in the VM Import/Export User Guide.
24156//
24157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24158// with awserr.Error's Code and Message methods to get detailed information about
24159// the error.
24160//
24161// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24162// API operation ImportImage for usage and error information.
24163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
24164func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
24165	req, out := c.ImportImageRequest(input)
24166	return out, req.Send()
24167}
24168
24169// ImportImageWithContext is the same as ImportImage with the addition of
24170// the ability to pass a context and additional request options.
24171//
24172// See ImportImage for details on how to use this API operation.
24173//
24174// The context must be non-nil and will be used for request cancellation. If
24175// the context is nil a panic will occur. In the future the SDK may create
24176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24177// for more information on using Contexts.
24178func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
24179	req, out := c.ImportImageRequest(input)
24180	req.SetContext(ctx)
24181	req.ApplyOptions(opts...)
24182	return out, req.Send()
24183}
24184
24185const opImportInstance = "ImportInstance"
24186
24187// ImportInstanceRequest generates a "aws/request.Request" representing the
24188// client's request for the ImportInstance operation. The "output" return
24189// value will be populated with the request's response once the request completes
24190// successfully.
24191//
24192// Use "Send" method on the returned Request to send the API call to the service.
24193// the "output" return value is not valid until after Send returns without error.
24194//
24195// See ImportInstance for more information on using the ImportInstance
24196// API call, and error handling.
24197//
24198// This method is useful when you want to inject custom logic or configuration
24199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24200//
24201//
24202//    // Example sending a request using the ImportInstanceRequest method.
24203//    req, resp := client.ImportInstanceRequest(params)
24204//
24205//    err := req.Send()
24206//    if err == nil { // resp is now filled
24207//        fmt.Println(resp)
24208//    }
24209//
24210// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
24211func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
24212	op := &request.Operation{
24213		Name:       opImportInstance,
24214		HTTPMethod: "POST",
24215		HTTPPath:   "/",
24216	}
24217
24218	if input == nil {
24219		input = &ImportInstanceInput{}
24220	}
24221
24222	output = &ImportInstanceOutput{}
24223	req = c.newRequest(op, input, output)
24224	return
24225}
24226
24227// ImportInstance API operation for Amazon Elastic Compute Cloud.
24228//
24229// Creates an import instance task using metadata from the specified disk image.
24230// ImportInstance only supports single-volume VMs. To import multi-volume VMs,
24231// use ImportImage. For more information, see Importing a Virtual Machine Using
24232// the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
24233//
24234// For information about the import manifest referenced by this API action,
24235// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
24236//
24237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24238// with awserr.Error's Code and Message methods to get detailed information about
24239// the error.
24240//
24241// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24242// API operation ImportInstance for usage and error information.
24243// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
24244func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
24245	req, out := c.ImportInstanceRequest(input)
24246	return out, req.Send()
24247}
24248
24249// ImportInstanceWithContext is the same as ImportInstance with the addition of
24250// the ability to pass a context and additional request options.
24251//
24252// See ImportInstance for details on how to use this API operation.
24253//
24254// The context must be non-nil and will be used for request cancellation. If
24255// the context is nil a panic will occur. In the future the SDK may create
24256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24257// for more information on using Contexts.
24258func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
24259	req, out := c.ImportInstanceRequest(input)
24260	req.SetContext(ctx)
24261	req.ApplyOptions(opts...)
24262	return out, req.Send()
24263}
24264
24265const opImportKeyPair = "ImportKeyPair"
24266
24267// ImportKeyPairRequest generates a "aws/request.Request" representing the
24268// client's request for the ImportKeyPair operation. The "output" return
24269// value will be populated with the request's response once the request completes
24270// successfully.
24271//
24272// Use "Send" method on the returned Request to send the API call to the service.
24273// the "output" return value is not valid until after Send returns without error.
24274//
24275// See ImportKeyPair for more information on using the ImportKeyPair
24276// API call, and error handling.
24277//
24278// This method is useful when you want to inject custom logic or configuration
24279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24280//
24281//
24282//    // Example sending a request using the ImportKeyPairRequest method.
24283//    req, resp := client.ImportKeyPairRequest(params)
24284//
24285//    err := req.Send()
24286//    if err == nil { // resp is now filled
24287//        fmt.Println(resp)
24288//    }
24289//
24290// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
24291func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
24292	op := &request.Operation{
24293		Name:       opImportKeyPair,
24294		HTTPMethod: "POST",
24295		HTTPPath:   "/",
24296	}
24297
24298	if input == nil {
24299		input = &ImportKeyPairInput{}
24300	}
24301
24302	output = &ImportKeyPairOutput{}
24303	req = c.newRequest(op, input, output)
24304	return
24305}
24306
24307// ImportKeyPair API operation for Amazon Elastic Compute Cloud.
24308//
24309// Imports the public key from an RSA key pair that you created with a third-party
24310// tool. Compare this with CreateKeyPair, in which AWS creates the key pair
24311// and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
24312// you create the key pair and give AWS just the public key. The private key
24313// is never transferred between you and AWS.
24314//
24315// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
24316// in the Amazon Elastic Compute Cloud User Guide.
24317//
24318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24319// with awserr.Error's Code and Message methods to get detailed information about
24320// the error.
24321//
24322// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24323// API operation ImportKeyPair for usage and error information.
24324// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
24325func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
24326	req, out := c.ImportKeyPairRequest(input)
24327	return out, req.Send()
24328}
24329
24330// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
24331// the ability to pass a context and additional request options.
24332//
24333// See ImportKeyPair for details on how to use this API operation.
24334//
24335// The context must be non-nil and will be used for request cancellation. If
24336// the context is nil a panic will occur. In the future the SDK may create
24337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24338// for more information on using Contexts.
24339func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
24340	req, out := c.ImportKeyPairRequest(input)
24341	req.SetContext(ctx)
24342	req.ApplyOptions(opts...)
24343	return out, req.Send()
24344}
24345
24346const opImportSnapshot = "ImportSnapshot"
24347
24348// ImportSnapshotRequest generates a "aws/request.Request" representing the
24349// client's request for the ImportSnapshot operation. The "output" return
24350// value will be populated with the request's response once the request completes
24351// successfully.
24352//
24353// Use "Send" method on the returned Request to send the API call to the service.
24354// the "output" return value is not valid until after Send returns without error.
24355//
24356// See ImportSnapshot for more information on using the ImportSnapshot
24357// API call, and error handling.
24358//
24359// This method is useful when you want to inject custom logic or configuration
24360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24361//
24362//
24363//    // Example sending a request using the ImportSnapshotRequest method.
24364//    req, resp := client.ImportSnapshotRequest(params)
24365//
24366//    err := req.Send()
24367//    if err == nil { // resp is now filled
24368//        fmt.Println(resp)
24369//    }
24370//
24371// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
24372func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
24373	op := &request.Operation{
24374		Name:       opImportSnapshot,
24375		HTTPMethod: "POST",
24376		HTTPPath:   "/",
24377	}
24378
24379	if input == nil {
24380		input = &ImportSnapshotInput{}
24381	}
24382
24383	output = &ImportSnapshotOutput{}
24384	req = c.newRequest(op, input, output)
24385	return
24386}
24387
24388// ImportSnapshot API operation for Amazon Elastic Compute Cloud.
24389//
24390// Imports a disk into an EBS snapshot.
24391//
24392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24393// with awserr.Error's Code and Message methods to get detailed information about
24394// the error.
24395//
24396// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24397// API operation ImportSnapshot for usage and error information.
24398// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
24399func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
24400	req, out := c.ImportSnapshotRequest(input)
24401	return out, req.Send()
24402}
24403
24404// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
24405// the ability to pass a context and additional request options.
24406//
24407// See ImportSnapshot for details on how to use this API operation.
24408//
24409// The context must be non-nil and will be used for request cancellation. If
24410// the context is nil a panic will occur. In the future the SDK may create
24411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24412// for more information on using Contexts.
24413func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
24414	req, out := c.ImportSnapshotRequest(input)
24415	req.SetContext(ctx)
24416	req.ApplyOptions(opts...)
24417	return out, req.Send()
24418}
24419
24420const opImportVolume = "ImportVolume"
24421
24422// ImportVolumeRequest generates a "aws/request.Request" representing the
24423// client's request for the ImportVolume operation. The "output" return
24424// value will be populated with the request's response once the request completes
24425// successfully.
24426//
24427// Use "Send" method on the returned Request to send the API call to the service.
24428// the "output" return value is not valid until after Send returns without error.
24429//
24430// See ImportVolume for more information on using the ImportVolume
24431// API call, and error handling.
24432//
24433// This method is useful when you want to inject custom logic or configuration
24434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24435//
24436//
24437//    // Example sending a request using the ImportVolumeRequest method.
24438//    req, resp := client.ImportVolumeRequest(params)
24439//
24440//    err := req.Send()
24441//    if err == nil { // resp is now filled
24442//        fmt.Println(resp)
24443//    }
24444//
24445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
24446func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
24447	op := &request.Operation{
24448		Name:       opImportVolume,
24449		HTTPMethod: "POST",
24450		HTTPPath:   "/",
24451	}
24452
24453	if input == nil {
24454		input = &ImportVolumeInput{}
24455	}
24456
24457	output = &ImportVolumeOutput{}
24458	req = c.newRequest(op, input, output)
24459	return
24460}
24461
24462// ImportVolume API operation for Amazon Elastic Compute Cloud.
24463//
24464// Creates an import volume task using metadata from the specified disk image.For
24465// more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
24466//
24467// For information about the import manifest referenced by this API action,
24468// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
24469//
24470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24471// with awserr.Error's Code and Message methods to get detailed information about
24472// the error.
24473//
24474// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24475// API operation ImportVolume for usage and error information.
24476// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
24477func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
24478	req, out := c.ImportVolumeRequest(input)
24479	return out, req.Send()
24480}
24481
24482// ImportVolumeWithContext is the same as ImportVolume with the addition of
24483// the ability to pass a context and additional request options.
24484//
24485// See ImportVolume for details on how to use this API operation.
24486//
24487// The context must be non-nil and will be used for request cancellation. If
24488// the context is nil a panic will occur. In the future the SDK may create
24489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24490// for more information on using Contexts.
24491func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
24492	req, out := c.ImportVolumeRequest(input)
24493	req.SetContext(ctx)
24494	req.ApplyOptions(opts...)
24495	return out, req.Send()
24496}
24497
24498const opModifyCapacityReservation = "ModifyCapacityReservation"
24499
24500// ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
24501// client's request for the ModifyCapacityReservation operation. The "output" return
24502// value will be populated with the request's response once the request completes
24503// successfully.
24504//
24505// Use "Send" method on the returned Request to send the API call to the service.
24506// the "output" return value is not valid until after Send returns without error.
24507//
24508// See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
24509// API call, and error handling.
24510//
24511// This method is useful when you want to inject custom logic or configuration
24512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24513//
24514//
24515//    // Example sending a request using the ModifyCapacityReservationRequest method.
24516//    req, resp := client.ModifyCapacityReservationRequest(params)
24517//
24518//    err := req.Send()
24519//    if err == nil { // resp is now filled
24520//        fmt.Println(resp)
24521//    }
24522//
24523// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
24524func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
24525	op := &request.Operation{
24526		Name:       opModifyCapacityReservation,
24527		HTTPMethod: "POST",
24528		HTTPPath:   "/",
24529	}
24530
24531	if input == nil {
24532		input = &ModifyCapacityReservationInput{}
24533	}
24534
24535	output = &ModifyCapacityReservationOutput{}
24536	req = c.newRequest(op, input, output)
24537	return
24538}
24539
24540// ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
24541//
24542// Modifies a Capacity Reservation's capacity and the conditions under which
24543// it is to be released. You cannot change a Capacity Reservation's instance
24544// type, EBS optimization, instance store settings, platform, Availability Zone,
24545// or instance eligibility. If you need to modify any of these attributes, we
24546// recommend that you cancel the Capacity Reservation, and then create a new
24547// one with the required attributes.
24548//
24549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24550// with awserr.Error's Code and Message methods to get detailed information about
24551// the error.
24552//
24553// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24554// API operation ModifyCapacityReservation for usage and error information.
24555// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
24556func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
24557	req, out := c.ModifyCapacityReservationRequest(input)
24558	return out, req.Send()
24559}
24560
24561// ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
24562// the ability to pass a context and additional request options.
24563//
24564// See ModifyCapacityReservation for details on how to use this API operation.
24565//
24566// The context must be non-nil and will be used for request cancellation. If
24567// the context is nil a panic will occur. In the future the SDK may create
24568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24569// for more information on using Contexts.
24570func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
24571	req, out := c.ModifyCapacityReservationRequest(input)
24572	req.SetContext(ctx)
24573	req.ApplyOptions(opts...)
24574	return out, req.Send()
24575}
24576
24577const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
24578
24579// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
24580// client's request for the ModifyClientVpnEndpoint operation. The "output" return
24581// value will be populated with the request's response once the request completes
24582// successfully.
24583//
24584// Use "Send" method on the returned Request to send the API call to the service.
24585// the "output" return value is not valid until after Send returns without error.
24586//
24587// See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
24588// API call, and error handling.
24589//
24590// This method is useful when you want to inject custom logic or configuration
24591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24592//
24593//
24594//    // Example sending a request using the ModifyClientVpnEndpointRequest method.
24595//    req, resp := client.ModifyClientVpnEndpointRequest(params)
24596//
24597//    err := req.Send()
24598//    if err == nil { // resp is now filled
24599//        fmt.Println(resp)
24600//    }
24601//
24602// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
24603func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
24604	op := &request.Operation{
24605		Name:       opModifyClientVpnEndpoint,
24606		HTTPMethod: "POST",
24607		HTTPPath:   "/",
24608	}
24609
24610	if input == nil {
24611		input = &ModifyClientVpnEndpointInput{}
24612	}
24613
24614	output = &ModifyClientVpnEndpointOutput{}
24615	req = c.newRequest(op, input, output)
24616	return
24617}
24618
24619// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
24620//
24621// Modifies the specified Client VPN endpoint. You can only modify an endpoint's
24622// server certificate information, client connection logging information, DNS
24623// server, and description. Modifying the DNS server resets existing client
24624// connections.
24625//
24626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24627// with awserr.Error's Code and Message methods to get detailed information about
24628// the error.
24629//
24630// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24631// API operation ModifyClientVpnEndpoint for usage and error information.
24632// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
24633func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
24634	req, out := c.ModifyClientVpnEndpointRequest(input)
24635	return out, req.Send()
24636}
24637
24638// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
24639// the ability to pass a context and additional request options.
24640//
24641// See ModifyClientVpnEndpoint for details on how to use this API operation.
24642//
24643// The context must be non-nil and will be used for request cancellation. If
24644// the context is nil a panic will occur. In the future the SDK may create
24645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24646// for more information on using Contexts.
24647func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
24648	req, out := c.ModifyClientVpnEndpointRequest(input)
24649	req.SetContext(ctx)
24650	req.ApplyOptions(opts...)
24651	return out, req.Send()
24652}
24653
24654const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
24655
24656// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
24657// client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return
24658// value will be populated with the request's response once the request completes
24659// successfully.
24660//
24661// Use "Send" method on the returned Request to send the API call to the service.
24662// the "output" return value is not valid until after Send returns without error.
24663//
24664// See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId
24665// API call, and error handling.
24666//
24667// This method is useful when you want to inject custom logic or configuration
24668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24669//
24670//
24671//    // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method.
24672//    req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params)
24673//
24674//    err := req.Send()
24675//    if err == nil { // resp is now filled
24676//        fmt.Println(resp)
24677//    }
24678//
24679// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
24680func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) {
24681	op := &request.Operation{
24682		Name:       opModifyEbsDefaultKmsKeyId,
24683		HTTPMethod: "POST",
24684		HTTPPath:   "/",
24685	}
24686
24687	if input == nil {
24688		input = &ModifyEbsDefaultKmsKeyIdInput{}
24689	}
24690
24691	output = &ModifyEbsDefaultKmsKeyIdOutput{}
24692	req = c.newRequest(op, input, output)
24693	return
24694}
24695
24696// ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
24697//
24698// Changes the default customer master key (CMK) that your account uses to encrypt
24699// EBS volumes if you don’t specify a CMK in the API call.
24700//
24701// Your account has an AWS-managed default CMK that is used for encrypting an
24702// EBS volume when no CMK is specified in the API call that creates the volume.
24703// By calling this API, you can specify a customer-managed CMK to use in place
24704// of the AWS-managed default CMK.
24705//
24706// Note: Deleting or disabling the custom CMK that you have specified to act
24707// as your default CMK will result in instance-launch failures.
24708//
24709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24710// with awserr.Error's Code and Message methods to get detailed information about
24711// the error.
24712//
24713// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24714// API operation ModifyEbsDefaultKmsKeyId for usage and error information.
24715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
24716func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
24717	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
24718	return out, req.Send()
24719}
24720
24721// ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of
24722// the ability to pass a context and additional request options.
24723//
24724// See ModifyEbsDefaultKmsKeyId for details on how to use this API operation.
24725//
24726// The context must be non-nil and will be used for request cancellation. If
24727// the context is nil a panic will occur. In the future the SDK may create
24728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24729// for more information on using Contexts.
24730func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
24731	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
24732	req.SetContext(ctx)
24733	req.ApplyOptions(opts...)
24734	return out, req.Send()
24735}
24736
24737const opModifyFleet = "ModifyFleet"
24738
24739// ModifyFleetRequest generates a "aws/request.Request" representing the
24740// client's request for the ModifyFleet operation. The "output" return
24741// value will be populated with the request's response once the request completes
24742// successfully.
24743//
24744// Use "Send" method on the returned Request to send the API call to the service.
24745// the "output" return value is not valid until after Send returns without error.
24746//
24747// See ModifyFleet for more information on using the ModifyFleet
24748// API call, and error handling.
24749//
24750// This method is useful when you want to inject custom logic or configuration
24751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24752//
24753//
24754//    // Example sending a request using the ModifyFleetRequest method.
24755//    req, resp := client.ModifyFleetRequest(params)
24756//
24757//    err := req.Send()
24758//    if err == nil { // resp is now filled
24759//        fmt.Println(resp)
24760//    }
24761//
24762// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
24763func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
24764	op := &request.Operation{
24765		Name:       opModifyFleet,
24766		HTTPMethod: "POST",
24767		HTTPPath:   "/",
24768	}
24769
24770	if input == nil {
24771		input = &ModifyFleetInput{}
24772	}
24773
24774	output = &ModifyFleetOutput{}
24775	req = c.newRequest(op, input, output)
24776	return
24777}
24778
24779// ModifyFleet API operation for Amazon Elastic Compute Cloud.
24780//
24781// Modifies the specified EC2 Fleet.
24782//
24783// While the EC2 Fleet is being modified, it is in the modifying state.
24784//
24785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24786// with awserr.Error's Code and Message methods to get detailed information about
24787// the error.
24788//
24789// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24790// API operation ModifyFleet for usage and error information.
24791// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
24792func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
24793	req, out := c.ModifyFleetRequest(input)
24794	return out, req.Send()
24795}
24796
24797// ModifyFleetWithContext is the same as ModifyFleet with the addition of
24798// the ability to pass a context and additional request options.
24799//
24800// See ModifyFleet for details on how to use this API operation.
24801//
24802// The context must be non-nil and will be used for request cancellation. If
24803// the context is nil a panic will occur. In the future the SDK may create
24804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24805// for more information on using Contexts.
24806func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
24807	req, out := c.ModifyFleetRequest(input)
24808	req.SetContext(ctx)
24809	req.ApplyOptions(opts...)
24810	return out, req.Send()
24811}
24812
24813const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
24814
24815// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
24816// client's request for the ModifyFpgaImageAttribute operation. The "output" return
24817// value will be populated with the request's response once the request completes
24818// successfully.
24819//
24820// Use "Send" method on the returned Request to send the API call to the service.
24821// the "output" return value is not valid until after Send returns without error.
24822//
24823// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
24824// API call, and error handling.
24825//
24826// This method is useful when you want to inject custom logic or configuration
24827// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24828//
24829//
24830//    // Example sending a request using the ModifyFpgaImageAttributeRequest method.
24831//    req, resp := client.ModifyFpgaImageAttributeRequest(params)
24832//
24833//    err := req.Send()
24834//    if err == nil { // resp is now filled
24835//        fmt.Println(resp)
24836//    }
24837//
24838// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
24839func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
24840	op := &request.Operation{
24841		Name:       opModifyFpgaImageAttribute,
24842		HTTPMethod: "POST",
24843		HTTPPath:   "/",
24844	}
24845
24846	if input == nil {
24847		input = &ModifyFpgaImageAttributeInput{}
24848	}
24849
24850	output = &ModifyFpgaImageAttributeOutput{}
24851	req = c.newRequest(op, input, output)
24852	return
24853}
24854
24855// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
24856//
24857// Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
24858//
24859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24860// with awserr.Error's Code and Message methods to get detailed information about
24861// the error.
24862//
24863// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24864// API operation ModifyFpgaImageAttribute for usage and error information.
24865// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
24866func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
24867	req, out := c.ModifyFpgaImageAttributeRequest(input)
24868	return out, req.Send()
24869}
24870
24871// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
24872// the ability to pass a context and additional request options.
24873//
24874// See ModifyFpgaImageAttribute for details on how to use this API operation.
24875//
24876// The context must be non-nil and will be used for request cancellation. If
24877// the context is nil a panic will occur. In the future the SDK may create
24878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24879// for more information on using Contexts.
24880func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
24881	req, out := c.ModifyFpgaImageAttributeRequest(input)
24882	req.SetContext(ctx)
24883	req.ApplyOptions(opts...)
24884	return out, req.Send()
24885}
24886
24887const opModifyHosts = "ModifyHosts"
24888
24889// ModifyHostsRequest generates a "aws/request.Request" representing the
24890// client's request for the ModifyHosts operation. The "output" return
24891// value will be populated with the request's response once the request completes
24892// successfully.
24893//
24894// Use "Send" method on the returned Request to send the API call to the service.
24895// the "output" return value is not valid until after Send returns without error.
24896//
24897// See ModifyHosts for more information on using the ModifyHosts
24898// API call, and error handling.
24899//
24900// This method is useful when you want to inject custom logic or configuration
24901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24902//
24903//
24904//    // Example sending a request using the ModifyHostsRequest method.
24905//    req, resp := client.ModifyHostsRequest(params)
24906//
24907//    err := req.Send()
24908//    if err == nil { // resp is now filled
24909//        fmt.Println(resp)
24910//    }
24911//
24912// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
24913func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
24914	op := &request.Operation{
24915		Name:       opModifyHosts,
24916		HTTPMethod: "POST",
24917		HTTPPath:   "/",
24918	}
24919
24920	if input == nil {
24921		input = &ModifyHostsInput{}
24922	}
24923
24924	output = &ModifyHostsOutput{}
24925	req = c.newRequest(op, input, output)
24926	return
24927}
24928
24929// ModifyHosts API operation for Amazon Elastic Compute Cloud.
24930//
24931// Modify the auto-placement setting of a Dedicated Host. When auto-placement
24932// is enabled, any instances that you launch with a tenancy of host but without
24933// a specific host ID are placed onto any available Dedicated Host in your account
24934// that has auto-placement enabled. When auto-placement is disabled, you need
24935// to provide a host ID to have the instance launch onto a specific host. If
24936// no host ID is provided, the instance is launched onto a suitable host with
24937// auto-placement enabled.
24938//
24939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24940// with awserr.Error's Code and Message methods to get detailed information about
24941// the error.
24942//
24943// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24944// API operation ModifyHosts for usage and error information.
24945// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
24946func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
24947	req, out := c.ModifyHostsRequest(input)
24948	return out, req.Send()
24949}
24950
24951// ModifyHostsWithContext is the same as ModifyHosts with the addition of
24952// the ability to pass a context and additional request options.
24953//
24954// See ModifyHosts for details on how to use this API operation.
24955//
24956// The context must be non-nil and will be used for request cancellation. If
24957// the context is nil a panic will occur. In the future the SDK may create
24958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24959// for more information on using Contexts.
24960func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
24961	req, out := c.ModifyHostsRequest(input)
24962	req.SetContext(ctx)
24963	req.ApplyOptions(opts...)
24964	return out, req.Send()
24965}
24966
24967const opModifyIdFormat = "ModifyIdFormat"
24968
24969// ModifyIdFormatRequest generates a "aws/request.Request" representing the
24970// client's request for the ModifyIdFormat operation. The "output" return
24971// value will be populated with the request's response once the request completes
24972// successfully.
24973//
24974// Use "Send" method on the returned Request to send the API call to the service.
24975// the "output" return value is not valid until after Send returns without error.
24976//
24977// See ModifyIdFormat for more information on using the ModifyIdFormat
24978// API call, and error handling.
24979//
24980// This method is useful when you want to inject custom logic or configuration
24981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24982//
24983//
24984//    // Example sending a request using the ModifyIdFormatRequest method.
24985//    req, resp := client.ModifyIdFormatRequest(params)
24986//
24987//    err := req.Send()
24988//    if err == nil { // resp is now filled
24989//        fmt.Println(resp)
24990//    }
24991//
24992// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
24993func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
24994	op := &request.Operation{
24995		Name:       opModifyIdFormat,
24996		HTTPMethod: "POST",
24997		HTTPPath:   "/",
24998	}
24999
25000	if input == nil {
25001		input = &ModifyIdFormatInput{}
25002	}
25003
25004	output = &ModifyIdFormatOutput{}
25005	req = c.newRequest(op, input, output)
25006	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25007	return
25008}
25009
25010// ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
25011//
25012// Modifies the ID format for the specified resource on a per-Region basis.
25013// You can specify that resources should receive longer IDs (17-character IDs)
25014// when they are created.
25015//
25016// This request can only be used to modify longer ID settings for resource types
25017// that are within the opt-in period. Resources currently in their opt-in period
25018// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
25019// | elastic-ip-association | export-task | flow-log | image | import-task |
25020// internet-gateway | network-acl | network-acl-association | network-interface
25021// | network-interface-attachment | prefix-list | route-table | route-table-association
25022// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
25023// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
25024//
25025// This setting applies to the IAM user who makes the request; it does not apply
25026// to the entire AWS account. By default, an IAM user defaults to the same settings
25027// as the root user. If you're using this action as the root user, then these
25028// settings apply to the entire account, unless an IAM user explicitly overrides
25029// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
25030// in the Amazon Elastic Compute Cloud User Guide.
25031//
25032// Resources created with longer IDs are visible to all IAM roles and users,
25033// regardless of these settings and provided that they have permission to use
25034// the relevant Describe command for the resource type.
25035//
25036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25037// with awserr.Error's Code and Message methods to get detailed information about
25038// the error.
25039//
25040// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25041// API operation ModifyIdFormat for usage and error information.
25042// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
25043func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
25044	req, out := c.ModifyIdFormatRequest(input)
25045	return out, req.Send()
25046}
25047
25048// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
25049// the ability to pass a context and additional request options.
25050//
25051// See ModifyIdFormat for details on how to use this API operation.
25052//
25053// The context must be non-nil and will be used for request cancellation. If
25054// the context is nil a panic will occur. In the future the SDK may create
25055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25056// for more information on using Contexts.
25057func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
25058	req, out := c.ModifyIdFormatRequest(input)
25059	req.SetContext(ctx)
25060	req.ApplyOptions(opts...)
25061	return out, req.Send()
25062}
25063
25064const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
25065
25066// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
25067// client's request for the ModifyIdentityIdFormat operation. The "output" return
25068// value will be populated with the request's response once the request completes
25069// successfully.
25070//
25071// Use "Send" method on the returned Request to send the API call to the service.
25072// the "output" return value is not valid until after Send returns without error.
25073//
25074// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
25075// API call, and error handling.
25076//
25077// This method is useful when you want to inject custom logic or configuration
25078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25079//
25080//
25081//    // Example sending a request using the ModifyIdentityIdFormatRequest method.
25082//    req, resp := client.ModifyIdentityIdFormatRequest(params)
25083//
25084//    err := req.Send()
25085//    if err == nil { // resp is now filled
25086//        fmt.Println(resp)
25087//    }
25088//
25089// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
25090func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
25091	op := &request.Operation{
25092		Name:       opModifyIdentityIdFormat,
25093		HTTPMethod: "POST",
25094		HTTPPath:   "/",
25095	}
25096
25097	if input == nil {
25098		input = &ModifyIdentityIdFormatInput{}
25099	}
25100
25101	output = &ModifyIdentityIdFormatOutput{}
25102	req = c.newRequest(op, input, output)
25103	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25104	return
25105}
25106
25107// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
25108//
25109// Modifies the ID format of a resource for a specified IAM user, IAM role,
25110// or the root user for an account; or all IAM users, IAM roles, and the root
25111// user for an account. You can specify that resources should receive longer
25112// IDs (17-character IDs) when they are created.
25113//
25114// This request can only be used to modify longer ID settings for resource types
25115// that are within the opt-in period. Resources currently in their opt-in period
25116// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
25117// | elastic-ip-association | export-task | flow-log | image | import-task |
25118// internet-gateway | network-acl | network-acl-association | network-interface
25119// | network-interface-attachment | prefix-list | route-table | route-table-association
25120// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
25121// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
25122//
25123// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
25124// in the Amazon Elastic Compute Cloud User Guide.
25125//
25126// This setting applies to the principal specified in the request; it does not
25127// apply to the principal that makes the request.
25128//
25129// Resources created with longer IDs are visible to all IAM roles and users,
25130// regardless of these settings and provided that they have permission to use
25131// the relevant Describe command for the resource type.
25132//
25133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25134// with awserr.Error's Code and Message methods to get detailed information about
25135// the error.
25136//
25137// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25138// API operation ModifyIdentityIdFormat for usage and error information.
25139// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
25140func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
25141	req, out := c.ModifyIdentityIdFormatRequest(input)
25142	return out, req.Send()
25143}
25144
25145// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
25146// the ability to pass a context and additional request options.
25147//
25148// See ModifyIdentityIdFormat for details on how to use this API operation.
25149//
25150// The context must be non-nil and will be used for request cancellation. If
25151// the context is nil a panic will occur. In the future the SDK may create
25152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25153// for more information on using Contexts.
25154func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
25155	req, out := c.ModifyIdentityIdFormatRequest(input)
25156	req.SetContext(ctx)
25157	req.ApplyOptions(opts...)
25158	return out, req.Send()
25159}
25160
25161const opModifyImageAttribute = "ModifyImageAttribute"
25162
25163// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
25164// client's request for the ModifyImageAttribute operation. The "output" return
25165// value will be populated with the request's response once the request completes
25166// successfully.
25167//
25168// Use "Send" method on the returned Request to send the API call to the service.
25169// the "output" return value is not valid until after Send returns without error.
25170//
25171// See ModifyImageAttribute for more information on using the ModifyImageAttribute
25172// API call, and error handling.
25173//
25174// This method is useful when you want to inject custom logic or configuration
25175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25176//
25177//
25178//    // Example sending a request using the ModifyImageAttributeRequest method.
25179//    req, resp := client.ModifyImageAttributeRequest(params)
25180//
25181//    err := req.Send()
25182//    if err == nil { // resp is now filled
25183//        fmt.Println(resp)
25184//    }
25185//
25186// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
25187func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
25188	op := &request.Operation{
25189		Name:       opModifyImageAttribute,
25190		HTTPMethod: "POST",
25191		HTTPPath:   "/",
25192	}
25193
25194	if input == nil {
25195		input = &ModifyImageAttributeInput{}
25196	}
25197
25198	output = &ModifyImageAttributeOutput{}
25199	req = c.newRequest(op, input, output)
25200	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25201	return
25202}
25203
25204// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
25205//
25206// Modifies the specified attribute of the specified AMI. You can specify only
25207// one attribute at a time. You can use the Attribute parameter to specify the
25208// attribute or one of the following parameters: Description, LaunchPermission,
25209// or ProductCode.
25210//
25211// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
25212// product code cannot be made public.
25213//
25214// To enable the SriovNetSupport enhanced networking attribute of an image,
25215// enable SriovNetSupport on an instance and create an AMI from the instance.
25216//
25217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25218// with awserr.Error's Code and Message methods to get detailed information about
25219// the error.
25220//
25221// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25222// API operation ModifyImageAttribute for usage and error information.
25223// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
25224func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
25225	req, out := c.ModifyImageAttributeRequest(input)
25226	return out, req.Send()
25227}
25228
25229// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
25230// the ability to pass a context and additional request options.
25231//
25232// See ModifyImageAttribute for details on how to use this API operation.
25233//
25234// The context must be non-nil and will be used for request cancellation. If
25235// the context is nil a panic will occur. In the future the SDK may create
25236// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25237// for more information on using Contexts.
25238func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
25239	req, out := c.ModifyImageAttributeRequest(input)
25240	req.SetContext(ctx)
25241	req.ApplyOptions(opts...)
25242	return out, req.Send()
25243}
25244
25245const opModifyInstanceAttribute = "ModifyInstanceAttribute"
25246
25247// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
25248// client's request for the ModifyInstanceAttribute operation. The "output" return
25249// value will be populated with the request's response once the request completes
25250// successfully.
25251//
25252// Use "Send" method on the returned Request to send the API call to the service.
25253// the "output" return value is not valid until after Send returns without error.
25254//
25255// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
25256// API call, and error handling.
25257//
25258// This method is useful when you want to inject custom logic or configuration
25259// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25260//
25261//
25262//    // Example sending a request using the ModifyInstanceAttributeRequest method.
25263//    req, resp := client.ModifyInstanceAttributeRequest(params)
25264//
25265//    err := req.Send()
25266//    if err == nil { // resp is now filled
25267//        fmt.Println(resp)
25268//    }
25269//
25270// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
25271func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
25272	op := &request.Operation{
25273		Name:       opModifyInstanceAttribute,
25274		HTTPMethod: "POST",
25275		HTTPPath:   "/",
25276	}
25277
25278	if input == nil {
25279		input = &ModifyInstanceAttributeInput{}
25280	}
25281
25282	output = &ModifyInstanceAttributeOutput{}
25283	req = c.newRequest(op, input, output)
25284	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25285	return
25286}
25287
25288// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
25289//
25290// Modifies the specified attribute of the specified instance. You can specify
25291// only one attribute at a time.
25292//
25293// Note: Using this action to change the security groups associated with an
25294// elastic network interface (ENI) attached to an instance in a VPC can result
25295// in an error if the instance has more than one ENI. To change the security
25296// groups associated with an ENI attached to an instance that has multiple ENIs,
25297// we recommend that you use the ModifyNetworkInterfaceAttribute action.
25298//
25299// To modify some attributes, the instance must be stopped. For more information,
25300// see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
25301// in the Amazon Elastic Compute Cloud User Guide.
25302//
25303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25304// with awserr.Error's Code and Message methods to get detailed information about
25305// the error.
25306//
25307// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25308// API operation ModifyInstanceAttribute for usage and error information.
25309// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
25310func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
25311	req, out := c.ModifyInstanceAttributeRequest(input)
25312	return out, req.Send()
25313}
25314
25315// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
25316// the ability to pass a context and additional request options.
25317//
25318// See ModifyInstanceAttribute for details on how to use this API operation.
25319//
25320// The context must be non-nil and will be used for request cancellation. If
25321// the context is nil a panic will occur. In the future the SDK may create
25322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25323// for more information on using Contexts.
25324func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
25325	req, out := c.ModifyInstanceAttributeRequest(input)
25326	req.SetContext(ctx)
25327	req.ApplyOptions(opts...)
25328	return out, req.Send()
25329}
25330
25331const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
25332
25333// ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
25334// client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
25335// value will be populated with the request's response once the request completes
25336// successfully.
25337//
25338// Use "Send" method on the returned Request to send the API call to the service.
25339// the "output" return value is not valid until after Send returns without error.
25340//
25341// See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
25342// API call, and error handling.
25343//
25344// This method is useful when you want to inject custom logic or configuration
25345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25346//
25347//
25348//    // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
25349//    req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
25350//
25351//    err := req.Send()
25352//    if err == nil { // resp is now filled
25353//        fmt.Println(resp)
25354//    }
25355//
25356// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
25357func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
25358	op := &request.Operation{
25359		Name:       opModifyInstanceCapacityReservationAttributes,
25360		HTTPMethod: "POST",
25361		HTTPPath:   "/",
25362	}
25363
25364	if input == nil {
25365		input = &ModifyInstanceCapacityReservationAttributesInput{}
25366	}
25367
25368	output = &ModifyInstanceCapacityReservationAttributesOutput{}
25369	req = c.newRequest(op, input, output)
25370	return
25371}
25372
25373// ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
25374//
25375// Modifies the Capacity Reservation settings for a stopped instance. Use this
25376// action to configure an instance to target a specific Capacity Reservation,
25377// run in any open Capacity Reservation with matching attributes, or run On-Demand
25378// Instance capacity.
25379//
25380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25381// with awserr.Error's Code and Message methods to get detailed information about
25382// the error.
25383//
25384// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25385// API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
25386// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
25387func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
25388	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
25389	return out, req.Send()
25390}
25391
25392// ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
25393// the ability to pass a context and additional request options.
25394//
25395// See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
25396//
25397// The context must be non-nil and will be used for request cancellation. If
25398// the context is nil a panic will occur. In the future the SDK may create
25399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25400// for more information on using Contexts.
25401func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
25402	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
25403	req.SetContext(ctx)
25404	req.ApplyOptions(opts...)
25405	return out, req.Send()
25406}
25407
25408const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
25409
25410// ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
25411// client's request for the ModifyInstanceCreditSpecification operation. The "output" return
25412// value will be populated with the request's response once the request completes
25413// successfully.
25414//
25415// Use "Send" method on the returned Request to send the API call to the service.
25416// the "output" return value is not valid until after Send returns without error.
25417//
25418// See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
25419// API call, and error handling.
25420//
25421// This method is useful when you want to inject custom logic or configuration
25422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25423//
25424//
25425//    // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
25426//    req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
25427//
25428//    err := req.Send()
25429//    if err == nil { // resp is now filled
25430//        fmt.Println(resp)
25431//    }
25432//
25433// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
25434func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
25435	op := &request.Operation{
25436		Name:       opModifyInstanceCreditSpecification,
25437		HTTPMethod: "POST",
25438		HTTPPath:   "/",
25439	}
25440
25441	if input == nil {
25442		input = &ModifyInstanceCreditSpecificationInput{}
25443	}
25444
25445	output = &ModifyInstanceCreditSpecificationOutput{}
25446	req = c.newRequest(op, input, output)
25447	return
25448}
25449
25450// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
25451//
25452// Modifies the credit option for CPU usage on a running or stopped T2 or T3
25453// instance. The credit options are standard and unlimited.
25454//
25455// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
25456// in the Amazon Elastic Compute Cloud User Guide.
25457//
25458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25459// with awserr.Error's Code and Message methods to get detailed information about
25460// the error.
25461//
25462// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25463// API operation ModifyInstanceCreditSpecification for usage and error information.
25464// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
25465func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
25466	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
25467	return out, req.Send()
25468}
25469
25470// ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
25471// the ability to pass a context and additional request options.
25472//
25473// See ModifyInstanceCreditSpecification for details on how to use this API operation.
25474//
25475// The context must be non-nil and will be used for request cancellation. If
25476// the context is nil a panic will occur. In the future the SDK may create
25477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25478// for more information on using Contexts.
25479func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
25480	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
25481	req.SetContext(ctx)
25482	req.ApplyOptions(opts...)
25483	return out, req.Send()
25484}
25485
25486const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
25487
25488// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
25489// client's request for the ModifyInstanceEventStartTime operation. The "output" return
25490// value will be populated with the request's response once the request completes
25491// successfully.
25492//
25493// Use "Send" method on the returned Request to send the API call to the service.
25494// the "output" return value is not valid until after Send returns without error.
25495//
25496// See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
25497// API call, and error handling.
25498//
25499// This method is useful when you want to inject custom logic or configuration
25500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25501//
25502//
25503//    // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
25504//    req, resp := client.ModifyInstanceEventStartTimeRequest(params)
25505//
25506//    err := req.Send()
25507//    if err == nil { // resp is now filled
25508//        fmt.Println(resp)
25509//    }
25510//
25511// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
25512func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
25513	op := &request.Operation{
25514		Name:       opModifyInstanceEventStartTime,
25515		HTTPMethod: "POST",
25516		HTTPPath:   "/",
25517	}
25518
25519	if input == nil {
25520		input = &ModifyInstanceEventStartTimeInput{}
25521	}
25522
25523	output = &ModifyInstanceEventStartTimeOutput{}
25524	req = c.newRequest(op, input, output)
25525	return
25526}
25527
25528// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
25529//
25530// Modifies the start time for a scheduled Amazon EC2 instance event.
25531//
25532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25533// with awserr.Error's Code and Message methods to get detailed information about
25534// the error.
25535//
25536// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25537// API operation ModifyInstanceEventStartTime for usage and error information.
25538// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
25539func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
25540	req, out := c.ModifyInstanceEventStartTimeRequest(input)
25541	return out, req.Send()
25542}
25543
25544// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
25545// the ability to pass a context and additional request options.
25546//
25547// See ModifyInstanceEventStartTime for details on how to use this API operation.
25548//
25549// The context must be non-nil and will be used for request cancellation. If
25550// the context is nil a panic will occur. In the future the SDK may create
25551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25552// for more information on using Contexts.
25553func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
25554	req, out := c.ModifyInstanceEventStartTimeRequest(input)
25555	req.SetContext(ctx)
25556	req.ApplyOptions(opts...)
25557	return out, req.Send()
25558}
25559
25560const opModifyInstancePlacement = "ModifyInstancePlacement"
25561
25562// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
25563// client's request for the ModifyInstancePlacement operation. The "output" return
25564// value will be populated with the request's response once the request completes
25565// successfully.
25566//
25567// Use "Send" method on the returned Request to send the API call to the service.
25568// the "output" return value is not valid until after Send returns without error.
25569//
25570// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
25571// API call, and error handling.
25572//
25573// This method is useful when you want to inject custom logic or configuration
25574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25575//
25576//
25577//    // Example sending a request using the ModifyInstancePlacementRequest method.
25578//    req, resp := client.ModifyInstancePlacementRequest(params)
25579//
25580//    err := req.Send()
25581//    if err == nil { // resp is now filled
25582//        fmt.Println(resp)
25583//    }
25584//
25585// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
25586func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
25587	op := &request.Operation{
25588		Name:       opModifyInstancePlacement,
25589		HTTPMethod: "POST",
25590		HTTPPath:   "/",
25591	}
25592
25593	if input == nil {
25594		input = &ModifyInstancePlacementInput{}
25595	}
25596
25597	output = &ModifyInstancePlacementOutput{}
25598	req = c.newRequest(op, input, output)
25599	return
25600}
25601
25602// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
25603//
25604// Modifies the placement attributes for a specified instance. You can do the
25605// following:
25606//
25607//    * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
25608//    When affinity is set to host and the instance is not associated with a
25609//    specific Dedicated Host, the next time the instance is launched, it is
25610//    automatically associated with the host on which it lands. If the instance
25611//    is restarted or rebooted, this relationship persists.
25612//
25613//    * Change the Dedicated Host with which an instance is associated.
25614//
25615//    * Change the instance tenancy of an instance from host to dedicated, or
25616//    from dedicated to host.
25617//
25618//    * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
25619//
25620// At least one attribute for affinity, host ID, tenancy, or placement group
25621// name must be specified in the request. Affinity and tenancy can be modified
25622// in the same request.
25623//
25624// To modify the host ID, tenancy, placement group, or partition for an instance,
25625// the instance must be in the stopped state.
25626//
25627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25628// with awserr.Error's Code and Message methods to get detailed information about
25629// the error.
25630//
25631// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25632// API operation ModifyInstancePlacement for usage and error information.
25633// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
25634func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
25635	req, out := c.ModifyInstancePlacementRequest(input)
25636	return out, req.Send()
25637}
25638
25639// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
25640// the ability to pass a context and additional request options.
25641//
25642// See ModifyInstancePlacement for details on how to use this API operation.
25643//
25644// The context must be non-nil and will be used for request cancellation. If
25645// the context is nil a panic will occur. In the future the SDK may create
25646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25647// for more information on using Contexts.
25648func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
25649	req, out := c.ModifyInstancePlacementRequest(input)
25650	req.SetContext(ctx)
25651	req.ApplyOptions(opts...)
25652	return out, req.Send()
25653}
25654
25655const opModifyLaunchTemplate = "ModifyLaunchTemplate"
25656
25657// ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
25658// client's request for the ModifyLaunchTemplate operation. The "output" return
25659// value will be populated with the request's response once the request completes
25660// successfully.
25661//
25662// Use "Send" method on the returned Request to send the API call to the service.
25663// the "output" return value is not valid until after Send returns without error.
25664//
25665// See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
25666// API call, and error handling.
25667//
25668// This method is useful when you want to inject custom logic or configuration
25669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25670//
25671//
25672//    // Example sending a request using the ModifyLaunchTemplateRequest method.
25673//    req, resp := client.ModifyLaunchTemplateRequest(params)
25674//
25675//    err := req.Send()
25676//    if err == nil { // resp is now filled
25677//        fmt.Println(resp)
25678//    }
25679//
25680// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
25681func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
25682	op := &request.Operation{
25683		Name:       opModifyLaunchTemplate,
25684		HTTPMethod: "POST",
25685		HTTPPath:   "/",
25686	}
25687
25688	if input == nil {
25689		input = &ModifyLaunchTemplateInput{}
25690	}
25691
25692	output = &ModifyLaunchTemplateOutput{}
25693	req = c.newRequest(op, input, output)
25694	return
25695}
25696
25697// ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
25698//
25699// Modifies a launch template. You can specify which version of the launch template
25700// to set as the default version. When launching an instance, the default version
25701// applies when a launch template version is not specified.
25702//
25703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25704// with awserr.Error's Code and Message methods to get detailed information about
25705// the error.
25706//
25707// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25708// API operation ModifyLaunchTemplate for usage and error information.
25709// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
25710func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
25711	req, out := c.ModifyLaunchTemplateRequest(input)
25712	return out, req.Send()
25713}
25714
25715// ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
25716// the ability to pass a context and additional request options.
25717//
25718// See ModifyLaunchTemplate for details on how to use this API operation.
25719//
25720// The context must be non-nil and will be used for request cancellation. If
25721// the context is nil a panic will occur. In the future the SDK may create
25722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25723// for more information on using Contexts.
25724func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
25725	req, out := c.ModifyLaunchTemplateRequest(input)
25726	req.SetContext(ctx)
25727	req.ApplyOptions(opts...)
25728	return out, req.Send()
25729}
25730
25731const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
25732
25733// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
25734// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
25735// value will be populated with the request's response once the request completes
25736// successfully.
25737//
25738// Use "Send" method on the returned Request to send the API call to the service.
25739// the "output" return value is not valid until after Send returns without error.
25740//
25741// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
25742// API call, and error handling.
25743//
25744// This method is useful when you want to inject custom logic or configuration
25745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25746//
25747//
25748//    // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
25749//    req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
25750//
25751//    err := req.Send()
25752//    if err == nil { // resp is now filled
25753//        fmt.Println(resp)
25754//    }
25755//
25756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
25757func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
25758	op := &request.Operation{
25759		Name:       opModifyNetworkInterfaceAttribute,
25760		HTTPMethod: "POST",
25761		HTTPPath:   "/",
25762	}
25763
25764	if input == nil {
25765		input = &ModifyNetworkInterfaceAttributeInput{}
25766	}
25767
25768	output = &ModifyNetworkInterfaceAttributeOutput{}
25769	req = c.newRequest(op, input, output)
25770	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25771	return
25772}
25773
25774// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
25775//
25776// Modifies the specified network interface attribute. You can specify only
25777// one attribute at a time. You can use this action to attach and detach security
25778// groups from an existing EC2 instance.
25779//
25780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25781// with awserr.Error's Code and Message methods to get detailed information about
25782// the error.
25783//
25784// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25785// API operation ModifyNetworkInterfaceAttribute for usage and error information.
25786// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
25787func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
25788	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
25789	return out, req.Send()
25790}
25791
25792// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
25793// the ability to pass a context and additional request options.
25794//
25795// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
25796//
25797// The context must be non-nil and will be used for request cancellation. If
25798// the context is nil a panic will occur. In the future the SDK may create
25799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25800// for more information on using Contexts.
25801func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
25802	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
25803	req.SetContext(ctx)
25804	req.ApplyOptions(opts...)
25805	return out, req.Send()
25806}
25807
25808const opModifyReservedInstances = "ModifyReservedInstances"
25809
25810// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
25811// client's request for the ModifyReservedInstances operation. The "output" return
25812// value will be populated with the request's response once the request completes
25813// successfully.
25814//
25815// Use "Send" method on the returned Request to send the API call to the service.
25816// the "output" return value is not valid until after Send returns without error.
25817//
25818// See ModifyReservedInstances for more information on using the ModifyReservedInstances
25819// API call, and error handling.
25820//
25821// This method is useful when you want to inject custom logic or configuration
25822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25823//
25824//
25825//    // Example sending a request using the ModifyReservedInstancesRequest method.
25826//    req, resp := client.ModifyReservedInstancesRequest(params)
25827//
25828//    err := req.Send()
25829//    if err == nil { // resp is now filled
25830//        fmt.Println(resp)
25831//    }
25832//
25833// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
25834func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
25835	op := &request.Operation{
25836		Name:       opModifyReservedInstances,
25837		HTTPMethod: "POST",
25838		HTTPPath:   "/",
25839	}
25840
25841	if input == nil {
25842		input = &ModifyReservedInstancesInput{}
25843	}
25844
25845	output = &ModifyReservedInstancesOutput{}
25846	req = c.newRequest(op, input, output)
25847	return
25848}
25849
25850// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
25851//
25852// Modifies the Availability Zone, instance count, instance type, or network
25853// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
25854// Instances to be modified must be identical, except for Availability Zone,
25855// network platform, and instance type.
25856//
25857// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
25858// in the Amazon Elastic Compute Cloud User Guide.
25859//
25860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25861// with awserr.Error's Code and Message methods to get detailed information about
25862// the error.
25863//
25864// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25865// API operation ModifyReservedInstances for usage and error information.
25866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
25867func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
25868	req, out := c.ModifyReservedInstancesRequest(input)
25869	return out, req.Send()
25870}
25871
25872// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
25873// the ability to pass a context and additional request options.
25874//
25875// See ModifyReservedInstances for details on how to use this API operation.
25876//
25877// The context must be non-nil and will be used for request cancellation. If
25878// the context is nil a panic will occur. In the future the SDK may create
25879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25880// for more information on using Contexts.
25881func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
25882	req, out := c.ModifyReservedInstancesRequest(input)
25883	req.SetContext(ctx)
25884	req.ApplyOptions(opts...)
25885	return out, req.Send()
25886}
25887
25888const opModifySnapshotAttribute = "ModifySnapshotAttribute"
25889
25890// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
25891// client's request for the ModifySnapshotAttribute operation. The "output" return
25892// value will be populated with the request's response once the request completes
25893// successfully.
25894//
25895// Use "Send" method on the returned Request to send the API call to the service.
25896// the "output" return value is not valid until after Send returns without error.
25897//
25898// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
25899// API call, and error handling.
25900//
25901// This method is useful when you want to inject custom logic or configuration
25902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25903//
25904//
25905//    // Example sending a request using the ModifySnapshotAttributeRequest method.
25906//    req, resp := client.ModifySnapshotAttributeRequest(params)
25907//
25908//    err := req.Send()
25909//    if err == nil { // resp is now filled
25910//        fmt.Println(resp)
25911//    }
25912//
25913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
25914func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
25915	op := &request.Operation{
25916		Name:       opModifySnapshotAttribute,
25917		HTTPMethod: "POST",
25918		HTTPPath:   "/",
25919	}
25920
25921	if input == nil {
25922		input = &ModifySnapshotAttributeInput{}
25923	}
25924
25925	output = &ModifySnapshotAttributeOutput{}
25926	req = c.newRequest(op, input, output)
25927	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25928	return
25929}
25930
25931// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
25932//
25933// Adds or removes permission settings for the specified snapshot. You may add
25934// or remove specified AWS account IDs from a snapshot's list of create volume
25935// permissions, but you cannot do both in a single API call. If you need to
25936// both add and remove account IDs for a snapshot, you must use multiple API
25937// calls.
25938//
25939// Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
25940// be made public. Snapshots encrypted with your default CMK cannot be shared
25941// with other accounts.
25942//
25943// For more information about modifying snapshot permissions, see Sharing Snapshots
25944// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
25945// in the Amazon Elastic Compute Cloud User Guide.
25946//
25947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25948// with awserr.Error's Code and Message methods to get detailed information about
25949// the error.
25950//
25951// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25952// API operation ModifySnapshotAttribute for usage and error information.
25953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
25954func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
25955	req, out := c.ModifySnapshotAttributeRequest(input)
25956	return out, req.Send()
25957}
25958
25959// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
25960// the ability to pass a context and additional request options.
25961//
25962// See ModifySnapshotAttribute for details on how to use this API operation.
25963//
25964// The context must be non-nil and will be used for request cancellation. If
25965// the context is nil a panic will occur. In the future the SDK may create
25966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25967// for more information on using Contexts.
25968func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
25969	req, out := c.ModifySnapshotAttributeRequest(input)
25970	req.SetContext(ctx)
25971	req.ApplyOptions(opts...)
25972	return out, req.Send()
25973}
25974
25975const opModifySpotFleetRequest = "ModifySpotFleetRequest"
25976
25977// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
25978// client's request for the ModifySpotFleetRequest operation. The "output" return
25979// value will be populated with the request's response once the request completes
25980// successfully.
25981//
25982// Use "Send" method on the returned Request to send the API call to the service.
25983// the "output" return value is not valid until after Send returns without error.
25984//
25985// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
25986// API call, and error handling.
25987//
25988// This method is useful when you want to inject custom logic or configuration
25989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25990//
25991//
25992//    // Example sending a request using the ModifySpotFleetRequestRequest method.
25993//    req, resp := client.ModifySpotFleetRequestRequest(params)
25994//
25995//    err := req.Send()
25996//    if err == nil { // resp is now filled
25997//        fmt.Println(resp)
25998//    }
25999//
26000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
26001func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
26002	op := &request.Operation{
26003		Name:       opModifySpotFleetRequest,
26004		HTTPMethod: "POST",
26005		HTTPPath:   "/",
26006	}
26007
26008	if input == nil {
26009		input = &ModifySpotFleetRequestInput{}
26010	}
26011
26012	output = &ModifySpotFleetRequestOutput{}
26013	req = c.newRequest(op, input, output)
26014	return
26015}
26016
26017// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
26018//
26019// Modifies the specified Spot Fleet request.
26020//
26021// You can only modify a Spot Fleet request of type maintain.
26022//
26023// While the Spot Fleet request is being modified, it is in the modifying state.
26024//
26025// To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
26026// launches the additional Spot Instances according to the allocation strategy
26027// for the Spot Fleet request. If the allocation strategy is lowestPrice, the
26028// Spot Fleet launches instances using the Spot pool with the lowest price.
26029// If the allocation strategy is diversified, the Spot Fleet distributes the
26030// instances across the Spot pools.
26031//
26032// To scale down your Spot Fleet, decrease its target capacity. First, the Spot
26033// Fleet cancels any open requests that exceed the new target capacity. You
26034// can request that the Spot Fleet terminate Spot Instances until the size of
26035// the fleet no longer exceeds the new target capacity. If the allocation strategy
26036// is lowestPrice, the Spot Fleet terminates the instances with the highest
26037// price per unit. If the allocation strategy is diversified, the Spot Fleet
26038// terminates instances across the Spot pools. Alternatively, you can request
26039// that the Spot Fleet keep the fleet at its current size, but not replace any
26040// Spot Instances that are interrupted or that you terminate manually.
26041//
26042// If you are finished with your Spot Fleet for now, but will use it again later,
26043// you can set the target capacity to 0.
26044//
26045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26046// with awserr.Error's Code and Message methods to get detailed information about
26047// the error.
26048//
26049// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26050// API operation ModifySpotFleetRequest for usage and error information.
26051// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
26052func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
26053	req, out := c.ModifySpotFleetRequestRequest(input)
26054	return out, req.Send()
26055}
26056
26057// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
26058// the ability to pass a context and additional request options.
26059//
26060// See ModifySpotFleetRequest for details on how to use this API operation.
26061//
26062// The context must be non-nil and will be used for request cancellation. If
26063// the context is nil a panic will occur. In the future the SDK may create
26064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26065// for more information on using Contexts.
26066func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
26067	req, out := c.ModifySpotFleetRequestRequest(input)
26068	req.SetContext(ctx)
26069	req.ApplyOptions(opts...)
26070	return out, req.Send()
26071}
26072
26073const opModifySubnetAttribute = "ModifySubnetAttribute"
26074
26075// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
26076// client's request for the ModifySubnetAttribute operation. The "output" return
26077// value will be populated with the request's response once the request completes
26078// successfully.
26079//
26080// Use "Send" method on the returned Request to send the API call to the service.
26081// the "output" return value is not valid until after Send returns without error.
26082//
26083// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
26084// API call, and error handling.
26085//
26086// This method is useful when you want to inject custom logic or configuration
26087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26088//
26089//
26090//    // Example sending a request using the ModifySubnetAttributeRequest method.
26091//    req, resp := client.ModifySubnetAttributeRequest(params)
26092//
26093//    err := req.Send()
26094//    if err == nil { // resp is now filled
26095//        fmt.Println(resp)
26096//    }
26097//
26098// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
26099func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
26100	op := &request.Operation{
26101		Name:       opModifySubnetAttribute,
26102		HTTPMethod: "POST",
26103		HTTPPath:   "/",
26104	}
26105
26106	if input == nil {
26107		input = &ModifySubnetAttributeInput{}
26108	}
26109
26110	output = &ModifySubnetAttributeOutput{}
26111	req = c.newRequest(op, input, output)
26112	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26113	return
26114}
26115
26116// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
26117//
26118// Modifies a subnet attribute. You can only modify one attribute at a time.
26119//
26120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26121// with awserr.Error's Code and Message methods to get detailed information about
26122// the error.
26123//
26124// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26125// API operation ModifySubnetAttribute for usage and error information.
26126// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
26127func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
26128	req, out := c.ModifySubnetAttributeRequest(input)
26129	return out, req.Send()
26130}
26131
26132// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
26133// the ability to pass a context and additional request options.
26134//
26135// See ModifySubnetAttribute for details on how to use this API operation.
26136//
26137// The context must be non-nil and will be used for request cancellation. If
26138// the context is nil a panic will occur. In the future the SDK may create
26139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26140// for more information on using Contexts.
26141func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
26142	req, out := c.ModifySubnetAttributeRequest(input)
26143	req.SetContext(ctx)
26144	req.ApplyOptions(opts...)
26145	return out, req.Send()
26146}
26147
26148const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
26149
26150// ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
26151// client's request for the ModifyTransitGatewayVpcAttachment operation. The "output" return
26152// value will be populated with the request's response once the request completes
26153// successfully.
26154//
26155// Use "Send" method on the returned Request to send the API call to the service.
26156// the "output" return value is not valid until after Send returns without error.
26157//
26158// See ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
26159// API call, and error handling.
26160//
26161// This method is useful when you want to inject custom logic or configuration
26162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26163//
26164//
26165//    // Example sending a request using the ModifyTransitGatewayVpcAttachmentRequest method.
26166//    req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(params)
26167//
26168//    err := req.Send()
26169//    if err == nil { // resp is now filled
26170//        fmt.Println(resp)
26171//    }
26172//
26173// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
26174func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
26175	op := &request.Operation{
26176		Name:       opModifyTransitGatewayVpcAttachment,
26177		HTTPMethod: "POST",
26178		HTTPPath:   "/",
26179	}
26180
26181	if input == nil {
26182		input = &ModifyTransitGatewayVpcAttachmentInput{}
26183	}
26184
26185	output = &ModifyTransitGatewayVpcAttachmentOutput{}
26186	req = c.newRequest(op, input, output)
26187	return
26188}
26189
26190// ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
26191//
26192// Modifies the specified VPC attachment.
26193//
26194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26195// with awserr.Error's Code and Message methods to get detailed information about
26196// the error.
26197//
26198// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26199// API operation ModifyTransitGatewayVpcAttachment for usage and error information.
26200// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
26201func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
26202	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
26203	return out, req.Send()
26204}
26205
26206// ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
26207// the ability to pass a context and additional request options.
26208//
26209// See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
26210//
26211// The context must be non-nil and will be used for request cancellation. If
26212// the context is nil a panic will occur. In the future the SDK may create
26213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26214// for more information on using Contexts.
26215func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
26216	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
26217	req.SetContext(ctx)
26218	req.ApplyOptions(opts...)
26219	return out, req.Send()
26220}
26221
26222const opModifyVolume = "ModifyVolume"
26223
26224// ModifyVolumeRequest generates a "aws/request.Request" representing the
26225// client's request for the ModifyVolume operation. The "output" return
26226// value will be populated with the request's response once the request completes
26227// successfully.
26228//
26229// Use "Send" method on the returned Request to send the API call to the service.
26230// the "output" return value is not valid until after Send returns without error.
26231//
26232// See ModifyVolume for more information on using the ModifyVolume
26233// API call, and error handling.
26234//
26235// This method is useful when you want to inject custom logic or configuration
26236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26237//
26238//
26239//    // Example sending a request using the ModifyVolumeRequest method.
26240//    req, resp := client.ModifyVolumeRequest(params)
26241//
26242//    err := req.Send()
26243//    if err == nil { // resp is now filled
26244//        fmt.Println(resp)
26245//    }
26246//
26247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
26248func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
26249	op := &request.Operation{
26250		Name:       opModifyVolume,
26251		HTTPMethod: "POST",
26252		HTTPPath:   "/",
26253	}
26254
26255	if input == nil {
26256		input = &ModifyVolumeInput{}
26257	}
26258
26259	output = &ModifyVolumeOutput{}
26260	req = c.newRequest(op, input, output)
26261	return
26262}
26263
26264// ModifyVolume API operation for Amazon Elastic Compute Cloud.
26265//
26266// You can modify several parameters of an existing EBS volume, including volume
26267// size, volume type, and IOPS capacity. If your EBS volume is attached to a
26268// current-generation EC2 instance type, you may be able to apply these changes
26269// without stopping the instance or detaching the volume from it. For more information
26270// about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
26271// or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
26272// For more information about modifying an EBS volume running Windows, see Modifying
26273// the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
26274//
26275// When you complete a resize operation on your volume, you need to extend the
26276// volume's file-system size to take advantage of the new storage capacity.
26277// For information about extending a Linux file system, see Extending a Linux
26278// File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
26279// For information about extending a Windows file system, see Extending a Windows
26280// File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
26281//
26282// You can use CloudWatch Events to check the status of a modification to an
26283// EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
26284// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
26285// You can also track the status of a modification using the DescribeVolumesModifications
26286// API. For information about tracking status changes using either method, see
26287// Monitoring Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
26288//
26289// With previous-generation instance types, resizing an EBS volume may require
26290// detaching and reattaching the volume or stopping and restarting the instance.
26291// For more information, see Modifying the Size, IOPS, or Type of an EBS Volume
26292// on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html)
26293// and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
26294//
26295// If you reach the maximum volume modification rate per volume limit, you will
26296// need to wait at least six hours before applying further modifications to
26297// the affected EBS volume.
26298//
26299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26300// with awserr.Error's Code and Message methods to get detailed information about
26301// the error.
26302//
26303// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26304// API operation ModifyVolume for usage and error information.
26305// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
26306func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
26307	req, out := c.ModifyVolumeRequest(input)
26308	return out, req.Send()
26309}
26310
26311// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
26312// the ability to pass a context and additional request options.
26313//
26314// See ModifyVolume for details on how to use this API operation.
26315//
26316// The context must be non-nil and will be used for request cancellation. If
26317// the context is nil a panic will occur. In the future the SDK may create
26318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26319// for more information on using Contexts.
26320func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
26321	req, out := c.ModifyVolumeRequest(input)
26322	req.SetContext(ctx)
26323	req.ApplyOptions(opts...)
26324	return out, req.Send()
26325}
26326
26327const opModifyVolumeAttribute = "ModifyVolumeAttribute"
26328
26329// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
26330// client's request for the ModifyVolumeAttribute operation. The "output" return
26331// value will be populated with the request's response once the request completes
26332// successfully.
26333//
26334// Use "Send" method on the returned Request to send the API call to the service.
26335// the "output" return value is not valid until after Send returns without error.
26336//
26337// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
26338// API call, and error handling.
26339//
26340// This method is useful when you want to inject custom logic or configuration
26341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26342//
26343//
26344//    // Example sending a request using the ModifyVolumeAttributeRequest method.
26345//    req, resp := client.ModifyVolumeAttributeRequest(params)
26346//
26347//    err := req.Send()
26348//    if err == nil { // resp is now filled
26349//        fmt.Println(resp)
26350//    }
26351//
26352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
26353func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
26354	op := &request.Operation{
26355		Name:       opModifyVolumeAttribute,
26356		HTTPMethod: "POST",
26357		HTTPPath:   "/",
26358	}
26359
26360	if input == nil {
26361		input = &ModifyVolumeAttributeInput{}
26362	}
26363
26364	output = &ModifyVolumeAttributeOutput{}
26365	req = c.newRequest(op, input, output)
26366	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26367	return
26368}
26369
26370// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
26371//
26372// Modifies a volume attribute.
26373//
26374// By default, all I/O operations for the volume are suspended when the data
26375// on the volume is determined to be potentially inconsistent, to prevent undetectable,
26376// latent data corruption. The I/O access to the volume can be resumed by first
26377// enabling I/O access and then checking the data consistency on your volume.
26378//
26379// You can change the default behavior to resume I/O operations. We recommend
26380// that you change this only for boot volumes or for volumes that are stateless
26381// or disposable.
26382//
26383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26384// with awserr.Error's Code and Message methods to get detailed information about
26385// the error.
26386//
26387// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26388// API operation ModifyVolumeAttribute for usage and error information.
26389// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
26390func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
26391	req, out := c.ModifyVolumeAttributeRequest(input)
26392	return out, req.Send()
26393}
26394
26395// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
26396// the ability to pass a context and additional request options.
26397//
26398// See ModifyVolumeAttribute for details on how to use this API operation.
26399//
26400// The context must be non-nil and will be used for request cancellation. If
26401// the context is nil a panic will occur. In the future the SDK may create
26402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26403// for more information on using Contexts.
26404func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
26405	req, out := c.ModifyVolumeAttributeRequest(input)
26406	req.SetContext(ctx)
26407	req.ApplyOptions(opts...)
26408	return out, req.Send()
26409}
26410
26411const opModifyVpcAttribute = "ModifyVpcAttribute"
26412
26413// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
26414// client's request for the ModifyVpcAttribute operation. The "output" return
26415// value will be populated with the request's response once the request completes
26416// successfully.
26417//
26418// Use "Send" method on the returned Request to send the API call to the service.
26419// the "output" return value is not valid until after Send returns without error.
26420//
26421// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
26422// API call, and error handling.
26423//
26424// This method is useful when you want to inject custom logic or configuration
26425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26426//
26427//
26428//    // Example sending a request using the ModifyVpcAttributeRequest method.
26429//    req, resp := client.ModifyVpcAttributeRequest(params)
26430//
26431//    err := req.Send()
26432//    if err == nil { // resp is now filled
26433//        fmt.Println(resp)
26434//    }
26435//
26436// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
26437func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
26438	op := &request.Operation{
26439		Name:       opModifyVpcAttribute,
26440		HTTPMethod: "POST",
26441		HTTPPath:   "/",
26442	}
26443
26444	if input == nil {
26445		input = &ModifyVpcAttributeInput{}
26446	}
26447
26448	output = &ModifyVpcAttributeOutput{}
26449	req = c.newRequest(op, input, output)
26450	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26451	return
26452}
26453
26454// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
26455//
26456// Modifies the specified attribute of the specified VPC.
26457//
26458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26459// with awserr.Error's Code and Message methods to get detailed information about
26460// the error.
26461//
26462// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26463// API operation ModifyVpcAttribute for usage and error information.
26464// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
26465func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
26466	req, out := c.ModifyVpcAttributeRequest(input)
26467	return out, req.Send()
26468}
26469
26470// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
26471// the ability to pass a context and additional request options.
26472//
26473// See ModifyVpcAttribute for details on how to use this API operation.
26474//
26475// The context must be non-nil and will be used for request cancellation. If
26476// the context is nil a panic will occur. In the future the SDK may create
26477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26478// for more information on using Contexts.
26479func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
26480	req, out := c.ModifyVpcAttributeRequest(input)
26481	req.SetContext(ctx)
26482	req.ApplyOptions(opts...)
26483	return out, req.Send()
26484}
26485
26486const opModifyVpcEndpoint = "ModifyVpcEndpoint"
26487
26488// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
26489// client's request for the ModifyVpcEndpoint operation. The "output" return
26490// value will be populated with the request's response once the request completes
26491// successfully.
26492//
26493// Use "Send" method on the returned Request to send the API call to the service.
26494// the "output" return value is not valid until after Send returns without error.
26495//
26496// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
26497// API call, and error handling.
26498//
26499// This method is useful when you want to inject custom logic or configuration
26500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26501//
26502//
26503//    // Example sending a request using the ModifyVpcEndpointRequest method.
26504//    req, resp := client.ModifyVpcEndpointRequest(params)
26505//
26506//    err := req.Send()
26507//    if err == nil { // resp is now filled
26508//        fmt.Println(resp)
26509//    }
26510//
26511// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
26512func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
26513	op := &request.Operation{
26514		Name:       opModifyVpcEndpoint,
26515		HTTPMethod: "POST",
26516		HTTPPath:   "/",
26517	}
26518
26519	if input == nil {
26520		input = &ModifyVpcEndpointInput{}
26521	}
26522
26523	output = &ModifyVpcEndpointOutput{}
26524	req = c.newRequest(op, input, output)
26525	return
26526}
26527
26528// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
26529//
26530// Modifies attributes of a specified VPC endpoint. The attributes that you
26531// can modify depend on the type of VPC endpoint (interface or gateway). For
26532// more information, see VPC Endpoints (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html)
26533// in the Amazon Virtual Private Cloud User Guide.
26534//
26535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26536// with awserr.Error's Code and Message methods to get detailed information about
26537// the error.
26538//
26539// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26540// API operation ModifyVpcEndpoint for usage and error information.
26541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
26542func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
26543	req, out := c.ModifyVpcEndpointRequest(input)
26544	return out, req.Send()
26545}
26546
26547// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
26548// the ability to pass a context and additional request options.
26549//
26550// See ModifyVpcEndpoint for details on how to use this API operation.
26551//
26552// The context must be non-nil and will be used for request cancellation. If
26553// the context is nil a panic will occur. In the future the SDK may create
26554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26555// for more information on using Contexts.
26556func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
26557	req, out := c.ModifyVpcEndpointRequest(input)
26558	req.SetContext(ctx)
26559	req.ApplyOptions(opts...)
26560	return out, req.Send()
26561}
26562
26563const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
26564
26565// ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
26566// client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
26567// value will be populated with the request's response once the request completes
26568// successfully.
26569//
26570// Use "Send" method on the returned Request to send the API call to the service.
26571// the "output" return value is not valid until after Send returns without error.
26572//
26573// See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
26574// API call, and error handling.
26575//
26576// This method is useful when you want to inject custom logic or configuration
26577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26578//
26579//
26580//    // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
26581//    req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
26582//
26583//    err := req.Send()
26584//    if err == nil { // resp is now filled
26585//        fmt.Println(resp)
26586//    }
26587//
26588// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
26589func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
26590	op := &request.Operation{
26591		Name:       opModifyVpcEndpointConnectionNotification,
26592		HTTPMethod: "POST",
26593		HTTPPath:   "/",
26594	}
26595
26596	if input == nil {
26597		input = &ModifyVpcEndpointConnectionNotificationInput{}
26598	}
26599
26600	output = &ModifyVpcEndpointConnectionNotificationOutput{}
26601	req = c.newRequest(op, input, output)
26602	return
26603}
26604
26605// ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
26606//
26607// Modifies a connection notification for VPC endpoint or VPC endpoint service.
26608// You can change the SNS topic for the notification, or the events for which
26609// to be notified.
26610//
26611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26612// with awserr.Error's Code and Message methods to get detailed information about
26613// the error.
26614//
26615// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26616// API operation ModifyVpcEndpointConnectionNotification for usage and error information.
26617// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
26618func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
26619	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
26620	return out, req.Send()
26621}
26622
26623// ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
26624// the ability to pass a context and additional request options.
26625//
26626// See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
26627//
26628// The context must be non-nil and will be used for request cancellation. If
26629// the context is nil a panic will occur. In the future the SDK may create
26630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26631// for more information on using Contexts.
26632func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
26633	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
26634	req.SetContext(ctx)
26635	req.ApplyOptions(opts...)
26636	return out, req.Send()
26637}
26638
26639const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
26640
26641// ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
26642// client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
26643// value will be populated with the request's response once the request completes
26644// successfully.
26645//
26646// Use "Send" method on the returned Request to send the API call to the service.
26647// the "output" return value is not valid until after Send returns without error.
26648//
26649// See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
26650// API call, and error handling.
26651//
26652// This method is useful when you want to inject custom logic or configuration
26653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26654//
26655//
26656//    // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
26657//    req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
26658//
26659//    err := req.Send()
26660//    if err == nil { // resp is now filled
26661//        fmt.Println(resp)
26662//    }
26663//
26664// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
26665func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
26666	op := &request.Operation{
26667		Name:       opModifyVpcEndpointServiceConfiguration,
26668		HTTPMethod: "POST",
26669		HTTPPath:   "/",
26670	}
26671
26672	if input == nil {
26673		input = &ModifyVpcEndpointServiceConfigurationInput{}
26674	}
26675
26676	output = &ModifyVpcEndpointServiceConfigurationOutput{}
26677	req = c.newRequest(op, input, output)
26678	return
26679}
26680
26681// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
26682//
26683// Modifies the attributes of your VPC endpoint service configuration. You can
26684// change the Network Load Balancers for your service, and you can specify whether
26685// acceptance is required for requests to connect to your endpoint service through
26686// an interface VPC endpoint.
26687//
26688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26689// with awserr.Error's Code and Message methods to get detailed information about
26690// the error.
26691//
26692// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26693// API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
26694// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
26695func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
26696	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
26697	return out, req.Send()
26698}
26699
26700// ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
26701// the ability to pass a context and additional request options.
26702//
26703// See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
26704//
26705// The context must be non-nil and will be used for request cancellation. If
26706// the context is nil a panic will occur. In the future the SDK may create
26707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26708// for more information on using Contexts.
26709func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
26710	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
26711	req.SetContext(ctx)
26712	req.ApplyOptions(opts...)
26713	return out, req.Send()
26714}
26715
26716const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
26717
26718// ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
26719// client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
26720// value will be populated with the request's response once the request completes
26721// successfully.
26722//
26723// Use "Send" method on the returned Request to send the API call to the service.
26724// the "output" return value is not valid until after Send returns without error.
26725//
26726// See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
26727// API call, and error handling.
26728//
26729// This method is useful when you want to inject custom logic or configuration
26730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26731//
26732//
26733//    // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
26734//    req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
26735//
26736//    err := req.Send()
26737//    if err == nil { // resp is now filled
26738//        fmt.Println(resp)
26739//    }
26740//
26741// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
26742func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
26743	op := &request.Operation{
26744		Name:       opModifyVpcEndpointServicePermissions,
26745		HTTPMethod: "POST",
26746		HTTPPath:   "/",
26747	}
26748
26749	if input == nil {
26750		input = &ModifyVpcEndpointServicePermissionsInput{}
26751	}
26752
26753	output = &ModifyVpcEndpointServicePermissionsOutput{}
26754	req = c.newRequest(op, input, output)
26755	return
26756}
26757
26758// ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
26759//
26760// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html).
26761// You can add or remove permissions for service consumers (IAM users, IAM roles,
26762// and AWS accounts) to connect to your endpoint service.
26763//
26764// If you grant permissions to all principals, the service is public. Any users
26765// who know the name of a public service can send a request to attach an endpoint.
26766// If the service does not require manual approval, attachments are automatically
26767// approved.
26768//
26769// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26770// with awserr.Error's Code and Message methods to get detailed information about
26771// the error.
26772//
26773// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26774// API operation ModifyVpcEndpointServicePermissions for usage and error information.
26775// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
26776func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
26777	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
26778	return out, req.Send()
26779}
26780
26781// ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
26782// the ability to pass a context and additional request options.
26783//
26784// See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
26785//
26786// The context must be non-nil and will be used for request cancellation. If
26787// the context is nil a panic will occur. In the future the SDK may create
26788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26789// for more information on using Contexts.
26790func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
26791	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
26792	req.SetContext(ctx)
26793	req.ApplyOptions(opts...)
26794	return out, req.Send()
26795}
26796
26797const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
26798
26799// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
26800// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
26801// value will be populated with the request's response once the request completes
26802// successfully.
26803//
26804// Use "Send" method on the returned Request to send the API call to the service.
26805// the "output" return value is not valid until after Send returns without error.
26806//
26807// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
26808// API call, and error handling.
26809//
26810// This method is useful when you want to inject custom logic or configuration
26811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26812//
26813//
26814//    // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
26815//    req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
26816//
26817//    err := req.Send()
26818//    if err == nil { // resp is now filled
26819//        fmt.Println(resp)
26820//    }
26821//
26822// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
26823func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
26824	op := &request.Operation{
26825		Name:       opModifyVpcPeeringConnectionOptions,
26826		HTTPMethod: "POST",
26827		HTTPPath:   "/",
26828	}
26829
26830	if input == nil {
26831		input = &ModifyVpcPeeringConnectionOptionsInput{}
26832	}
26833
26834	output = &ModifyVpcPeeringConnectionOptionsOutput{}
26835	req = c.newRequest(op, input, output)
26836	return
26837}
26838
26839// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
26840//
26841// Modifies the VPC peering connection options on one side of a VPC peering
26842// connection. You can do the following:
26843//
26844//    * Enable/disable communication over the peering connection between an
26845//    EC2-Classic instance that's linked to your VPC (using ClassicLink) and
26846//    instances in the peer VPC.
26847//
26848//    * Enable/disable communication over the peering connection between instances
26849//    in your VPC and an EC2-Classic instance that's linked to the peer VPC.
26850//
26851//    * Enable/disable the ability to resolve public DNS hostnames to private
26852//    IP addresses when queried from instances in the peer VPC.
26853//
26854// If the peered VPCs are in the same AWS account, you can enable DNS resolution
26855// for queries from the local VPC. This ensures that queries from the local
26856// VPC resolve to private IP addresses in the peer VPC. This option is not available
26857// if the peered VPCs are in different AWS accounts or different Regions. For
26858// peered VPCs in different AWS accounts, each AWS account owner must initiate
26859// a separate request to modify the peering connection options. For inter-region
26860// peering connections, you must use the Region for the requester VPC to modify
26861// the requester VPC peering options and the Region for the accepter VPC to
26862// modify the accepter VPC peering options. To verify which VPCs are the accepter
26863// and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
26864// command.
26865//
26866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26867// with awserr.Error's Code and Message methods to get detailed information about
26868// the error.
26869//
26870// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26871// API operation ModifyVpcPeeringConnectionOptions for usage and error information.
26872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
26873func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
26874	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
26875	return out, req.Send()
26876}
26877
26878// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
26879// the ability to pass a context and additional request options.
26880//
26881// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
26882//
26883// The context must be non-nil and will be used for request cancellation. If
26884// the context is nil a panic will occur. In the future the SDK may create
26885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26886// for more information on using Contexts.
26887func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
26888	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
26889	req.SetContext(ctx)
26890	req.ApplyOptions(opts...)
26891	return out, req.Send()
26892}
26893
26894const opModifyVpcTenancy = "ModifyVpcTenancy"
26895
26896// ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
26897// client's request for the ModifyVpcTenancy operation. The "output" return
26898// value will be populated with the request's response once the request completes
26899// successfully.
26900//
26901// Use "Send" method on the returned Request to send the API call to the service.
26902// the "output" return value is not valid until after Send returns without error.
26903//
26904// See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
26905// API call, and error handling.
26906//
26907// This method is useful when you want to inject custom logic or configuration
26908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26909//
26910//
26911//    // Example sending a request using the ModifyVpcTenancyRequest method.
26912//    req, resp := client.ModifyVpcTenancyRequest(params)
26913//
26914//    err := req.Send()
26915//    if err == nil { // resp is now filled
26916//        fmt.Println(resp)
26917//    }
26918//
26919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
26920func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
26921	op := &request.Operation{
26922		Name:       opModifyVpcTenancy,
26923		HTTPMethod: "POST",
26924		HTTPPath:   "/",
26925	}
26926
26927	if input == nil {
26928		input = &ModifyVpcTenancyInput{}
26929	}
26930
26931	output = &ModifyVpcTenancyOutput{}
26932	req = c.newRequest(op, input, output)
26933	return
26934}
26935
26936// ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
26937//
26938// Modifies the instance tenancy attribute of the specified VPC. You can change
26939// the instance tenancy attribute of a VPC to default only. You cannot change
26940// the instance tenancy attribute to dedicated.
26941//
26942// After you modify the tenancy of the VPC, any new instances that you launch
26943// into the VPC have a tenancy of default, unless you specify otherwise during
26944// launch. The tenancy of any existing instances in the VPC is not affected.
26945//
26946// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
26947// in the Amazon Elastic Compute Cloud User Guide.
26948//
26949// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26950// with awserr.Error's Code and Message methods to get detailed information about
26951// the error.
26952//
26953// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26954// API operation ModifyVpcTenancy for usage and error information.
26955// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
26956func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
26957	req, out := c.ModifyVpcTenancyRequest(input)
26958	return out, req.Send()
26959}
26960
26961// ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
26962// the ability to pass a context and additional request options.
26963//
26964// See ModifyVpcTenancy for details on how to use this API operation.
26965//
26966// The context must be non-nil and will be used for request cancellation. If
26967// the context is nil a panic will occur. In the future the SDK may create
26968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26969// for more information on using Contexts.
26970func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
26971	req, out := c.ModifyVpcTenancyRequest(input)
26972	req.SetContext(ctx)
26973	req.ApplyOptions(opts...)
26974	return out, req.Send()
26975}
26976
26977const opModifyVpnConnection = "ModifyVpnConnection"
26978
26979// ModifyVpnConnectionRequest generates a "aws/request.Request" representing the
26980// client's request for the ModifyVpnConnection operation. The "output" return
26981// value will be populated with the request's response once the request completes
26982// successfully.
26983//
26984// Use "Send" method on the returned Request to send the API call to the service.
26985// the "output" return value is not valid until after Send returns without error.
26986//
26987// See ModifyVpnConnection for more information on using the ModifyVpnConnection
26988// API call, and error handling.
26989//
26990// This method is useful when you want to inject custom logic or configuration
26991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26992//
26993//
26994//    // Example sending a request using the ModifyVpnConnectionRequest method.
26995//    req, resp := client.ModifyVpnConnectionRequest(params)
26996//
26997//    err := req.Send()
26998//    if err == nil { // resp is now filled
26999//        fmt.Println(resp)
27000//    }
27001//
27002// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
27003func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) {
27004	op := &request.Operation{
27005		Name:       opModifyVpnConnection,
27006		HTTPMethod: "POST",
27007		HTTPPath:   "/",
27008	}
27009
27010	if input == nil {
27011		input = &ModifyVpnConnectionInput{}
27012	}
27013
27014	output = &ModifyVpnConnectionOutput{}
27015	req = c.newRequest(op, input, output)
27016	return
27017}
27018
27019// ModifyVpnConnection API operation for Amazon Elastic Compute Cloud.
27020//
27021// Modifies the target gateway of a AWS Site-to-Site VPN connection. The following
27022// migration options are available:
27023//
27024//    * An existing virtual private gateway to a new virtual private gateway
27025//
27026//    * An existing virtual private gateway to a transit gateway
27027//
27028//    * An existing transit gateway to a new transit gateway
27029//
27030//    * An existing transit gateway to a virtual private gateway
27031//
27032// Before you perform the migration to the new gateway, you must configure the
27033// new gateway. Use CreateVpnGateway to create a virtual private gateway, or
27034// CreateTransitGateway to create a transit gateway.
27035//
27036// This step is required when you migrate from a virtual private gateway with
27037// static routes to a transit gateway.
27038//
27039// You must delete the static routes before you migrate to the new gateway.
27040//
27041// Keep a copy of the static route before you delete it. You will need to add
27042// back these routes to the transit gateway after the VPN connection migration
27043// is complete.
27044//
27045// After you migrate to the new gateway, you might need to modify your VPC route
27046// table. Use CreateRoute and DeleteRoute to make the changes described in VPN
27047// Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing)
27048// in the AWS Site-to-Site VPN User Guide.
27049//
27050// When the new gateway is a transit gateway, modify the transit gateway route
27051// table to allow traffic between the VPC and the AWS Site-to-Site VPN connection.
27052// Use CreateTransitGatewayRoute to add the routes.
27053//
27054// If you deleted VPN static routes, you must add the static routes to the transit
27055// gateway route table.
27056//
27057// After you perform this operation, the AWS VPN endpoint's IP addresses on
27058// the AWS side and the tunnel options remain intact. Your s2slong; connection
27059// will be temporarily unavailable for approximately 10 minutes while we provision
27060// the new endpoints
27061//
27062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27063// with awserr.Error's Code and Message methods to get detailed information about
27064// the error.
27065//
27066// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27067// API operation ModifyVpnConnection for usage and error information.
27068// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
27069func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) {
27070	req, out := c.ModifyVpnConnectionRequest(input)
27071	return out, req.Send()
27072}
27073
27074// ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of
27075// the ability to pass a context and additional request options.
27076//
27077// See ModifyVpnConnection for details on how to use this API operation.
27078//
27079// The context must be non-nil and will be used for request cancellation. If
27080// the context is nil a panic will occur. In the future the SDK may create
27081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27082// for more information on using Contexts.
27083func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) {
27084	req, out := c.ModifyVpnConnectionRequest(input)
27085	req.SetContext(ctx)
27086	req.ApplyOptions(opts...)
27087	return out, req.Send()
27088}
27089
27090const opMonitorInstances = "MonitorInstances"
27091
27092// MonitorInstancesRequest generates a "aws/request.Request" representing the
27093// client's request for the MonitorInstances operation. The "output" return
27094// value will be populated with the request's response once the request completes
27095// successfully.
27096//
27097// Use "Send" method on the returned Request to send the API call to the service.
27098// the "output" return value is not valid until after Send returns without error.
27099//
27100// See MonitorInstances for more information on using the MonitorInstances
27101// API call, and error handling.
27102//
27103// This method is useful when you want to inject custom logic or configuration
27104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27105//
27106//
27107//    // Example sending a request using the MonitorInstancesRequest method.
27108//    req, resp := client.MonitorInstancesRequest(params)
27109//
27110//    err := req.Send()
27111//    if err == nil { // resp is now filled
27112//        fmt.Println(resp)
27113//    }
27114//
27115// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
27116func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
27117	op := &request.Operation{
27118		Name:       opMonitorInstances,
27119		HTTPMethod: "POST",
27120		HTTPPath:   "/",
27121	}
27122
27123	if input == nil {
27124		input = &MonitorInstancesInput{}
27125	}
27126
27127	output = &MonitorInstancesOutput{}
27128	req = c.newRequest(op, input, output)
27129	return
27130}
27131
27132// MonitorInstances API operation for Amazon Elastic Compute Cloud.
27133//
27134// Enables detailed monitoring for a running instance. Otherwise, basic monitoring
27135// is enabled. For more information, see Monitoring Your Instances and Volumes
27136// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
27137// in the Amazon Elastic Compute Cloud User Guide.
27138//
27139// To disable detailed monitoring, see .
27140//
27141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27142// with awserr.Error's Code and Message methods to get detailed information about
27143// the error.
27144//
27145// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27146// API operation MonitorInstances for usage and error information.
27147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
27148func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
27149	req, out := c.MonitorInstancesRequest(input)
27150	return out, req.Send()
27151}
27152
27153// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
27154// the ability to pass a context and additional request options.
27155//
27156// See MonitorInstances for details on how to use this API operation.
27157//
27158// The context must be non-nil and will be used for request cancellation. If
27159// the context is nil a panic will occur. In the future the SDK may create
27160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27161// for more information on using Contexts.
27162func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
27163	req, out := c.MonitorInstancesRequest(input)
27164	req.SetContext(ctx)
27165	req.ApplyOptions(opts...)
27166	return out, req.Send()
27167}
27168
27169const opMoveAddressToVpc = "MoveAddressToVpc"
27170
27171// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
27172// client's request for the MoveAddressToVpc operation. The "output" return
27173// value will be populated with the request's response once the request completes
27174// successfully.
27175//
27176// Use "Send" method on the returned Request to send the API call to the service.
27177// the "output" return value is not valid until after Send returns without error.
27178//
27179// See MoveAddressToVpc for more information on using the MoveAddressToVpc
27180// API call, and error handling.
27181//
27182// This method is useful when you want to inject custom logic or configuration
27183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27184//
27185//
27186//    // Example sending a request using the MoveAddressToVpcRequest method.
27187//    req, resp := client.MoveAddressToVpcRequest(params)
27188//
27189//    err := req.Send()
27190//    if err == nil { // resp is now filled
27191//        fmt.Println(resp)
27192//    }
27193//
27194// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
27195func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
27196	op := &request.Operation{
27197		Name:       opMoveAddressToVpc,
27198		HTTPMethod: "POST",
27199		HTTPPath:   "/",
27200	}
27201
27202	if input == nil {
27203		input = &MoveAddressToVpcInput{}
27204	}
27205
27206	output = &MoveAddressToVpcOutput{}
27207	req = c.newRequest(op, input, output)
27208	return
27209}
27210
27211// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
27212//
27213// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
27214// platform. The Elastic IP address must be allocated to your account for more
27215// than 24 hours, and it must not be associated with an instance. After the
27216// Elastic IP address is moved, it is no longer available for use in the EC2-Classic
27217// platform, unless you move it back using the RestoreAddressToClassic request.
27218// You cannot move an Elastic IP address that was originally allocated for use
27219// in the EC2-VPC platform to the EC2-Classic platform.
27220//
27221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27222// with awserr.Error's Code and Message methods to get detailed information about
27223// the error.
27224//
27225// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27226// API operation MoveAddressToVpc for usage and error information.
27227// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
27228func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
27229	req, out := c.MoveAddressToVpcRequest(input)
27230	return out, req.Send()
27231}
27232
27233// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
27234// the ability to pass a context and additional request options.
27235//
27236// See MoveAddressToVpc for details on how to use this API operation.
27237//
27238// The context must be non-nil and will be used for request cancellation. If
27239// the context is nil a panic will occur. In the future the SDK may create
27240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27241// for more information on using Contexts.
27242func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
27243	req, out := c.MoveAddressToVpcRequest(input)
27244	req.SetContext(ctx)
27245	req.ApplyOptions(opts...)
27246	return out, req.Send()
27247}
27248
27249const opProvisionByoipCidr = "ProvisionByoipCidr"
27250
27251// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
27252// client's request for the ProvisionByoipCidr operation. The "output" return
27253// value will be populated with the request's response once the request completes
27254// successfully.
27255//
27256// Use "Send" method on the returned Request to send the API call to the service.
27257// the "output" return value is not valid until after Send returns without error.
27258//
27259// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
27260// API call, and error handling.
27261//
27262// This method is useful when you want to inject custom logic or configuration
27263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27264//
27265//
27266//    // Example sending a request using the ProvisionByoipCidrRequest method.
27267//    req, resp := client.ProvisionByoipCidrRequest(params)
27268//
27269//    err := req.Send()
27270//    if err == nil { // resp is now filled
27271//        fmt.Println(resp)
27272//    }
27273//
27274// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
27275func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
27276	op := &request.Operation{
27277		Name:       opProvisionByoipCidr,
27278		HTTPMethod: "POST",
27279		HTTPPath:   "/",
27280	}
27281
27282	if input == nil {
27283		input = &ProvisionByoipCidrInput{}
27284	}
27285
27286	output = &ProvisionByoipCidrOutput{}
27287	req = c.newRequest(op, input, output)
27288	return
27289}
27290
27291// ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
27292//
27293// Provisions an address range for use with your AWS resources through bring
27294// your own IP addresses (BYOIP) and creates a corresponding address pool. After
27295// the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.
27296//
27297// AWS verifies that you own the address range and are authorized to advertise
27298// it. You must ensure that the address range is registered to you and that
27299// you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise
27300// the address range. For more information, see Bring Your Own IP Addresses
27301// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
27302// in the Amazon Elastic Compute Cloud User Guide.
27303//
27304// Provisioning an address range is an asynchronous operation, so the call returns
27305// immediately, but the address range is not ready to use until its status changes
27306// from pending-provision to provisioned. To monitor the status of an address
27307// range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
27308// address pool, use AllocateAddress with either the specific address from the
27309// address pool or the ID of the address pool.
27310//
27311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27312// with awserr.Error's Code and Message methods to get detailed information about
27313// the error.
27314//
27315// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27316// API operation ProvisionByoipCidr for usage and error information.
27317// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
27318func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
27319	req, out := c.ProvisionByoipCidrRequest(input)
27320	return out, req.Send()
27321}
27322
27323// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
27324// the ability to pass a context and additional request options.
27325//
27326// See ProvisionByoipCidr for details on how to use this API operation.
27327//
27328// The context must be non-nil and will be used for request cancellation. If
27329// the context is nil a panic will occur. In the future the SDK may create
27330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27331// for more information on using Contexts.
27332func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
27333	req, out := c.ProvisionByoipCidrRequest(input)
27334	req.SetContext(ctx)
27335	req.ApplyOptions(opts...)
27336	return out, req.Send()
27337}
27338
27339const opPurchaseHostReservation = "PurchaseHostReservation"
27340
27341// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
27342// client's request for the PurchaseHostReservation operation. The "output" return
27343// value will be populated with the request's response once the request completes
27344// successfully.
27345//
27346// Use "Send" method on the returned Request to send the API call to the service.
27347// the "output" return value is not valid until after Send returns without error.
27348//
27349// See PurchaseHostReservation for more information on using the PurchaseHostReservation
27350// API call, and error handling.
27351//
27352// This method is useful when you want to inject custom logic or configuration
27353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27354//
27355//
27356//    // Example sending a request using the PurchaseHostReservationRequest method.
27357//    req, resp := client.PurchaseHostReservationRequest(params)
27358//
27359//    err := req.Send()
27360//    if err == nil { // resp is now filled
27361//        fmt.Println(resp)
27362//    }
27363//
27364// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
27365func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
27366	op := &request.Operation{
27367		Name:       opPurchaseHostReservation,
27368		HTTPMethod: "POST",
27369		HTTPPath:   "/",
27370	}
27371
27372	if input == nil {
27373		input = &PurchaseHostReservationInput{}
27374	}
27375
27376	output = &PurchaseHostReservationOutput{}
27377	req = c.newRequest(op, input, output)
27378	return
27379}
27380
27381// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
27382//
27383// Purchase a reservation with configurations that match those of your Dedicated
27384// Host. You must have active Dedicated Hosts in your account before you purchase
27385// a reservation. This action results in the specified reservation being purchased
27386// and charged to your account.
27387//
27388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27389// with awserr.Error's Code and Message methods to get detailed information about
27390// the error.
27391//
27392// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27393// API operation PurchaseHostReservation for usage and error information.
27394// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
27395func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
27396	req, out := c.PurchaseHostReservationRequest(input)
27397	return out, req.Send()
27398}
27399
27400// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
27401// the ability to pass a context and additional request options.
27402//
27403// See PurchaseHostReservation for details on how to use this API operation.
27404//
27405// The context must be non-nil and will be used for request cancellation. If
27406// the context is nil a panic will occur. In the future the SDK may create
27407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27408// for more information on using Contexts.
27409func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
27410	req, out := c.PurchaseHostReservationRequest(input)
27411	req.SetContext(ctx)
27412	req.ApplyOptions(opts...)
27413	return out, req.Send()
27414}
27415
27416const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
27417
27418// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
27419// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
27420// value will be populated with the request's response once the request completes
27421// successfully.
27422//
27423// Use "Send" method on the returned Request to send the API call to the service.
27424// the "output" return value is not valid until after Send returns without error.
27425//
27426// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
27427// API call, and error handling.
27428//
27429// This method is useful when you want to inject custom logic or configuration
27430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27431//
27432//
27433//    // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
27434//    req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
27435//
27436//    err := req.Send()
27437//    if err == nil { // resp is now filled
27438//        fmt.Println(resp)
27439//    }
27440//
27441// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
27442func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
27443	op := &request.Operation{
27444		Name:       opPurchaseReservedInstancesOffering,
27445		HTTPMethod: "POST",
27446		HTTPPath:   "/",
27447	}
27448
27449	if input == nil {
27450		input = &PurchaseReservedInstancesOfferingInput{}
27451	}
27452
27453	output = &PurchaseReservedInstancesOfferingOutput{}
27454	req = c.newRequest(op, input, output)
27455	return
27456}
27457
27458// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
27459//
27460// Purchases a Reserved Instance for use with your account. With Reserved Instances,
27461// you pay a lower hourly rate compared to On-Demand instance pricing.
27462//
27463// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
27464// offerings that match your specifications. After you've purchased a Reserved
27465// Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
27466//
27467// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
27468// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
27469// in the Amazon Elastic Compute Cloud User Guide.
27470//
27471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27472// with awserr.Error's Code and Message methods to get detailed information about
27473// the error.
27474//
27475// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27476// API operation PurchaseReservedInstancesOffering for usage and error information.
27477// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
27478func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
27479	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
27480	return out, req.Send()
27481}
27482
27483// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
27484// the ability to pass a context and additional request options.
27485//
27486// See PurchaseReservedInstancesOffering for details on how to use this API operation.
27487//
27488// The context must be non-nil and will be used for request cancellation. If
27489// the context is nil a panic will occur. In the future the SDK may create
27490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27491// for more information on using Contexts.
27492func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
27493	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
27494	req.SetContext(ctx)
27495	req.ApplyOptions(opts...)
27496	return out, req.Send()
27497}
27498
27499const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
27500
27501// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
27502// client's request for the PurchaseScheduledInstances operation. The "output" return
27503// value will be populated with the request's response once the request completes
27504// successfully.
27505//
27506// Use "Send" method on the returned Request to send the API call to the service.
27507// the "output" return value is not valid until after Send returns without error.
27508//
27509// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
27510// API call, and error handling.
27511//
27512// This method is useful when you want to inject custom logic or configuration
27513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27514//
27515//
27516//    // Example sending a request using the PurchaseScheduledInstancesRequest method.
27517//    req, resp := client.PurchaseScheduledInstancesRequest(params)
27518//
27519//    err := req.Send()
27520//    if err == nil { // resp is now filled
27521//        fmt.Println(resp)
27522//    }
27523//
27524// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
27525func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
27526	op := &request.Operation{
27527		Name:       opPurchaseScheduledInstances,
27528		HTTPMethod: "POST",
27529		HTTPPath:   "/",
27530	}
27531
27532	if input == nil {
27533		input = &PurchaseScheduledInstancesInput{}
27534	}
27535
27536	output = &PurchaseScheduledInstancesOutput{}
27537	req = c.newRequest(op, input, output)
27538	return
27539}
27540
27541// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
27542//
27543// Purchases the Scheduled Instances with the specified schedule.
27544//
27545// Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
27546// the hour for a one-year term. Before you can purchase a Scheduled Instance,
27547// you must call DescribeScheduledInstanceAvailability to check for available
27548// schedules and obtain a purchase token. After you purchase a Scheduled Instance,
27549// you must call RunScheduledInstances during each scheduled time period.
27550//
27551// After you purchase a Scheduled Instance, you can't cancel, modify, or resell
27552// your purchase.
27553//
27554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27555// with awserr.Error's Code and Message methods to get detailed information about
27556// the error.
27557//
27558// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27559// API operation PurchaseScheduledInstances for usage and error information.
27560// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
27561func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
27562	req, out := c.PurchaseScheduledInstancesRequest(input)
27563	return out, req.Send()
27564}
27565
27566// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
27567// the ability to pass a context and additional request options.
27568//
27569// See PurchaseScheduledInstances for details on how to use this API operation.
27570//
27571// The context must be non-nil and will be used for request cancellation. If
27572// the context is nil a panic will occur. In the future the SDK may create
27573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27574// for more information on using Contexts.
27575func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
27576	req, out := c.PurchaseScheduledInstancesRequest(input)
27577	req.SetContext(ctx)
27578	req.ApplyOptions(opts...)
27579	return out, req.Send()
27580}
27581
27582const opRebootInstances = "RebootInstances"
27583
27584// RebootInstancesRequest generates a "aws/request.Request" representing the
27585// client's request for the RebootInstances operation. The "output" return
27586// value will be populated with the request's response once the request completes
27587// successfully.
27588//
27589// Use "Send" method on the returned Request to send the API call to the service.
27590// the "output" return value is not valid until after Send returns without error.
27591//
27592// See RebootInstances for more information on using the RebootInstances
27593// API call, and error handling.
27594//
27595// This method is useful when you want to inject custom logic or configuration
27596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27597//
27598//
27599//    // Example sending a request using the RebootInstancesRequest method.
27600//    req, resp := client.RebootInstancesRequest(params)
27601//
27602//    err := req.Send()
27603//    if err == nil { // resp is now filled
27604//        fmt.Println(resp)
27605//    }
27606//
27607// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
27608func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
27609	op := &request.Operation{
27610		Name:       opRebootInstances,
27611		HTTPMethod: "POST",
27612		HTTPPath:   "/",
27613	}
27614
27615	if input == nil {
27616		input = &RebootInstancesInput{}
27617	}
27618
27619	output = &RebootInstancesOutput{}
27620	req = c.newRequest(op, input, output)
27621	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
27622	return
27623}
27624
27625// RebootInstances API operation for Amazon Elastic Compute Cloud.
27626//
27627// Requests a reboot of the specified instances. This operation is asynchronous;
27628// it only queues a request to reboot the specified instances. The operation
27629// succeeds if the instances are valid and belong to you. Requests to reboot
27630// terminated instances are ignored.
27631//
27632// If an instance does not cleanly shut down within four minutes, Amazon EC2
27633// performs a hard reboot.
27634//
27635// For more information about troubleshooting, see Getting Console Output and
27636// Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
27637// in the Amazon Elastic Compute Cloud User Guide.
27638//
27639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27640// with awserr.Error's Code and Message methods to get detailed information about
27641// the error.
27642//
27643// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27644// API operation RebootInstances for usage and error information.
27645// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
27646func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
27647	req, out := c.RebootInstancesRequest(input)
27648	return out, req.Send()
27649}
27650
27651// RebootInstancesWithContext is the same as RebootInstances with the addition of
27652// the ability to pass a context and additional request options.
27653//
27654// See RebootInstances for details on how to use this API operation.
27655//
27656// The context must be non-nil and will be used for request cancellation. If
27657// the context is nil a panic will occur. In the future the SDK may create
27658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27659// for more information on using Contexts.
27660func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
27661	req, out := c.RebootInstancesRequest(input)
27662	req.SetContext(ctx)
27663	req.ApplyOptions(opts...)
27664	return out, req.Send()
27665}
27666
27667const opRegisterImage = "RegisterImage"
27668
27669// RegisterImageRequest generates a "aws/request.Request" representing the
27670// client's request for the RegisterImage operation. The "output" return
27671// value will be populated with the request's response once the request completes
27672// successfully.
27673//
27674// Use "Send" method on the returned Request to send the API call to the service.
27675// the "output" return value is not valid until after Send returns without error.
27676//
27677// See RegisterImage for more information on using the RegisterImage
27678// API call, and error handling.
27679//
27680// This method is useful when you want to inject custom logic or configuration
27681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27682//
27683//
27684//    // Example sending a request using the RegisterImageRequest method.
27685//    req, resp := client.RegisterImageRequest(params)
27686//
27687//    err := req.Send()
27688//    if err == nil { // resp is now filled
27689//        fmt.Println(resp)
27690//    }
27691//
27692// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
27693func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
27694	op := &request.Operation{
27695		Name:       opRegisterImage,
27696		HTTPMethod: "POST",
27697		HTTPPath:   "/",
27698	}
27699
27700	if input == nil {
27701		input = &RegisterImageInput{}
27702	}
27703
27704	output = &RegisterImageOutput{}
27705	req = c.newRequest(op, input, output)
27706	return
27707}
27708
27709// RegisterImage API operation for Amazon Elastic Compute Cloud.
27710//
27711// Registers an AMI. When you're creating an AMI, this is the final step you
27712// must complete before you can launch an instance from the AMI. For more information
27713// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
27714// in the Amazon Elastic Compute Cloud User Guide.
27715//
27716// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
27717// in a single request, so you don't have to register the AMI yourself.
27718//
27719// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
27720// a snapshot of a root device volume. You specify the snapshot using the block
27721// device mapping. For more information, see Launching a Linux Instance from
27722// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
27723// in the Amazon Elastic Compute Cloud User Guide.
27724//
27725// You can't register an image where a secondary (non-root) snapshot has AWS
27726// Marketplace product codes.
27727//
27728// Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
27729// Linux Enterprise Server (SLES), use the EC2 billing product code associated
27730// with an AMI to verify the subscription status for package updates. Creating
27731// an AMI from an EBS snapshot does not maintain this billing code, and instances
27732// launched from such an AMI are not able to connect to package update infrastructure.
27733// If you purchase a Reserved Instance offering for one of these Linux distributions
27734// and launch instances using an AMI that does not contain the required billing
27735// code, your Reserved Instance is not applied to these instances.
27736//
27737// To create an AMI for operating systems that require a billing code, see CreateImage.
27738//
27739// If needed, you can deregister an AMI at any time. Any modifications you make
27740// to an AMI backed by an instance store volume invalidates its registration.
27741// If you make changes to an image, deregister the previous image and register
27742// the new image.
27743//
27744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27745// with awserr.Error's Code and Message methods to get detailed information about
27746// the error.
27747//
27748// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27749// API operation RegisterImage for usage and error information.
27750// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
27751func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
27752	req, out := c.RegisterImageRequest(input)
27753	return out, req.Send()
27754}
27755
27756// RegisterImageWithContext is the same as RegisterImage with the addition of
27757// the ability to pass a context and additional request options.
27758//
27759// See RegisterImage for details on how to use this API operation.
27760//
27761// The context must be non-nil and will be used for request cancellation. If
27762// the context is nil a panic will occur. In the future the SDK may create
27763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27764// for more information on using Contexts.
27765func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
27766	req, out := c.RegisterImageRequest(input)
27767	req.SetContext(ctx)
27768	req.ApplyOptions(opts...)
27769	return out, req.Send()
27770}
27771
27772const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
27773
27774// RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
27775// client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
27776// value will be populated with the request's response once the request completes
27777// successfully.
27778//
27779// Use "Send" method on the returned Request to send the API call to the service.
27780// the "output" return value is not valid until after Send returns without error.
27781//
27782// See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
27783// API call, and error handling.
27784//
27785// This method is useful when you want to inject custom logic or configuration
27786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27787//
27788//
27789//    // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
27790//    req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
27791//
27792//    err := req.Send()
27793//    if err == nil { // resp is now filled
27794//        fmt.Println(resp)
27795//    }
27796//
27797// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
27798func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
27799	op := &request.Operation{
27800		Name:       opRejectTransitGatewayVpcAttachment,
27801		HTTPMethod: "POST",
27802		HTTPPath:   "/",
27803	}
27804
27805	if input == nil {
27806		input = &RejectTransitGatewayVpcAttachmentInput{}
27807	}
27808
27809	output = &RejectTransitGatewayVpcAttachmentOutput{}
27810	req = c.newRequest(op, input, output)
27811	return
27812}
27813
27814// RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
27815//
27816// Rejects a request to attach a VPC to a transit gateway.
27817//
27818// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
27819// to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
27820// to accept a VPC attachment request.
27821//
27822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27823// with awserr.Error's Code and Message methods to get detailed information about
27824// the error.
27825//
27826// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27827// API operation RejectTransitGatewayVpcAttachment for usage and error information.
27828// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
27829func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
27830	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
27831	return out, req.Send()
27832}
27833
27834// RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
27835// the ability to pass a context and additional request options.
27836//
27837// See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
27838//
27839// The context must be non-nil and will be used for request cancellation. If
27840// the context is nil a panic will occur. In the future the SDK may create
27841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27842// for more information on using Contexts.
27843func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
27844	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
27845	req.SetContext(ctx)
27846	req.ApplyOptions(opts...)
27847	return out, req.Send()
27848}
27849
27850const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
27851
27852// RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
27853// client's request for the RejectVpcEndpointConnections operation. The "output" return
27854// value will be populated with the request's response once the request completes
27855// successfully.
27856//
27857// Use "Send" method on the returned Request to send the API call to the service.
27858// the "output" return value is not valid until after Send returns without error.
27859//
27860// See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
27861// API call, and error handling.
27862//
27863// This method is useful when you want to inject custom logic or configuration
27864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27865//
27866//
27867//    // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
27868//    req, resp := client.RejectVpcEndpointConnectionsRequest(params)
27869//
27870//    err := req.Send()
27871//    if err == nil { // resp is now filled
27872//        fmt.Println(resp)
27873//    }
27874//
27875// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
27876func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
27877	op := &request.Operation{
27878		Name:       opRejectVpcEndpointConnections,
27879		HTTPMethod: "POST",
27880		HTTPPath:   "/",
27881	}
27882
27883	if input == nil {
27884		input = &RejectVpcEndpointConnectionsInput{}
27885	}
27886
27887	output = &RejectVpcEndpointConnectionsOutput{}
27888	req = c.newRequest(op, input, output)
27889	return
27890}
27891
27892// RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
27893//
27894// Rejects one or more VPC endpoint connection requests to your VPC endpoint
27895// service.
27896//
27897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27898// with awserr.Error's Code and Message methods to get detailed information about
27899// the error.
27900//
27901// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27902// API operation RejectVpcEndpointConnections for usage and error information.
27903// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
27904func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
27905	req, out := c.RejectVpcEndpointConnectionsRequest(input)
27906	return out, req.Send()
27907}
27908
27909// RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
27910// the ability to pass a context and additional request options.
27911//
27912// See RejectVpcEndpointConnections for details on how to use this API operation.
27913//
27914// The context must be non-nil and will be used for request cancellation. If
27915// the context is nil a panic will occur. In the future the SDK may create
27916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27917// for more information on using Contexts.
27918func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
27919	req, out := c.RejectVpcEndpointConnectionsRequest(input)
27920	req.SetContext(ctx)
27921	req.ApplyOptions(opts...)
27922	return out, req.Send()
27923}
27924
27925const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
27926
27927// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
27928// client's request for the RejectVpcPeeringConnection operation. The "output" return
27929// value will be populated with the request's response once the request completes
27930// successfully.
27931//
27932// Use "Send" method on the returned Request to send the API call to the service.
27933// the "output" return value is not valid until after Send returns without error.
27934//
27935// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
27936// API call, and error handling.
27937//
27938// This method is useful when you want to inject custom logic or configuration
27939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27940//
27941//
27942//    // Example sending a request using the RejectVpcPeeringConnectionRequest method.
27943//    req, resp := client.RejectVpcPeeringConnectionRequest(params)
27944//
27945//    err := req.Send()
27946//    if err == nil { // resp is now filled
27947//        fmt.Println(resp)
27948//    }
27949//
27950// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
27951func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
27952	op := &request.Operation{
27953		Name:       opRejectVpcPeeringConnection,
27954		HTTPMethod: "POST",
27955		HTTPPath:   "/",
27956	}
27957
27958	if input == nil {
27959		input = &RejectVpcPeeringConnectionInput{}
27960	}
27961
27962	output = &RejectVpcPeeringConnectionOutput{}
27963	req = c.newRequest(op, input, output)
27964	return
27965}
27966
27967// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
27968//
27969// Rejects a VPC peering connection request. The VPC peering connection must
27970// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
27971// request to view your outstanding VPC peering connection requests. To delete
27972// an active VPC peering connection, or to delete a VPC peering connection request
27973// that you initiated, use DeleteVpcPeeringConnection.
27974//
27975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27976// with awserr.Error's Code and Message methods to get detailed information about
27977// the error.
27978//
27979// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27980// API operation RejectVpcPeeringConnection for usage and error information.
27981// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
27982func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
27983	req, out := c.RejectVpcPeeringConnectionRequest(input)
27984	return out, req.Send()
27985}
27986
27987// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
27988// the ability to pass a context and additional request options.
27989//
27990// See RejectVpcPeeringConnection for details on how to use this API operation.
27991//
27992// The context must be non-nil and will be used for request cancellation. If
27993// the context is nil a panic will occur. In the future the SDK may create
27994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27995// for more information on using Contexts.
27996func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
27997	req, out := c.RejectVpcPeeringConnectionRequest(input)
27998	req.SetContext(ctx)
27999	req.ApplyOptions(opts...)
28000	return out, req.Send()
28001}
28002
28003const opReleaseAddress = "ReleaseAddress"
28004
28005// ReleaseAddressRequest generates a "aws/request.Request" representing the
28006// client's request for the ReleaseAddress operation. The "output" return
28007// value will be populated with the request's response once the request completes
28008// successfully.
28009//
28010// Use "Send" method on the returned Request to send the API call to the service.
28011// the "output" return value is not valid until after Send returns without error.
28012//
28013// See ReleaseAddress for more information on using the ReleaseAddress
28014// API call, and error handling.
28015//
28016// This method is useful when you want to inject custom logic or configuration
28017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28018//
28019//
28020//    // Example sending a request using the ReleaseAddressRequest method.
28021//    req, resp := client.ReleaseAddressRequest(params)
28022//
28023//    err := req.Send()
28024//    if err == nil { // resp is now filled
28025//        fmt.Println(resp)
28026//    }
28027//
28028// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
28029func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
28030	op := &request.Operation{
28031		Name:       opReleaseAddress,
28032		HTTPMethod: "POST",
28033		HTTPPath:   "/",
28034	}
28035
28036	if input == nil {
28037		input = &ReleaseAddressInput{}
28038	}
28039
28040	output = &ReleaseAddressOutput{}
28041	req = c.newRequest(op, input, output)
28042	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28043	return
28044}
28045
28046// ReleaseAddress API operation for Amazon Elastic Compute Cloud.
28047//
28048// Releases the specified Elastic IP address.
28049//
28050// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
28051// disassociates it from any instance that it's associated with. To disassociate
28052// an Elastic IP address without releasing it, use DisassociateAddress.
28053//
28054// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
28055// IP address before you can release it. Otherwise, Amazon EC2 returns an error
28056// (InvalidIPAddress.InUse).
28057//
28058// After releasing an Elastic IP address, it is released to the IP address pool.
28059// Be sure to update your DNS records and any servers or devices that communicate
28060// with the address. If you attempt to release an Elastic IP address that you
28061// already released, you'll get an AuthFailure error if the address is already
28062// allocated to another AWS account.
28063//
28064// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
28065// be able to recover it. For more information, see AllocateAddress.
28066//
28067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28068// with awserr.Error's Code and Message methods to get detailed information about
28069// the error.
28070//
28071// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28072// API operation ReleaseAddress for usage and error information.
28073// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
28074func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
28075	req, out := c.ReleaseAddressRequest(input)
28076	return out, req.Send()
28077}
28078
28079// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
28080// the ability to pass a context and additional request options.
28081//
28082// See ReleaseAddress for details on how to use this API operation.
28083//
28084// The context must be non-nil and will be used for request cancellation. If
28085// the context is nil a panic will occur. In the future the SDK may create
28086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28087// for more information on using Contexts.
28088func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
28089	req, out := c.ReleaseAddressRequest(input)
28090	req.SetContext(ctx)
28091	req.ApplyOptions(opts...)
28092	return out, req.Send()
28093}
28094
28095const opReleaseHosts = "ReleaseHosts"
28096
28097// ReleaseHostsRequest generates a "aws/request.Request" representing the
28098// client's request for the ReleaseHosts operation. The "output" return
28099// value will be populated with the request's response once the request completes
28100// successfully.
28101//
28102// Use "Send" method on the returned Request to send the API call to the service.
28103// the "output" return value is not valid until after Send returns without error.
28104//
28105// See ReleaseHosts for more information on using the ReleaseHosts
28106// API call, and error handling.
28107//
28108// This method is useful when you want to inject custom logic or configuration
28109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28110//
28111//
28112//    // Example sending a request using the ReleaseHostsRequest method.
28113//    req, resp := client.ReleaseHostsRequest(params)
28114//
28115//    err := req.Send()
28116//    if err == nil { // resp is now filled
28117//        fmt.Println(resp)
28118//    }
28119//
28120// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
28121func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
28122	op := &request.Operation{
28123		Name:       opReleaseHosts,
28124		HTTPMethod: "POST",
28125		HTTPPath:   "/",
28126	}
28127
28128	if input == nil {
28129		input = &ReleaseHostsInput{}
28130	}
28131
28132	output = &ReleaseHostsOutput{}
28133	req = c.newRequest(op, input, output)
28134	return
28135}
28136
28137// ReleaseHosts API operation for Amazon Elastic Compute Cloud.
28138//
28139// When you no longer want to use an On-Demand Dedicated Host it can be released.
28140// On-Demand billing is stopped and the host goes into released state. The host
28141// ID of Dedicated Hosts that have been released can no longer be specified
28142// in another request, for example, to modify the host. You must stop or terminate
28143// all instances on a host before it can be released.
28144//
28145// When Dedicated Hosts are released, it may take some time for them to stop
28146// counting toward your limit and you may receive capacity errors when trying
28147// to allocate new Dedicated Hosts. Wait a few minutes and then try again.
28148//
28149// Released hosts still appear in a DescribeHosts response.
28150//
28151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28152// with awserr.Error's Code and Message methods to get detailed information about
28153// the error.
28154//
28155// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28156// API operation ReleaseHosts for usage and error information.
28157// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
28158func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
28159	req, out := c.ReleaseHostsRequest(input)
28160	return out, req.Send()
28161}
28162
28163// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
28164// the ability to pass a context and additional request options.
28165//
28166// See ReleaseHosts for details on how to use this API operation.
28167//
28168// The context must be non-nil and will be used for request cancellation. If
28169// the context is nil a panic will occur. In the future the SDK may create
28170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28171// for more information on using Contexts.
28172func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
28173	req, out := c.ReleaseHostsRequest(input)
28174	req.SetContext(ctx)
28175	req.ApplyOptions(opts...)
28176	return out, req.Send()
28177}
28178
28179const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
28180
28181// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
28182// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
28183// value will be populated with the request's response once the request completes
28184// successfully.
28185//
28186// Use "Send" method on the returned Request to send the API call to the service.
28187// the "output" return value is not valid until after Send returns without error.
28188//
28189// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
28190// API call, and error handling.
28191//
28192// This method is useful when you want to inject custom logic or configuration
28193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28194//
28195//
28196//    // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
28197//    req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
28198//
28199//    err := req.Send()
28200//    if err == nil { // resp is now filled
28201//        fmt.Println(resp)
28202//    }
28203//
28204// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
28205func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
28206	op := &request.Operation{
28207		Name:       opReplaceIamInstanceProfileAssociation,
28208		HTTPMethod: "POST",
28209		HTTPPath:   "/",
28210	}
28211
28212	if input == nil {
28213		input = &ReplaceIamInstanceProfileAssociationInput{}
28214	}
28215
28216	output = &ReplaceIamInstanceProfileAssociationOutput{}
28217	req = c.newRequest(op, input, output)
28218	return
28219}
28220
28221// ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
28222//
28223// Replaces an IAM instance profile for the specified running instance. You
28224// can use this action to change the IAM instance profile that's associated
28225// with an instance without having to disassociate the existing IAM instance
28226// profile first.
28227//
28228// Use DescribeIamInstanceProfileAssociations to get the association ID.
28229//
28230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28231// with awserr.Error's Code and Message methods to get detailed information about
28232// the error.
28233//
28234// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28235// API operation ReplaceIamInstanceProfileAssociation for usage and error information.
28236// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
28237func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
28238	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
28239	return out, req.Send()
28240}
28241
28242// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
28243// the ability to pass a context and additional request options.
28244//
28245// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
28246//
28247// The context must be non-nil and will be used for request cancellation. If
28248// the context is nil a panic will occur. In the future the SDK may create
28249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28250// for more information on using Contexts.
28251func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
28252	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
28253	req.SetContext(ctx)
28254	req.ApplyOptions(opts...)
28255	return out, req.Send()
28256}
28257
28258const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
28259
28260// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
28261// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
28262// value will be populated with the request's response once the request completes
28263// successfully.
28264//
28265// Use "Send" method on the returned Request to send the API call to the service.
28266// the "output" return value is not valid until after Send returns without error.
28267//
28268// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
28269// API call, and error handling.
28270//
28271// This method is useful when you want to inject custom logic or configuration
28272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28273//
28274//
28275//    // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
28276//    req, resp := client.ReplaceNetworkAclAssociationRequest(params)
28277//
28278//    err := req.Send()
28279//    if err == nil { // resp is now filled
28280//        fmt.Println(resp)
28281//    }
28282//
28283// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
28284func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
28285	op := &request.Operation{
28286		Name:       opReplaceNetworkAclAssociation,
28287		HTTPMethod: "POST",
28288		HTTPPath:   "/",
28289	}
28290
28291	if input == nil {
28292		input = &ReplaceNetworkAclAssociationInput{}
28293	}
28294
28295	output = &ReplaceNetworkAclAssociationOutput{}
28296	req = c.newRequest(op, input, output)
28297	return
28298}
28299
28300// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
28301//
28302// Changes which network ACL a subnet is associated with. By default when you
28303// create a subnet, it's automatically associated with the default network ACL.
28304// For more information, see Network ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
28305// in the Amazon Virtual Private Cloud User Guide.
28306//
28307// This is an idempotent operation.
28308//
28309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28310// with awserr.Error's Code and Message methods to get detailed information about
28311// the error.
28312//
28313// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28314// API operation ReplaceNetworkAclAssociation for usage and error information.
28315// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
28316func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
28317	req, out := c.ReplaceNetworkAclAssociationRequest(input)
28318	return out, req.Send()
28319}
28320
28321// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
28322// the ability to pass a context and additional request options.
28323//
28324// See ReplaceNetworkAclAssociation for details on how to use this API operation.
28325//
28326// The context must be non-nil and will be used for request cancellation. If
28327// the context is nil a panic will occur. In the future the SDK may create
28328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28329// for more information on using Contexts.
28330func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
28331	req, out := c.ReplaceNetworkAclAssociationRequest(input)
28332	req.SetContext(ctx)
28333	req.ApplyOptions(opts...)
28334	return out, req.Send()
28335}
28336
28337const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
28338
28339// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
28340// client's request for the ReplaceNetworkAclEntry operation. The "output" return
28341// value will be populated with the request's response once the request completes
28342// successfully.
28343//
28344// Use "Send" method on the returned Request to send the API call to the service.
28345// the "output" return value is not valid until after Send returns without error.
28346//
28347// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
28348// API call, and error handling.
28349//
28350// This method is useful when you want to inject custom logic or configuration
28351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28352//
28353//
28354//    // Example sending a request using the ReplaceNetworkAclEntryRequest method.
28355//    req, resp := client.ReplaceNetworkAclEntryRequest(params)
28356//
28357//    err := req.Send()
28358//    if err == nil { // resp is now filled
28359//        fmt.Println(resp)
28360//    }
28361//
28362// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
28363func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
28364	op := &request.Operation{
28365		Name:       opReplaceNetworkAclEntry,
28366		HTTPMethod: "POST",
28367		HTTPPath:   "/",
28368	}
28369
28370	if input == nil {
28371		input = &ReplaceNetworkAclEntryInput{}
28372	}
28373
28374	output = &ReplaceNetworkAclEntryOutput{}
28375	req = c.newRequest(op, input, output)
28376	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28377	return
28378}
28379
28380// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
28381//
28382// Replaces an entry (rule) in a network ACL. For more information, see Network
28383// ACLs (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
28384// in the Amazon Virtual Private Cloud User Guide.
28385//
28386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28387// with awserr.Error's Code and Message methods to get detailed information about
28388// the error.
28389//
28390// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28391// API operation ReplaceNetworkAclEntry for usage and error information.
28392// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
28393func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
28394	req, out := c.ReplaceNetworkAclEntryRequest(input)
28395	return out, req.Send()
28396}
28397
28398// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
28399// the ability to pass a context and additional request options.
28400//
28401// See ReplaceNetworkAclEntry for details on how to use this API operation.
28402//
28403// The context must be non-nil and will be used for request cancellation. If
28404// the context is nil a panic will occur. In the future the SDK may create
28405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28406// for more information on using Contexts.
28407func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
28408	req, out := c.ReplaceNetworkAclEntryRequest(input)
28409	req.SetContext(ctx)
28410	req.ApplyOptions(opts...)
28411	return out, req.Send()
28412}
28413
28414const opReplaceRoute = "ReplaceRoute"
28415
28416// ReplaceRouteRequest generates a "aws/request.Request" representing the
28417// client's request for the ReplaceRoute operation. The "output" return
28418// value will be populated with the request's response once the request completes
28419// successfully.
28420//
28421// Use "Send" method on the returned Request to send the API call to the service.
28422// the "output" return value is not valid until after Send returns without error.
28423//
28424// See ReplaceRoute for more information on using the ReplaceRoute
28425// API call, and error handling.
28426//
28427// This method is useful when you want to inject custom logic or configuration
28428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28429//
28430//
28431//    // Example sending a request using the ReplaceRouteRequest method.
28432//    req, resp := client.ReplaceRouteRequest(params)
28433//
28434//    err := req.Send()
28435//    if err == nil { // resp is now filled
28436//        fmt.Println(resp)
28437//    }
28438//
28439// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
28440func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
28441	op := &request.Operation{
28442		Name:       opReplaceRoute,
28443		HTTPMethod: "POST",
28444		HTTPPath:   "/",
28445	}
28446
28447	if input == nil {
28448		input = &ReplaceRouteInput{}
28449	}
28450
28451	output = &ReplaceRouteOutput{}
28452	req = c.newRequest(op, input, output)
28453	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28454	return
28455}
28456
28457// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
28458//
28459// Replaces an existing route within a route table in a VPC. You must provide
28460// only one of the following: internet gateway or virtual private gateway, NAT
28461// instance, NAT gateway, VPC peering connection, network interface, or egress-only
28462// internet gateway.
28463//
28464// For more information, see Route Tables (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
28465// in the Amazon Virtual Private Cloud User Guide.
28466//
28467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28468// with awserr.Error's Code and Message methods to get detailed information about
28469// the error.
28470//
28471// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28472// API operation ReplaceRoute for usage and error information.
28473// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
28474func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
28475	req, out := c.ReplaceRouteRequest(input)
28476	return out, req.Send()
28477}
28478
28479// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
28480// the ability to pass a context and additional request options.
28481//
28482// See ReplaceRoute for details on how to use this API operation.
28483//
28484// The context must be non-nil and will be used for request cancellation. If
28485// the context is nil a panic will occur. In the future the SDK may create
28486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28487// for more information on using Contexts.
28488func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
28489	req, out := c.ReplaceRouteRequest(input)
28490	req.SetContext(ctx)
28491	req.ApplyOptions(opts...)
28492	return out, req.Send()
28493}
28494
28495const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
28496
28497// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
28498// client's request for the ReplaceRouteTableAssociation operation. The "output" return
28499// value will be populated with the request's response once the request completes
28500// successfully.
28501//
28502// Use "Send" method on the returned Request to send the API call to the service.
28503// the "output" return value is not valid until after Send returns without error.
28504//
28505// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
28506// API call, and error handling.
28507//
28508// This method is useful when you want to inject custom logic or configuration
28509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28510//
28511//
28512//    // Example sending a request using the ReplaceRouteTableAssociationRequest method.
28513//    req, resp := client.ReplaceRouteTableAssociationRequest(params)
28514//
28515//    err := req.Send()
28516//    if err == nil { // resp is now filled
28517//        fmt.Println(resp)
28518//    }
28519//
28520// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
28521func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
28522	op := &request.Operation{
28523		Name:       opReplaceRouteTableAssociation,
28524		HTTPMethod: "POST",
28525		HTTPPath:   "/",
28526	}
28527
28528	if input == nil {
28529		input = &ReplaceRouteTableAssociationInput{}
28530	}
28531
28532	output = &ReplaceRouteTableAssociationOutput{}
28533	req = c.newRequest(op, input, output)
28534	return
28535}
28536
28537// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
28538//
28539// Changes the route table associated with a given subnet in a VPC. After the
28540// operation completes, the subnet uses the routes in the new route table it's
28541// associated with. For more information about route tables, see Route Tables
28542// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
28543// in the Amazon Virtual Private Cloud User Guide.
28544//
28545// You can also use ReplaceRouteTableAssociation to change which table is the
28546// main route table in the VPC. You just specify the main route table's association
28547// ID and the route table to be the new main route table.
28548//
28549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28550// with awserr.Error's Code and Message methods to get detailed information about
28551// the error.
28552//
28553// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28554// API operation ReplaceRouteTableAssociation for usage and error information.
28555// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
28556func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
28557	req, out := c.ReplaceRouteTableAssociationRequest(input)
28558	return out, req.Send()
28559}
28560
28561// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
28562// the ability to pass a context and additional request options.
28563//
28564// See ReplaceRouteTableAssociation for details on how to use this API operation.
28565//
28566// The context must be non-nil and will be used for request cancellation. If
28567// the context is nil a panic will occur. In the future the SDK may create
28568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28569// for more information on using Contexts.
28570func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
28571	req, out := c.ReplaceRouteTableAssociationRequest(input)
28572	req.SetContext(ctx)
28573	req.ApplyOptions(opts...)
28574	return out, req.Send()
28575}
28576
28577const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
28578
28579// ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
28580// client's request for the ReplaceTransitGatewayRoute operation. The "output" return
28581// value will be populated with the request's response once the request completes
28582// successfully.
28583//
28584// Use "Send" method on the returned Request to send the API call to the service.
28585// the "output" return value is not valid until after Send returns without error.
28586//
28587// See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
28588// API call, and error handling.
28589//
28590// This method is useful when you want to inject custom logic or configuration
28591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28592//
28593//
28594//    // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
28595//    req, resp := client.ReplaceTransitGatewayRouteRequest(params)
28596//
28597//    err := req.Send()
28598//    if err == nil { // resp is now filled
28599//        fmt.Println(resp)
28600//    }
28601//
28602// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
28603func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
28604	op := &request.Operation{
28605		Name:       opReplaceTransitGatewayRoute,
28606		HTTPMethod: "POST",
28607		HTTPPath:   "/",
28608	}
28609
28610	if input == nil {
28611		input = &ReplaceTransitGatewayRouteInput{}
28612	}
28613
28614	output = &ReplaceTransitGatewayRouteOutput{}
28615	req = c.newRequest(op, input, output)
28616	return
28617}
28618
28619// ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
28620//
28621// Replaces the specified route in the specified transit gateway route table.
28622//
28623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28624// with awserr.Error's Code and Message methods to get detailed information about
28625// the error.
28626//
28627// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28628// API operation ReplaceTransitGatewayRoute for usage and error information.
28629// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
28630func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
28631	req, out := c.ReplaceTransitGatewayRouteRequest(input)
28632	return out, req.Send()
28633}
28634
28635// ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
28636// the ability to pass a context and additional request options.
28637//
28638// See ReplaceTransitGatewayRoute for details on how to use this API operation.
28639//
28640// The context must be non-nil and will be used for request cancellation. If
28641// the context is nil a panic will occur. In the future the SDK may create
28642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28643// for more information on using Contexts.
28644func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
28645	req, out := c.ReplaceTransitGatewayRouteRequest(input)
28646	req.SetContext(ctx)
28647	req.ApplyOptions(opts...)
28648	return out, req.Send()
28649}
28650
28651const opReportInstanceStatus = "ReportInstanceStatus"
28652
28653// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
28654// client's request for the ReportInstanceStatus operation. The "output" return
28655// value will be populated with the request's response once the request completes
28656// successfully.
28657//
28658// Use "Send" method on the returned Request to send the API call to the service.
28659// the "output" return value is not valid until after Send returns without error.
28660//
28661// See ReportInstanceStatus for more information on using the ReportInstanceStatus
28662// API call, and error handling.
28663//
28664// This method is useful when you want to inject custom logic or configuration
28665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28666//
28667//
28668//    // Example sending a request using the ReportInstanceStatusRequest method.
28669//    req, resp := client.ReportInstanceStatusRequest(params)
28670//
28671//    err := req.Send()
28672//    if err == nil { // resp is now filled
28673//        fmt.Println(resp)
28674//    }
28675//
28676// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
28677func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
28678	op := &request.Operation{
28679		Name:       opReportInstanceStatus,
28680		HTTPMethod: "POST",
28681		HTTPPath:   "/",
28682	}
28683
28684	if input == nil {
28685		input = &ReportInstanceStatusInput{}
28686	}
28687
28688	output = &ReportInstanceStatusOutput{}
28689	req = c.newRequest(op, input, output)
28690	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28691	return
28692}
28693
28694// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
28695//
28696// Submits feedback about the status of an instance. The instance must be in
28697// the running state. If your experience with the instance differs from the
28698// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
28699// to report your experience with the instance. Amazon EC2 collects this information
28700// to improve the accuracy of status checks.
28701//
28702// Use of this action does not change the value returned by DescribeInstanceStatus.
28703//
28704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28705// with awserr.Error's Code and Message methods to get detailed information about
28706// the error.
28707//
28708// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28709// API operation ReportInstanceStatus for usage and error information.
28710// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
28711func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
28712	req, out := c.ReportInstanceStatusRequest(input)
28713	return out, req.Send()
28714}
28715
28716// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
28717// the ability to pass a context and additional request options.
28718//
28719// See ReportInstanceStatus for details on how to use this API operation.
28720//
28721// The context must be non-nil and will be used for request cancellation. If
28722// the context is nil a panic will occur. In the future the SDK may create
28723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28724// for more information on using Contexts.
28725func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
28726	req, out := c.ReportInstanceStatusRequest(input)
28727	req.SetContext(ctx)
28728	req.ApplyOptions(opts...)
28729	return out, req.Send()
28730}
28731
28732const opRequestSpotFleet = "RequestSpotFleet"
28733
28734// RequestSpotFleetRequest generates a "aws/request.Request" representing the
28735// client's request for the RequestSpotFleet operation. The "output" return
28736// value will be populated with the request's response once the request completes
28737// successfully.
28738//
28739// Use "Send" method on the returned Request to send the API call to the service.
28740// the "output" return value is not valid until after Send returns without error.
28741//
28742// See RequestSpotFleet for more information on using the RequestSpotFleet
28743// API call, and error handling.
28744//
28745// This method is useful when you want to inject custom logic or configuration
28746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28747//
28748//
28749//    // Example sending a request using the RequestSpotFleetRequest method.
28750//    req, resp := client.RequestSpotFleetRequest(params)
28751//
28752//    err := req.Send()
28753//    if err == nil { // resp is now filled
28754//        fmt.Println(resp)
28755//    }
28756//
28757// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
28758func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
28759	op := &request.Operation{
28760		Name:       opRequestSpotFleet,
28761		HTTPMethod: "POST",
28762		HTTPPath:   "/",
28763	}
28764
28765	if input == nil {
28766		input = &RequestSpotFleetInput{}
28767	}
28768
28769	output = &RequestSpotFleetOutput{}
28770	req = c.newRequest(op, input, output)
28771	return
28772}
28773
28774// RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
28775//
28776// Creates a Spot Fleet request.
28777//
28778// The Spot Fleet request specifies the total target capacity and the On-Demand
28779// target capacity. Amazon EC2 calculates the difference between the total capacity
28780// and On-Demand capacity, and launches the difference as Spot capacity.
28781//
28782// You can submit a single request that includes multiple launch specifications
28783// that vary by instance type, AMI, Availability Zone, or subnet.
28784//
28785// By default, the Spot Fleet requests Spot Instances in the Spot pool where
28786// the price per unit is the lowest. Each launch specification can include its
28787// own instance weighting that reflects the value of the instance type to your
28788// application workload.
28789//
28790// Alternatively, you can specify that the Spot Fleet distribute the target
28791// capacity across the Spot pools included in its launch specifications. By
28792// ensuring that the Spot Instances in your Spot Fleet are in different Spot
28793// pools, you can improve the availability of your fleet.
28794//
28795// You can specify tags for the Spot Instances. You cannot tag other resource
28796// types in a Spot Fleet request because only the instance resource type is
28797// supported.
28798//
28799// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
28800// in the Amazon EC2 User Guide for Linux Instances.
28801//
28802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28803// with awserr.Error's Code and Message methods to get detailed information about
28804// the error.
28805//
28806// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28807// API operation RequestSpotFleet for usage and error information.
28808// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
28809func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
28810	req, out := c.RequestSpotFleetRequest(input)
28811	return out, req.Send()
28812}
28813
28814// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
28815// the ability to pass a context and additional request options.
28816//
28817// See RequestSpotFleet for details on how to use this API operation.
28818//
28819// The context must be non-nil and will be used for request cancellation. If
28820// the context is nil a panic will occur. In the future the SDK may create
28821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28822// for more information on using Contexts.
28823func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
28824	req, out := c.RequestSpotFleetRequest(input)
28825	req.SetContext(ctx)
28826	req.ApplyOptions(opts...)
28827	return out, req.Send()
28828}
28829
28830const opRequestSpotInstances = "RequestSpotInstances"
28831
28832// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
28833// client's request for the RequestSpotInstances operation. The "output" return
28834// value will be populated with the request's response once the request completes
28835// successfully.
28836//
28837// Use "Send" method on the returned Request to send the API call to the service.
28838// the "output" return value is not valid until after Send returns without error.
28839//
28840// See RequestSpotInstances for more information on using the RequestSpotInstances
28841// API call, and error handling.
28842//
28843// This method is useful when you want to inject custom logic or configuration
28844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28845//
28846//
28847//    // Example sending a request using the RequestSpotInstancesRequest method.
28848//    req, resp := client.RequestSpotInstancesRequest(params)
28849//
28850//    err := req.Send()
28851//    if err == nil { // resp is now filled
28852//        fmt.Println(resp)
28853//    }
28854//
28855// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
28856func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
28857	op := &request.Operation{
28858		Name:       opRequestSpotInstances,
28859		HTTPMethod: "POST",
28860		HTTPPath:   "/",
28861	}
28862
28863	if input == nil {
28864		input = &RequestSpotInstancesInput{}
28865	}
28866
28867	output = &RequestSpotInstancesOutput{}
28868	req = c.newRequest(op, input, output)
28869	return
28870}
28871
28872// RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
28873//
28874// Creates a Spot Instance request.
28875//
28876// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
28877// in the Amazon EC2 User Guide for Linux Instances.
28878//
28879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28880// with awserr.Error's Code and Message methods to get detailed information about
28881// the error.
28882//
28883// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28884// API operation RequestSpotInstances for usage and error information.
28885// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
28886func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
28887	req, out := c.RequestSpotInstancesRequest(input)
28888	return out, req.Send()
28889}
28890
28891// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
28892// the ability to pass a context and additional request options.
28893//
28894// See RequestSpotInstances for details on how to use this API operation.
28895//
28896// The context must be non-nil and will be used for request cancellation. If
28897// the context is nil a panic will occur. In the future the SDK may create
28898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28899// for more information on using Contexts.
28900func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
28901	req, out := c.RequestSpotInstancesRequest(input)
28902	req.SetContext(ctx)
28903	req.ApplyOptions(opts...)
28904	return out, req.Send()
28905}
28906
28907const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId"
28908
28909// ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
28910// client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return
28911// value will be populated with the request's response once the request completes
28912// successfully.
28913//
28914// Use "Send" method on the returned Request to send the API call to the service.
28915// the "output" return value is not valid until after Send returns without error.
28916//
28917// See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId
28918// API call, and error handling.
28919//
28920// This method is useful when you want to inject custom logic or configuration
28921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28922//
28923//
28924//    // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method.
28925//    req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params)
28926//
28927//    err := req.Send()
28928//    if err == nil { // resp is now filled
28929//        fmt.Println(resp)
28930//    }
28931//
28932// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
28933func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) {
28934	op := &request.Operation{
28935		Name:       opResetEbsDefaultKmsKeyId,
28936		HTTPMethod: "POST",
28937		HTTPPath:   "/",
28938	}
28939
28940	if input == nil {
28941		input = &ResetEbsDefaultKmsKeyIdInput{}
28942	}
28943
28944	output = &ResetEbsDefaultKmsKeyIdOutput{}
28945	req = c.newRequest(op, input, output)
28946	return
28947}
28948
28949// ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
28950//
28951// Resets the account's default customer master key (CMK) to the account's AWS-managed
28952// default CMK. This default CMK is used to encrypt EBS volumes when you have
28953// enabled EBS encryption by default without specifying a CMK in the API call.
28954// If you have not enabled encryption by default, then this CMK is used when
28955// you set the Encrypted parameter to true without specifying a custom CMK in
28956// the API call.
28957//
28958// Call this API if you have modified the default CMK that is used for encrypting
28959// your EBS volume using ModifyEbsDefaultKmsKeyId and you want to reset it to
28960// the AWS-managed default CMK. After resetting, you can continue to provide
28961// a CMK of your choice in the API call that creates the volume. However, if
28962// no CMK is specified, your account will encrypt the volume to the AWS-managed
28963// default CMK.
28964//
28965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28966// with awserr.Error's Code and Message methods to get detailed information about
28967// the error.
28968//
28969// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28970// API operation ResetEbsDefaultKmsKeyId for usage and error information.
28971// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
28972func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) {
28973	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
28974	return out, req.Send()
28975}
28976
28977// ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of
28978// the ability to pass a context and additional request options.
28979//
28980// See ResetEbsDefaultKmsKeyId for details on how to use this API operation.
28981//
28982// The context must be non-nil and will be used for request cancellation. If
28983// the context is nil a panic will occur. In the future the SDK may create
28984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28985// for more information on using Contexts.
28986func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) {
28987	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
28988	req.SetContext(ctx)
28989	req.ApplyOptions(opts...)
28990	return out, req.Send()
28991}
28992
28993const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
28994
28995// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
28996// client's request for the ResetFpgaImageAttribute operation. The "output" return
28997// value will be populated with the request's response once the request completes
28998// successfully.
28999//
29000// Use "Send" method on the returned Request to send the API call to the service.
29001// the "output" return value is not valid until after Send returns without error.
29002//
29003// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
29004// API call, and error handling.
29005//
29006// This method is useful when you want to inject custom logic or configuration
29007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29008//
29009//
29010//    // Example sending a request using the ResetFpgaImageAttributeRequest method.
29011//    req, resp := client.ResetFpgaImageAttributeRequest(params)
29012//
29013//    err := req.Send()
29014//    if err == nil { // resp is now filled
29015//        fmt.Println(resp)
29016//    }
29017//
29018// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
29019func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
29020	op := &request.Operation{
29021		Name:       opResetFpgaImageAttribute,
29022		HTTPMethod: "POST",
29023		HTTPPath:   "/",
29024	}
29025
29026	if input == nil {
29027		input = &ResetFpgaImageAttributeInput{}
29028	}
29029
29030	output = &ResetFpgaImageAttributeOutput{}
29031	req = c.newRequest(op, input, output)
29032	return
29033}
29034
29035// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
29036//
29037// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
29038// its default value. You can only reset the load permission attribute.
29039//
29040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29041// with awserr.Error's Code and Message methods to get detailed information about
29042// the error.
29043//
29044// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29045// API operation ResetFpgaImageAttribute for usage and error information.
29046// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
29047func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
29048	req, out := c.ResetFpgaImageAttributeRequest(input)
29049	return out, req.Send()
29050}
29051
29052// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
29053// the ability to pass a context and additional request options.
29054//
29055// See ResetFpgaImageAttribute for details on how to use this API operation.
29056//
29057// The context must be non-nil and will be used for request cancellation. If
29058// the context is nil a panic will occur. In the future the SDK may create
29059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29060// for more information on using Contexts.
29061func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
29062	req, out := c.ResetFpgaImageAttributeRequest(input)
29063	req.SetContext(ctx)
29064	req.ApplyOptions(opts...)
29065	return out, req.Send()
29066}
29067
29068const opResetImageAttribute = "ResetImageAttribute"
29069
29070// ResetImageAttributeRequest generates a "aws/request.Request" representing the
29071// client's request for the ResetImageAttribute operation. The "output" return
29072// value will be populated with the request's response once the request completes
29073// successfully.
29074//
29075// Use "Send" method on the returned Request to send the API call to the service.
29076// the "output" return value is not valid until after Send returns without error.
29077//
29078// See ResetImageAttribute for more information on using the ResetImageAttribute
29079// API call, and error handling.
29080//
29081// This method is useful when you want to inject custom logic or configuration
29082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29083//
29084//
29085//    // Example sending a request using the ResetImageAttributeRequest method.
29086//    req, resp := client.ResetImageAttributeRequest(params)
29087//
29088//    err := req.Send()
29089//    if err == nil { // resp is now filled
29090//        fmt.Println(resp)
29091//    }
29092//
29093// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
29094func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
29095	op := &request.Operation{
29096		Name:       opResetImageAttribute,
29097		HTTPMethod: "POST",
29098		HTTPPath:   "/",
29099	}
29100
29101	if input == nil {
29102		input = &ResetImageAttributeInput{}
29103	}
29104
29105	output = &ResetImageAttributeOutput{}
29106	req = c.newRequest(op, input, output)
29107	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29108	return
29109}
29110
29111// ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
29112//
29113// Resets an attribute of an AMI to its default value.
29114//
29115// The productCodes attribute can't be reset.
29116//
29117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29118// with awserr.Error's Code and Message methods to get detailed information about
29119// the error.
29120//
29121// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29122// API operation ResetImageAttribute for usage and error information.
29123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
29124func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
29125	req, out := c.ResetImageAttributeRequest(input)
29126	return out, req.Send()
29127}
29128
29129// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
29130// the ability to pass a context and additional request options.
29131//
29132// See ResetImageAttribute for details on how to use this API operation.
29133//
29134// The context must be non-nil and will be used for request cancellation. If
29135// the context is nil a panic will occur. In the future the SDK may create
29136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29137// for more information on using Contexts.
29138func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
29139	req, out := c.ResetImageAttributeRequest(input)
29140	req.SetContext(ctx)
29141	req.ApplyOptions(opts...)
29142	return out, req.Send()
29143}
29144
29145const opResetInstanceAttribute = "ResetInstanceAttribute"
29146
29147// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
29148// client's request for the ResetInstanceAttribute operation. The "output" return
29149// value will be populated with the request's response once the request completes
29150// successfully.
29151//
29152// Use "Send" method on the returned Request to send the API call to the service.
29153// the "output" return value is not valid until after Send returns without error.
29154//
29155// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
29156// API call, and error handling.
29157//
29158// This method is useful when you want to inject custom logic or configuration
29159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29160//
29161//
29162//    // Example sending a request using the ResetInstanceAttributeRequest method.
29163//    req, resp := client.ResetInstanceAttributeRequest(params)
29164//
29165//    err := req.Send()
29166//    if err == nil { // resp is now filled
29167//        fmt.Println(resp)
29168//    }
29169//
29170// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
29171func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
29172	op := &request.Operation{
29173		Name:       opResetInstanceAttribute,
29174		HTTPMethod: "POST",
29175		HTTPPath:   "/",
29176	}
29177
29178	if input == nil {
29179		input = &ResetInstanceAttributeInput{}
29180	}
29181
29182	output = &ResetInstanceAttributeOutput{}
29183	req = c.newRequest(op, input, output)
29184	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29185	return
29186}
29187
29188// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
29189//
29190// Resets an attribute of an instance to its default value. To reset the kernel
29191// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
29192// the instance can be either running or stopped.
29193//
29194// The sourceDestCheck attribute controls whether source/destination checking
29195// is enabled. The default value is true, which means checking is enabled. This
29196// value must be false for a NAT instance to perform NAT. For more information,
29197// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
29198// in the Amazon Virtual Private Cloud User Guide.
29199//
29200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29201// with awserr.Error's Code and Message methods to get detailed information about
29202// the error.
29203//
29204// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29205// API operation ResetInstanceAttribute for usage and error information.
29206// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
29207func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
29208	req, out := c.ResetInstanceAttributeRequest(input)
29209	return out, req.Send()
29210}
29211
29212// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
29213// the ability to pass a context and additional request options.
29214//
29215// See ResetInstanceAttribute for details on how to use this API operation.
29216//
29217// The context must be non-nil and will be used for request cancellation. If
29218// the context is nil a panic will occur. In the future the SDK may create
29219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29220// for more information on using Contexts.
29221func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
29222	req, out := c.ResetInstanceAttributeRequest(input)
29223	req.SetContext(ctx)
29224	req.ApplyOptions(opts...)
29225	return out, req.Send()
29226}
29227
29228const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
29229
29230// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
29231// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
29232// value will be populated with the request's response once the request completes
29233// successfully.
29234//
29235// Use "Send" method on the returned Request to send the API call to the service.
29236// the "output" return value is not valid until after Send returns without error.
29237//
29238// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
29239// API call, and error handling.
29240//
29241// This method is useful when you want to inject custom logic or configuration
29242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29243//
29244//
29245//    // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
29246//    req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
29247//
29248//    err := req.Send()
29249//    if err == nil { // resp is now filled
29250//        fmt.Println(resp)
29251//    }
29252//
29253// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
29254func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
29255	op := &request.Operation{
29256		Name:       opResetNetworkInterfaceAttribute,
29257		HTTPMethod: "POST",
29258		HTTPPath:   "/",
29259	}
29260
29261	if input == nil {
29262		input = &ResetNetworkInterfaceAttributeInput{}
29263	}
29264
29265	output = &ResetNetworkInterfaceAttributeOutput{}
29266	req = c.newRequest(op, input, output)
29267	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29268	return
29269}
29270
29271// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
29272//
29273// Resets a network interface attribute. You can specify only one attribute
29274// at a time.
29275//
29276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29277// with awserr.Error's Code and Message methods to get detailed information about
29278// the error.
29279//
29280// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29281// API operation ResetNetworkInterfaceAttribute for usage and error information.
29282// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
29283func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
29284	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
29285	return out, req.Send()
29286}
29287
29288// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
29289// the ability to pass a context and additional request options.
29290//
29291// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
29292//
29293// The context must be non-nil and will be used for request cancellation. If
29294// the context is nil a panic will occur. In the future the SDK may create
29295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29296// for more information on using Contexts.
29297func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
29298	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
29299	req.SetContext(ctx)
29300	req.ApplyOptions(opts...)
29301	return out, req.Send()
29302}
29303
29304const opResetSnapshotAttribute = "ResetSnapshotAttribute"
29305
29306// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
29307// client's request for the ResetSnapshotAttribute operation. The "output" return
29308// value will be populated with the request's response once the request completes
29309// successfully.
29310//
29311// Use "Send" method on the returned Request to send the API call to the service.
29312// the "output" return value is not valid until after Send returns without error.
29313//
29314// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
29315// API call, and error handling.
29316//
29317// This method is useful when you want to inject custom logic or configuration
29318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29319//
29320//
29321//    // Example sending a request using the ResetSnapshotAttributeRequest method.
29322//    req, resp := client.ResetSnapshotAttributeRequest(params)
29323//
29324//    err := req.Send()
29325//    if err == nil { // resp is now filled
29326//        fmt.Println(resp)
29327//    }
29328//
29329// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
29330func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
29331	op := &request.Operation{
29332		Name:       opResetSnapshotAttribute,
29333		HTTPMethod: "POST",
29334		HTTPPath:   "/",
29335	}
29336
29337	if input == nil {
29338		input = &ResetSnapshotAttributeInput{}
29339	}
29340
29341	output = &ResetSnapshotAttributeOutput{}
29342	req = c.newRequest(op, input, output)
29343	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29344	return
29345}
29346
29347// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
29348//
29349// Resets permission settings for the specified snapshot.
29350//
29351// For more information about modifying snapshot permissions, see Sharing Snapshots
29352// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
29353// in the Amazon Elastic Compute Cloud User Guide.
29354//
29355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29356// with awserr.Error's Code and Message methods to get detailed information about
29357// the error.
29358//
29359// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29360// API operation ResetSnapshotAttribute for usage and error information.
29361// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
29362func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
29363	req, out := c.ResetSnapshotAttributeRequest(input)
29364	return out, req.Send()
29365}
29366
29367// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
29368// the ability to pass a context and additional request options.
29369//
29370// See ResetSnapshotAttribute for details on how to use this API operation.
29371//
29372// The context must be non-nil and will be used for request cancellation. If
29373// the context is nil a panic will occur. In the future the SDK may create
29374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29375// for more information on using Contexts.
29376func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
29377	req, out := c.ResetSnapshotAttributeRequest(input)
29378	req.SetContext(ctx)
29379	req.ApplyOptions(opts...)
29380	return out, req.Send()
29381}
29382
29383const opRestoreAddressToClassic = "RestoreAddressToClassic"
29384
29385// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
29386// client's request for the RestoreAddressToClassic operation. The "output" return
29387// value will be populated with the request's response once the request completes
29388// successfully.
29389//
29390// Use "Send" method on the returned Request to send the API call to the service.
29391// the "output" return value is not valid until after Send returns without error.
29392//
29393// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
29394// API call, and error handling.
29395//
29396// This method is useful when you want to inject custom logic or configuration
29397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29398//
29399//
29400//    // Example sending a request using the RestoreAddressToClassicRequest method.
29401//    req, resp := client.RestoreAddressToClassicRequest(params)
29402//
29403//    err := req.Send()
29404//    if err == nil { // resp is now filled
29405//        fmt.Println(resp)
29406//    }
29407//
29408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
29409func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
29410	op := &request.Operation{
29411		Name:       opRestoreAddressToClassic,
29412		HTTPMethod: "POST",
29413		HTTPPath:   "/",
29414	}
29415
29416	if input == nil {
29417		input = &RestoreAddressToClassicInput{}
29418	}
29419
29420	output = &RestoreAddressToClassicOutput{}
29421	req = c.newRequest(op, input, output)
29422	return
29423}
29424
29425// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
29426//
29427// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
29428// back to the EC2-Classic platform. You cannot move an Elastic IP address that
29429// was originally allocated for use in EC2-VPC. The Elastic IP address must
29430// not be associated with an instance or network interface.
29431//
29432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29433// with awserr.Error's Code and Message methods to get detailed information about
29434// the error.
29435//
29436// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29437// API operation RestoreAddressToClassic for usage and error information.
29438// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
29439func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
29440	req, out := c.RestoreAddressToClassicRequest(input)
29441	return out, req.Send()
29442}
29443
29444// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
29445// the ability to pass a context and additional request options.
29446//
29447// See RestoreAddressToClassic for details on how to use this API operation.
29448//
29449// The context must be non-nil and will be used for request cancellation. If
29450// the context is nil a panic will occur. In the future the SDK may create
29451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29452// for more information on using Contexts.
29453func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
29454	req, out := c.RestoreAddressToClassicRequest(input)
29455	req.SetContext(ctx)
29456	req.ApplyOptions(opts...)
29457	return out, req.Send()
29458}
29459
29460const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
29461
29462// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
29463// client's request for the RevokeClientVpnIngress operation. The "output" return
29464// value will be populated with the request's response once the request completes
29465// successfully.
29466//
29467// Use "Send" method on the returned Request to send the API call to the service.
29468// the "output" return value is not valid until after Send returns without error.
29469//
29470// See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
29471// API call, and error handling.
29472//
29473// This method is useful when you want to inject custom logic or configuration
29474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29475//
29476//
29477//    // Example sending a request using the RevokeClientVpnIngressRequest method.
29478//    req, resp := client.RevokeClientVpnIngressRequest(params)
29479//
29480//    err := req.Send()
29481//    if err == nil { // resp is now filled
29482//        fmt.Println(resp)
29483//    }
29484//
29485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
29486func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
29487	op := &request.Operation{
29488		Name:       opRevokeClientVpnIngress,
29489		HTTPMethod: "POST",
29490		HTTPPath:   "/",
29491	}
29492
29493	if input == nil {
29494		input = &RevokeClientVpnIngressInput{}
29495	}
29496
29497	output = &RevokeClientVpnIngressOutput{}
29498	req = c.newRequest(op, input, output)
29499	return
29500}
29501
29502// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
29503//
29504// Removes an ingress authorization rule from a Client VPN endpoint.
29505//
29506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29507// with awserr.Error's Code and Message methods to get detailed information about
29508// the error.
29509//
29510// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29511// API operation RevokeClientVpnIngress for usage and error information.
29512// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
29513func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
29514	req, out := c.RevokeClientVpnIngressRequest(input)
29515	return out, req.Send()
29516}
29517
29518// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
29519// the ability to pass a context and additional request options.
29520//
29521// See RevokeClientVpnIngress for details on how to use this API operation.
29522//
29523// The context must be non-nil and will be used for request cancellation. If
29524// the context is nil a panic will occur. In the future the SDK may create
29525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29526// for more information on using Contexts.
29527func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
29528	req, out := c.RevokeClientVpnIngressRequest(input)
29529	req.SetContext(ctx)
29530	req.ApplyOptions(opts...)
29531	return out, req.Send()
29532}
29533
29534const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
29535
29536// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
29537// client's request for the RevokeSecurityGroupEgress operation. The "output" return
29538// value will be populated with the request's response once the request completes
29539// successfully.
29540//
29541// Use "Send" method on the returned Request to send the API call to the service.
29542// the "output" return value is not valid until after Send returns without error.
29543//
29544// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
29545// API call, and error handling.
29546//
29547// This method is useful when you want to inject custom logic or configuration
29548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29549//
29550//
29551//    // Example sending a request using the RevokeSecurityGroupEgressRequest method.
29552//    req, resp := client.RevokeSecurityGroupEgressRequest(params)
29553//
29554//    err := req.Send()
29555//    if err == nil { // resp is now filled
29556//        fmt.Println(resp)
29557//    }
29558//
29559// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
29560func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
29561	op := &request.Operation{
29562		Name:       opRevokeSecurityGroupEgress,
29563		HTTPMethod: "POST",
29564		HTTPPath:   "/",
29565	}
29566
29567	if input == nil {
29568		input = &RevokeSecurityGroupEgressInput{}
29569	}
29570
29571	output = &RevokeSecurityGroupEgressOutput{}
29572	req = c.newRequest(op, input, output)
29573	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29574	return
29575}
29576
29577// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
29578//
29579// [VPC only] Removes the specified egress rules from a security group for EC2-VPC.
29580// This action doesn't apply to security groups for use in EC2-Classic. To remove
29581// a rule, the values that you specify (for example, ports) must match the existing
29582// rule's values exactly.
29583//
29584// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
29585// security group. For the TCP and UDP protocols, you must also specify the
29586// destination port or range of ports. For the ICMP protocol, you must also
29587// specify the ICMP type and code. If the security group rule has a description,
29588// you do not have to specify the description to revoke the rule.
29589//
29590// Rule changes are propagated to instances within the security group as quickly
29591// as possible. However, a small delay might occur.
29592//
29593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29594// with awserr.Error's Code and Message methods to get detailed information about
29595// the error.
29596//
29597// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29598// API operation RevokeSecurityGroupEgress for usage and error information.
29599// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
29600func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
29601	req, out := c.RevokeSecurityGroupEgressRequest(input)
29602	return out, req.Send()
29603}
29604
29605// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
29606// the ability to pass a context and additional request options.
29607//
29608// See RevokeSecurityGroupEgress for details on how to use this API operation.
29609//
29610// The context must be non-nil and will be used for request cancellation. If
29611// the context is nil a panic will occur. In the future the SDK may create
29612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29613// for more information on using Contexts.
29614func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
29615	req, out := c.RevokeSecurityGroupEgressRequest(input)
29616	req.SetContext(ctx)
29617	req.ApplyOptions(opts...)
29618	return out, req.Send()
29619}
29620
29621const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
29622
29623// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
29624// client's request for the RevokeSecurityGroupIngress operation. The "output" return
29625// value will be populated with the request's response once the request completes
29626// successfully.
29627//
29628// Use "Send" method on the returned Request to send the API call to the service.
29629// the "output" return value is not valid until after Send returns without error.
29630//
29631// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
29632// API call, and error handling.
29633//
29634// This method is useful when you want to inject custom logic or configuration
29635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29636//
29637//
29638//    // Example sending a request using the RevokeSecurityGroupIngressRequest method.
29639//    req, resp := client.RevokeSecurityGroupIngressRequest(params)
29640//
29641//    err := req.Send()
29642//    if err == nil { // resp is now filled
29643//        fmt.Println(resp)
29644//    }
29645//
29646// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
29647func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
29648	op := &request.Operation{
29649		Name:       opRevokeSecurityGroupIngress,
29650		HTTPMethod: "POST",
29651		HTTPPath:   "/",
29652	}
29653
29654	if input == nil {
29655		input = &RevokeSecurityGroupIngressInput{}
29656	}
29657
29658	output = &RevokeSecurityGroupIngressOutput{}
29659	req = c.newRequest(op, input, output)
29660	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29661	return
29662}
29663
29664// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
29665//
29666// Removes the specified ingress rules from a security group. To remove a rule,
29667// the values that you specify (for example, ports) must match the existing
29668// rule's values exactly.
29669//
29670// [EC2-Classic only] If the values you specify do not match the existing rule's
29671// values, no error is returned. Use DescribeSecurityGroups to verify that the
29672// rule has been removed.
29673//
29674// Each rule consists of the protocol and the CIDR range or source security
29675// group. For the TCP and UDP protocols, you must also specify the destination
29676// port or range of ports. For the ICMP protocol, you must also specify the
29677// ICMP type and code. If the security group rule has a description, you do
29678// not have to specify the description to revoke the rule.
29679//
29680// Rule changes are propagated to instances within the security group as quickly
29681// as possible. However, a small delay might occur.
29682//
29683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29684// with awserr.Error's Code and Message methods to get detailed information about
29685// the error.
29686//
29687// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29688// API operation RevokeSecurityGroupIngress for usage and error information.
29689// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
29690func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
29691	req, out := c.RevokeSecurityGroupIngressRequest(input)
29692	return out, req.Send()
29693}
29694
29695// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
29696// the ability to pass a context and additional request options.
29697//
29698// See RevokeSecurityGroupIngress for details on how to use this API operation.
29699//
29700// The context must be non-nil and will be used for request cancellation. If
29701// the context is nil a panic will occur. In the future the SDK may create
29702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29703// for more information on using Contexts.
29704func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
29705	req, out := c.RevokeSecurityGroupIngressRequest(input)
29706	req.SetContext(ctx)
29707	req.ApplyOptions(opts...)
29708	return out, req.Send()
29709}
29710
29711const opRunInstances = "RunInstances"
29712
29713// RunInstancesRequest generates a "aws/request.Request" representing the
29714// client's request for the RunInstances operation. The "output" return
29715// value will be populated with the request's response once the request completes
29716// successfully.
29717//
29718// Use "Send" method on the returned Request to send the API call to the service.
29719// the "output" return value is not valid until after Send returns without error.
29720//
29721// See RunInstances for more information on using the RunInstances
29722// API call, and error handling.
29723//
29724// This method is useful when you want to inject custom logic or configuration
29725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29726//
29727//
29728//    // Example sending a request using the RunInstancesRequest method.
29729//    req, resp := client.RunInstancesRequest(params)
29730//
29731//    err := req.Send()
29732//    if err == nil { // resp is now filled
29733//        fmt.Println(resp)
29734//    }
29735//
29736// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
29737func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
29738	op := &request.Operation{
29739		Name:       opRunInstances,
29740		HTTPMethod: "POST",
29741		HTTPPath:   "/",
29742	}
29743
29744	if input == nil {
29745		input = &RunInstancesInput{}
29746	}
29747
29748	output = &Reservation{}
29749	req = c.newRequest(op, input, output)
29750	return
29751}
29752
29753// RunInstances API operation for Amazon Elastic Compute Cloud.
29754//
29755// Launches the specified number of instances using an AMI for which you have
29756// permissions.
29757//
29758// You can specify a number of options, or leave the default options. The following
29759// rules apply:
29760//
29761//    * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
29762//    from your default VPC for you. If you don't have a default VPC, you must
29763//    specify a subnet ID in the request.
29764//
29765//    * [EC2-Classic] If don't specify an Availability Zone, we choose one for
29766//    you.
29767//
29768//    * Some instance types must be launched into a VPC. If you do not have
29769//    a default VPC, or if you do not specify a subnet ID, the request fails.
29770//    For more information, see Instance Types Available Only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types).
29771//
29772//    * [EC2-VPC] All instances have a network interface with a primary private
29773//    IPv4 address. If you don't specify this address, we choose one from the
29774//    IPv4 range of your subnet.
29775//
29776//    * Not all instance types support IPv6 addresses. For more information,
29777//    see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
29778//
29779//    * If you don't specify a security group ID, we use the default security
29780//    group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
29781//
29782//    * If any of the AMIs have a product code attached for which the user has
29783//    not subscribed, the request fails.
29784//
29785// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
29786// which is a resource that contains the parameters to launch an instance. When
29787// you launch an instance using RunInstances, you can specify the launch template
29788// instead of specifying the launch parameters.
29789//
29790// To ensure faster instance launches, break up large requests into smaller
29791// batches. For example, create five separate launch requests for 100 instances
29792// each instead of one launch request for 500 instances.
29793//
29794// An instance is ready for you to use when it's in the running state. You can
29795// check the state of your instance using DescribeInstances. You can tag instances
29796// and EBS volumes during launch, after launch, or both. For more information,
29797// see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
29798//
29799// Linux instances have access to the public key of the key pair at boot. You
29800// can use this key to provide secure access to the instance. Amazon EC2 public
29801// images use this feature to provide secure access without passwords. For more
29802// information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
29803// in the Amazon Elastic Compute Cloud User Guide.
29804//
29805// For troubleshooting, see What To Do If An Instance Immediately Terminates
29806// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
29807// and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
29808// in the Amazon Elastic Compute Cloud User Guide.
29809//
29810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29811// with awserr.Error's Code and Message methods to get detailed information about
29812// the error.
29813//
29814// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29815// API operation RunInstances for usage and error information.
29816// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
29817func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
29818	req, out := c.RunInstancesRequest(input)
29819	return out, req.Send()
29820}
29821
29822// RunInstancesWithContext is the same as RunInstances with the addition of
29823// the ability to pass a context and additional request options.
29824//
29825// See RunInstances for details on how to use this API operation.
29826//
29827// The context must be non-nil and will be used for request cancellation. If
29828// the context is nil a panic will occur. In the future the SDK may create
29829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29830// for more information on using Contexts.
29831func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
29832	req, out := c.RunInstancesRequest(input)
29833	req.SetContext(ctx)
29834	req.ApplyOptions(opts...)
29835	return out, req.Send()
29836}
29837
29838const opRunScheduledInstances = "RunScheduledInstances"
29839
29840// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
29841// client's request for the RunScheduledInstances operation. The "output" return
29842// value will be populated with the request's response once the request completes
29843// successfully.
29844//
29845// Use "Send" method on the returned Request to send the API call to the service.
29846// the "output" return value is not valid until after Send returns without error.
29847//
29848// See RunScheduledInstances for more information on using the RunScheduledInstances
29849// API call, and error handling.
29850//
29851// This method is useful when you want to inject custom logic or configuration
29852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29853//
29854//
29855//    // Example sending a request using the RunScheduledInstancesRequest method.
29856//    req, resp := client.RunScheduledInstancesRequest(params)
29857//
29858//    err := req.Send()
29859//    if err == nil { // resp is now filled
29860//        fmt.Println(resp)
29861//    }
29862//
29863// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
29864func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
29865	op := &request.Operation{
29866		Name:       opRunScheduledInstances,
29867		HTTPMethod: "POST",
29868		HTTPPath:   "/",
29869	}
29870
29871	if input == nil {
29872		input = &RunScheduledInstancesInput{}
29873	}
29874
29875	output = &RunScheduledInstancesOutput{}
29876	req = c.newRequest(op, input, output)
29877	return
29878}
29879
29880// RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
29881//
29882// Launches the specified Scheduled Instances.
29883//
29884// Before you can launch a Scheduled Instance, you must purchase it and obtain
29885// an identifier using PurchaseScheduledInstances.
29886//
29887// You must launch a Scheduled Instance during its scheduled time period. You
29888// can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
29889// If you terminate a Scheduled Instance before the current scheduled time period
29890// ends, you can launch it again after a few minutes. For more information,
29891// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
29892// in the Amazon Elastic Compute Cloud User Guide.
29893//
29894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29895// with awserr.Error's Code and Message methods to get detailed information about
29896// the error.
29897//
29898// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29899// API operation RunScheduledInstances for usage and error information.
29900// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
29901func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
29902	req, out := c.RunScheduledInstancesRequest(input)
29903	return out, req.Send()
29904}
29905
29906// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
29907// the ability to pass a context and additional request options.
29908//
29909// See RunScheduledInstances for details on how to use this API operation.
29910//
29911// The context must be non-nil and will be used for request cancellation. If
29912// the context is nil a panic will occur. In the future the SDK may create
29913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29914// for more information on using Contexts.
29915func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
29916	req, out := c.RunScheduledInstancesRequest(input)
29917	req.SetContext(ctx)
29918	req.ApplyOptions(opts...)
29919	return out, req.Send()
29920}
29921
29922const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
29923
29924// SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
29925// client's request for the SearchTransitGatewayRoutes operation. The "output" return
29926// value will be populated with the request's response once the request completes
29927// successfully.
29928//
29929// Use "Send" method on the returned Request to send the API call to the service.
29930// the "output" return value is not valid until after Send returns without error.
29931//
29932// See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
29933// API call, and error handling.
29934//
29935// This method is useful when you want to inject custom logic or configuration
29936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29937//
29938//
29939//    // Example sending a request using the SearchTransitGatewayRoutesRequest method.
29940//    req, resp := client.SearchTransitGatewayRoutesRequest(params)
29941//
29942//    err := req.Send()
29943//    if err == nil { // resp is now filled
29944//        fmt.Println(resp)
29945//    }
29946//
29947// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
29948func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
29949	op := &request.Operation{
29950		Name:       opSearchTransitGatewayRoutes,
29951		HTTPMethod: "POST",
29952		HTTPPath:   "/",
29953	}
29954
29955	if input == nil {
29956		input = &SearchTransitGatewayRoutesInput{}
29957	}
29958
29959	output = &SearchTransitGatewayRoutesOutput{}
29960	req = c.newRequest(op, input, output)
29961	return
29962}
29963
29964// SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
29965//
29966// Searches for routes in the specified transit gateway route table.
29967//
29968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29969// with awserr.Error's Code and Message methods to get detailed information about
29970// the error.
29971//
29972// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29973// API operation SearchTransitGatewayRoutes for usage and error information.
29974// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
29975func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
29976	req, out := c.SearchTransitGatewayRoutesRequest(input)
29977	return out, req.Send()
29978}
29979
29980// SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
29981// the ability to pass a context and additional request options.
29982//
29983// See SearchTransitGatewayRoutes for details on how to use this API operation.
29984//
29985// The context must be non-nil and will be used for request cancellation. If
29986// the context is nil a panic will occur. In the future the SDK may create
29987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29988// for more information on using Contexts.
29989func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
29990	req, out := c.SearchTransitGatewayRoutesRequest(input)
29991	req.SetContext(ctx)
29992	req.ApplyOptions(opts...)
29993	return out, req.Send()
29994}
29995
29996const opStartInstances = "StartInstances"
29997
29998// StartInstancesRequest generates a "aws/request.Request" representing the
29999// client's request for the StartInstances operation. The "output" return
30000// value will be populated with the request's response once the request completes
30001// successfully.
30002//
30003// Use "Send" method on the returned Request to send the API call to the service.
30004// the "output" return value is not valid until after Send returns without error.
30005//
30006// See StartInstances for more information on using the StartInstances
30007// API call, and error handling.
30008//
30009// This method is useful when you want to inject custom logic or configuration
30010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30011//
30012//
30013//    // Example sending a request using the StartInstancesRequest method.
30014//    req, resp := client.StartInstancesRequest(params)
30015//
30016//    err := req.Send()
30017//    if err == nil { // resp is now filled
30018//        fmt.Println(resp)
30019//    }
30020//
30021// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
30022func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
30023	op := &request.Operation{
30024		Name:       opStartInstances,
30025		HTTPMethod: "POST",
30026		HTTPPath:   "/",
30027	}
30028
30029	if input == nil {
30030		input = &StartInstancesInput{}
30031	}
30032
30033	output = &StartInstancesOutput{}
30034	req = c.newRequest(op, input, output)
30035	return
30036}
30037
30038// StartInstances API operation for Amazon Elastic Compute Cloud.
30039//
30040// Starts an Amazon EBS-backed instance that you've previously stopped.
30041//
30042// Instances that use Amazon EBS volumes as their root devices can be quickly
30043// stopped and started. When an instance is stopped, the compute resources are
30044// released and you are not billed for instance usage. However, your root partition
30045// Amazon EBS volume remains and continues to persist your data, and you are
30046// charged for Amazon EBS volume usage. You can restart your instance at any
30047// time. Every time you start your Windows instance, Amazon EC2 charges you
30048// for a full instance hour. If you stop and restart your Windows instance,
30049// a new instance hour begins and Amazon EC2 charges you for another full instance
30050// hour even if you are still within the same 60-minute period when it was stopped.
30051// Every time you start your Linux instance, Amazon EC2 charges a one-minute
30052// minimum for instance usage, and thereafter charges per second for instance
30053// usage.
30054//
30055// Before stopping an instance, make sure it is in a state from which it can
30056// be restarted. Stopping an instance does not preserve data stored in RAM.
30057//
30058// Performing this operation on an instance that uses an instance store as its
30059// root device returns an error.
30060//
30061// For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
30062// in the Amazon Elastic Compute Cloud User Guide.
30063//
30064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30065// with awserr.Error's Code and Message methods to get detailed information about
30066// the error.
30067//
30068// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30069// API operation StartInstances for usage and error information.
30070// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
30071func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
30072	req, out := c.StartInstancesRequest(input)
30073	return out, req.Send()
30074}
30075
30076// StartInstancesWithContext is the same as StartInstances with the addition of
30077// the ability to pass a context and additional request options.
30078//
30079// See StartInstances for details on how to use this API operation.
30080//
30081// The context must be non-nil and will be used for request cancellation. If
30082// the context is nil a panic will occur. In the future the SDK may create
30083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30084// for more information on using Contexts.
30085func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
30086	req, out := c.StartInstancesRequest(input)
30087	req.SetContext(ctx)
30088	req.ApplyOptions(opts...)
30089	return out, req.Send()
30090}
30091
30092const opStopInstances = "StopInstances"
30093
30094// StopInstancesRequest generates a "aws/request.Request" representing the
30095// client's request for the StopInstances operation. The "output" return
30096// value will be populated with the request's response once the request completes
30097// successfully.
30098//
30099// Use "Send" method on the returned Request to send the API call to the service.
30100// the "output" return value is not valid until after Send returns without error.
30101//
30102// See StopInstances for more information on using the StopInstances
30103// API call, and error handling.
30104//
30105// This method is useful when you want to inject custom logic or configuration
30106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30107//
30108//
30109//    // Example sending a request using the StopInstancesRequest method.
30110//    req, resp := client.StopInstancesRequest(params)
30111//
30112//    err := req.Send()
30113//    if err == nil { // resp is now filled
30114//        fmt.Println(resp)
30115//    }
30116//
30117// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
30118func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
30119	op := &request.Operation{
30120		Name:       opStopInstances,
30121		HTTPMethod: "POST",
30122		HTTPPath:   "/",
30123	}
30124
30125	if input == nil {
30126		input = &StopInstancesInput{}
30127	}
30128
30129	output = &StopInstancesOutput{}
30130	req = c.newRequest(op, input, output)
30131	return
30132}
30133
30134// StopInstances API operation for Amazon Elastic Compute Cloud.
30135//
30136// Stops an Amazon EBS-backed instance.
30137//
30138// You can use the Stop action to hibernate an instance if the instance is enabled
30139// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
30140// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
30141// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
30142// in the Amazon Elastic Compute Cloud User Guide.
30143//
30144// We don't charge usage for a stopped instance, or data transfer fees; however,
30145// your root partition Amazon EBS volume remains and continues to persist your
30146// data, and you are charged for Amazon EBS volume usage. Every time you start
30147// your Windows instance, Amazon EC2 charges you for a full instance hour. If
30148// you stop and restart your Windows instance, a new instance hour begins and
30149// Amazon EC2 charges you for another full instance hour even if you are still
30150// within the same 60-minute period when it was stopped. Every time you start
30151// your Linux instance, Amazon EC2 charges a one-minute minimum for instance
30152// usage, and thereafter charges per second for instance usage.
30153//
30154// You can't start, stop, or hibernate Spot Instances, and you can't stop or
30155// hibernate instance store-backed instances. For information about using hibernation
30156// for Spot Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
30157// in the Amazon Elastic Compute Cloud User Guide.
30158//
30159// When you stop or hibernate an instance, we shut it down. You can restart
30160// your instance at any time. Before stopping or hibernating an instance, make
30161// sure it is in a state from which it can be restarted. Stopping an instance
30162// does not preserve data stored in RAM, but hibernating an instance does preserve
30163// data stored in RAM. If an instance cannot hibernate successfully, a normal
30164// shutdown occurs.
30165//
30166// Stopping and hibernating an instance is different to rebooting or terminating
30167// it. For example, when you stop or hibernate an instance, the root device
30168// and any other devices attached to the instance persist. When you terminate
30169// an instance, the root device and any other devices attached during the instance
30170// launch are automatically deleted. For more information about the differences
30171// between rebooting, stopping, hibernating, and terminating instances, see
30172// Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
30173// in the Amazon Elastic Compute Cloud User Guide.
30174//
30175// When you stop an instance, we attempt to shut it down forcibly after a short
30176// while. If your instance appears stuck in the stopping state after a period
30177// of time, there may be an issue with the underlying host computer. For more
30178// information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
30179// in the Amazon Elastic Compute Cloud User Guide.
30180//
30181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30182// with awserr.Error's Code and Message methods to get detailed information about
30183// the error.
30184//
30185// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30186// API operation StopInstances for usage and error information.
30187// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
30188func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
30189	req, out := c.StopInstancesRequest(input)
30190	return out, req.Send()
30191}
30192
30193// StopInstancesWithContext is the same as StopInstances with the addition of
30194// the ability to pass a context and additional request options.
30195//
30196// See StopInstances for details on how to use this API operation.
30197//
30198// The context must be non-nil and will be used for request cancellation. If
30199// the context is nil a panic will occur. In the future the SDK may create
30200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30201// for more information on using Contexts.
30202func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
30203	req, out := c.StopInstancesRequest(input)
30204	req.SetContext(ctx)
30205	req.ApplyOptions(opts...)
30206	return out, req.Send()
30207}
30208
30209const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
30210
30211// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
30212// client's request for the TerminateClientVpnConnections operation. The "output" return
30213// value will be populated with the request's response once the request completes
30214// successfully.
30215//
30216// Use "Send" method on the returned Request to send the API call to the service.
30217// the "output" return value is not valid until after Send returns without error.
30218//
30219// See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
30220// API call, and error handling.
30221//
30222// This method is useful when you want to inject custom logic or configuration
30223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30224//
30225//
30226//    // Example sending a request using the TerminateClientVpnConnectionsRequest method.
30227//    req, resp := client.TerminateClientVpnConnectionsRequest(params)
30228//
30229//    err := req.Send()
30230//    if err == nil { // resp is now filled
30231//        fmt.Println(resp)
30232//    }
30233//
30234// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
30235func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
30236	op := &request.Operation{
30237		Name:       opTerminateClientVpnConnections,
30238		HTTPMethod: "POST",
30239		HTTPPath:   "/",
30240	}
30241
30242	if input == nil {
30243		input = &TerminateClientVpnConnectionsInput{}
30244	}
30245
30246	output = &TerminateClientVpnConnectionsOutput{}
30247	req = c.newRequest(op, input, output)
30248	return
30249}
30250
30251// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
30252//
30253// Terminates active Client VPN endpoint connections. This action can be used
30254// to terminate a specific client connection, or up to five connections established
30255// by a specific user.
30256//
30257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30258// with awserr.Error's Code and Message methods to get detailed information about
30259// the error.
30260//
30261// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30262// API operation TerminateClientVpnConnections for usage and error information.
30263// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
30264func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
30265	req, out := c.TerminateClientVpnConnectionsRequest(input)
30266	return out, req.Send()
30267}
30268
30269// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
30270// the ability to pass a context and additional request options.
30271//
30272// See TerminateClientVpnConnections for details on how to use this API operation.
30273//
30274// The context must be non-nil and will be used for request cancellation. If
30275// the context is nil a panic will occur. In the future the SDK may create
30276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30277// for more information on using Contexts.
30278func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
30279	req, out := c.TerminateClientVpnConnectionsRequest(input)
30280	req.SetContext(ctx)
30281	req.ApplyOptions(opts...)
30282	return out, req.Send()
30283}
30284
30285const opTerminateInstances = "TerminateInstances"
30286
30287// TerminateInstancesRequest generates a "aws/request.Request" representing the
30288// client's request for the TerminateInstances operation. The "output" return
30289// value will be populated with the request's response once the request completes
30290// successfully.
30291//
30292// Use "Send" method on the returned Request to send the API call to the service.
30293// the "output" return value is not valid until after Send returns without error.
30294//
30295// See TerminateInstances for more information on using the TerminateInstances
30296// API call, and error handling.
30297//
30298// This method is useful when you want to inject custom logic or configuration
30299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30300//
30301//
30302//    // Example sending a request using the TerminateInstancesRequest method.
30303//    req, resp := client.TerminateInstancesRequest(params)
30304//
30305//    err := req.Send()
30306//    if err == nil { // resp is now filled
30307//        fmt.Println(resp)
30308//    }
30309//
30310// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
30311func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
30312	op := &request.Operation{
30313		Name:       opTerminateInstances,
30314		HTTPMethod: "POST",
30315		HTTPPath:   "/",
30316	}
30317
30318	if input == nil {
30319		input = &TerminateInstancesInput{}
30320	}
30321
30322	output = &TerminateInstancesOutput{}
30323	req = c.newRequest(op, input, output)
30324	return
30325}
30326
30327// TerminateInstances API operation for Amazon Elastic Compute Cloud.
30328//
30329// Shuts down the specified instances. This operation is idempotent; if you
30330// terminate an instance more than once, each call succeeds.
30331//
30332// If you specify multiple instances and the request fails (for example, because
30333// of a single incorrect instance ID), none of the instances are terminated.
30334//
30335// Terminated instances remain visible after termination (for approximately
30336// one hour).
30337//
30338// By default, Amazon EC2 deletes all EBS volumes that were attached when the
30339// instance launched. Volumes attached after instance launch continue running.
30340//
30341// You can stop, start, and terminate EBS-backed instances. You can only terminate
30342// instance store-backed instances. What happens to an instance differs if you
30343// stop it or terminate it. For example, when you stop an instance, the root
30344// device and any other devices attached to the instance persist. When you terminate
30345// an instance, any attached EBS volumes with the DeleteOnTermination block
30346// device mapping parameter set to true are automatically deleted. For more
30347// information about the differences between stopping and terminating instances,
30348// see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
30349// in the Amazon Elastic Compute Cloud User Guide.
30350//
30351// For more information about troubleshooting, see Troubleshooting Terminating
30352// Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
30353// in the Amazon Elastic Compute Cloud User Guide.
30354//
30355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30356// with awserr.Error's Code and Message methods to get detailed information about
30357// the error.
30358//
30359// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30360// API operation TerminateInstances for usage and error information.
30361// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
30362func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
30363	req, out := c.TerminateInstancesRequest(input)
30364	return out, req.Send()
30365}
30366
30367// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
30368// the ability to pass a context and additional request options.
30369//
30370// See TerminateInstances for details on how to use this API operation.
30371//
30372// The context must be non-nil and will be used for request cancellation. If
30373// the context is nil a panic will occur. In the future the SDK may create
30374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30375// for more information on using Contexts.
30376func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
30377	req, out := c.TerminateInstancesRequest(input)
30378	req.SetContext(ctx)
30379	req.ApplyOptions(opts...)
30380	return out, req.Send()
30381}
30382
30383const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
30384
30385// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
30386// client's request for the UnassignIpv6Addresses operation. The "output" return
30387// value will be populated with the request's response once the request completes
30388// successfully.
30389//
30390// Use "Send" method on the returned Request to send the API call to the service.
30391// the "output" return value is not valid until after Send returns without error.
30392//
30393// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
30394// API call, and error handling.
30395//
30396// This method is useful when you want to inject custom logic or configuration
30397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30398//
30399//
30400//    // Example sending a request using the UnassignIpv6AddressesRequest method.
30401//    req, resp := client.UnassignIpv6AddressesRequest(params)
30402//
30403//    err := req.Send()
30404//    if err == nil { // resp is now filled
30405//        fmt.Println(resp)
30406//    }
30407//
30408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
30409func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
30410	op := &request.Operation{
30411		Name:       opUnassignIpv6Addresses,
30412		HTTPMethod: "POST",
30413		HTTPPath:   "/",
30414	}
30415
30416	if input == nil {
30417		input = &UnassignIpv6AddressesInput{}
30418	}
30419
30420	output = &UnassignIpv6AddressesOutput{}
30421	req = c.newRequest(op, input, output)
30422	return
30423}
30424
30425// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
30426//
30427// Unassigns one or more IPv6 addresses from a network interface.
30428//
30429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30430// with awserr.Error's Code and Message methods to get detailed information about
30431// the error.
30432//
30433// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30434// API operation UnassignIpv6Addresses for usage and error information.
30435// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
30436func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
30437	req, out := c.UnassignIpv6AddressesRequest(input)
30438	return out, req.Send()
30439}
30440
30441// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
30442// the ability to pass a context and additional request options.
30443//
30444// See UnassignIpv6Addresses for details on how to use this API operation.
30445//
30446// The context must be non-nil and will be used for request cancellation. If
30447// the context is nil a panic will occur. In the future the SDK may create
30448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30449// for more information on using Contexts.
30450func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
30451	req, out := c.UnassignIpv6AddressesRequest(input)
30452	req.SetContext(ctx)
30453	req.ApplyOptions(opts...)
30454	return out, req.Send()
30455}
30456
30457const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
30458
30459// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
30460// client's request for the UnassignPrivateIpAddresses operation. The "output" return
30461// value will be populated with the request's response once the request completes
30462// successfully.
30463//
30464// Use "Send" method on the returned Request to send the API call to the service.
30465// the "output" return value is not valid until after Send returns without error.
30466//
30467// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
30468// API call, and error handling.
30469//
30470// This method is useful when you want to inject custom logic or configuration
30471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30472//
30473//
30474//    // Example sending a request using the UnassignPrivateIpAddressesRequest method.
30475//    req, resp := client.UnassignPrivateIpAddressesRequest(params)
30476//
30477//    err := req.Send()
30478//    if err == nil { // resp is now filled
30479//        fmt.Println(resp)
30480//    }
30481//
30482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
30483func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
30484	op := &request.Operation{
30485		Name:       opUnassignPrivateIpAddresses,
30486		HTTPMethod: "POST",
30487		HTTPPath:   "/",
30488	}
30489
30490	if input == nil {
30491		input = &UnassignPrivateIpAddressesInput{}
30492	}
30493
30494	output = &UnassignPrivateIpAddressesOutput{}
30495	req = c.newRequest(op, input, output)
30496	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30497	return
30498}
30499
30500// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
30501//
30502// Unassigns one or more secondary private IP addresses from a network interface.
30503//
30504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30505// with awserr.Error's Code and Message methods to get detailed information about
30506// the error.
30507//
30508// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30509// API operation UnassignPrivateIpAddresses for usage and error information.
30510// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
30511func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
30512	req, out := c.UnassignPrivateIpAddressesRequest(input)
30513	return out, req.Send()
30514}
30515
30516// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
30517// the ability to pass a context and additional request options.
30518//
30519// See UnassignPrivateIpAddresses for details on how to use this API operation.
30520//
30521// The context must be non-nil and will be used for request cancellation. If
30522// the context is nil a panic will occur. In the future the SDK may create
30523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30524// for more information on using Contexts.
30525func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
30526	req, out := c.UnassignPrivateIpAddressesRequest(input)
30527	req.SetContext(ctx)
30528	req.ApplyOptions(opts...)
30529	return out, req.Send()
30530}
30531
30532const opUnmonitorInstances = "UnmonitorInstances"
30533
30534// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
30535// client's request for the UnmonitorInstances operation. The "output" return
30536// value will be populated with the request's response once the request completes
30537// successfully.
30538//
30539// Use "Send" method on the returned Request to send the API call to the service.
30540// the "output" return value is not valid until after Send returns without error.
30541//
30542// See UnmonitorInstances for more information on using the UnmonitorInstances
30543// API call, and error handling.
30544//
30545// This method is useful when you want to inject custom logic or configuration
30546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30547//
30548//
30549//    // Example sending a request using the UnmonitorInstancesRequest method.
30550//    req, resp := client.UnmonitorInstancesRequest(params)
30551//
30552//    err := req.Send()
30553//    if err == nil { // resp is now filled
30554//        fmt.Println(resp)
30555//    }
30556//
30557// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
30558func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
30559	op := &request.Operation{
30560		Name:       opUnmonitorInstances,
30561		HTTPMethod: "POST",
30562		HTTPPath:   "/",
30563	}
30564
30565	if input == nil {
30566		input = &UnmonitorInstancesInput{}
30567	}
30568
30569	output = &UnmonitorInstancesOutput{}
30570	req = c.newRequest(op, input, output)
30571	return
30572}
30573
30574// UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
30575//
30576// Disables detailed monitoring for a running instance. For more information,
30577// see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
30578// in the Amazon Elastic Compute Cloud User Guide.
30579//
30580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30581// with awserr.Error's Code and Message methods to get detailed information about
30582// the error.
30583//
30584// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30585// API operation UnmonitorInstances for usage and error information.
30586// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
30587func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
30588	req, out := c.UnmonitorInstancesRequest(input)
30589	return out, req.Send()
30590}
30591
30592// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
30593// the ability to pass a context and additional request options.
30594//
30595// See UnmonitorInstances for details on how to use this API operation.
30596//
30597// The context must be non-nil and will be used for request cancellation. If
30598// the context is nil a panic will occur. In the future the SDK may create
30599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30600// for more information on using Contexts.
30601func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
30602	req, out := c.UnmonitorInstancesRequest(input)
30603	req.SetContext(ctx)
30604	req.ApplyOptions(opts...)
30605	return out, req.Send()
30606}
30607
30608const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
30609
30610// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
30611// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
30612// value will be populated with the request's response once the request completes
30613// successfully.
30614//
30615// Use "Send" method on the returned Request to send the API call to the service.
30616// the "output" return value is not valid until after Send returns without error.
30617//
30618// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
30619// API call, and error handling.
30620//
30621// This method is useful when you want to inject custom logic or configuration
30622// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30623//
30624//
30625//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
30626//    req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
30627//
30628//    err := req.Send()
30629//    if err == nil { // resp is now filled
30630//        fmt.Println(resp)
30631//    }
30632//
30633// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
30634func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
30635	op := &request.Operation{
30636		Name:       opUpdateSecurityGroupRuleDescriptionsEgress,
30637		HTTPMethod: "POST",
30638		HTTPPath:   "/",
30639	}
30640
30641	if input == nil {
30642		input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
30643	}
30644
30645	output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
30646	req = c.newRequest(op, input, output)
30647	return
30648}
30649
30650// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
30651//
30652// [VPC only] Updates the description of an egress (outbound) security group
30653// rule. You can replace an existing description, or add a description to a
30654// rule that did not have one previously.
30655//
30656// You specify the description as part of the IP permissions structure. You
30657// can remove a description for a security group rule by omitting the description
30658// parameter in the request.
30659//
30660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30661// with awserr.Error's Code and Message methods to get detailed information about
30662// the error.
30663//
30664// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30665// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
30666// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
30667func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
30668	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
30669	return out, req.Send()
30670}
30671
30672// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
30673// the ability to pass a context and additional request options.
30674//
30675// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
30676//
30677// The context must be non-nil and will be used for request cancellation. If
30678// the context is nil a panic will occur. In the future the SDK may create
30679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30680// for more information on using Contexts.
30681func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
30682	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
30683	req.SetContext(ctx)
30684	req.ApplyOptions(opts...)
30685	return out, req.Send()
30686}
30687
30688const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
30689
30690// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
30691// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
30692// value will be populated with the request's response once the request completes
30693// successfully.
30694//
30695// Use "Send" method on the returned Request to send the API call to the service.
30696// the "output" return value is not valid until after Send returns without error.
30697//
30698// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
30699// API call, and error handling.
30700//
30701// This method is useful when you want to inject custom logic or configuration
30702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30703//
30704//
30705//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
30706//    req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
30707//
30708//    err := req.Send()
30709//    if err == nil { // resp is now filled
30710//        fmt.Println(resp)
30711//    }
30712//
30713// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
30714func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
30715	op := &request.Operation{
30716		Name:       opUpdateSecurityGroupRuleDescriptionsIngress,
30717		HTTPMethod: "POST",
30718		HTTPPath:   "/",
30719	}
30720
30721	if input == nil {
30722		input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
30723	}
30724
30725	output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
30726	req = c.newRequest(op, input, output)
30727	return
30728}
30729
30730// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
30731//
30732// Updates the description of an ingress (inbound) security group rule. You
30733// can replace an existing description, or add a description to a rule that
30734// did not have one previously.
30735//
30736// You specify the description as part of the IP permissions structure. You
30737// can remove a description for a security group rule by omitting the description
30738// parameter in the request.
30739//
30740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30741// with awserr.Error's Code and Message methods to get detailed information about
30742// the error.
30743//
30744// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30745// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
30746// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
30747func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
30748	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
30749	return out, req.Send()
30750}
30751
30752// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
30753// the ability to pass a context and additional request options.
30754//
30755// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
30756//
30757// The context must be non-nil and will be used for request cancellation. If
30758// the context is nil a panic will occur. In the future the SDK may create
30759// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30760// for more information on using Contexts.
30761func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
30762	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
30763	req.SetContext(ctx)
30764	req.ApplyOptions(opts...)
30765	return out, req.Send()
30766}
30767
30768const opWithdrawByoipCidr = "WithdrawByoipCidr"
30769
30770// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
30771// client's request for the WithdrawByoipCidr operation. The "output" return
30772// value will be populated with the request's response once the request completes
30773// successfully.
30774//
30775// Use "Send" method on the returned Request to send the API call to the service.
30776// the "output" return value is not valid until after Send returns without error.
30777//
30778// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
30779// API call, and error handling.
30780//
30781// This method is useful when you want to inject custom logic or configuration
30782// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30783//
30784//
30785//    // Example sending a request using the WithdrawByoipCidrRequest method.
30786//    req, resp := client.WithdrawByoipCidrRequest(params)
30787//
30788//    err := req.Send()
30789//    if err == nil { // resp is now filled
30790//        fmt.Println(resp)
30791//    }
30792//
30793// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
30794func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
30795	op := &request.Operation{
30796		Name:       opWithdrawByoipCidr,
30797		HTTPMethod: "POST",
30798		HTTPPath:   "/",
30799	}
30800
30801	if input == nil {
30802		input = &WithdrawByoipCidrInput{}
30803	}
30804
30805	output = &WithdrawByoipCidrOutput{}
30806	req = c.newRequest(op, input, output)
30807	return
30808}
30809
30810// WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
30811//
30812// Stops advertising an IPv4 address range that is provisioned as an address
30813// pool.
30814//
30815// You can perform this operation at most once every 10 seconds, even if you
30816// specify different address ranges each time.
30817//
30818// It can take a few minutes before traffic to the specified addresses stops
30819// routing to AWS because of BGP propagation delays.
30820//
30821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30822// with awserr.Error's Code and Message methods to get detailed information about
30823// the error.
30824//
30825// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30826// API operation WithdrawByoipCidr for usage and error information.
30827// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
30828func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
30829	req, out := c.WithdrawByoipCidrRequest(input)
30830	return out, req.Send()
30831}
30832
30833// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
30834// the ability to pass a context and additional request options.
30835//
30836// See WithdrawByoipCidr for details on how to use this API operation.
30837//
30838// The context must be non-nil and will be used for request cancellation. If
30839// the context is nil a panic will occur. In the future the SDK may create
30840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30841// for more information on using Contexts.
30842func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
30843	req, out := c.WithdrawByoipCidrRequest(input)
30844	req.SetContext(ctx)
30845	req.ApplyOptions(opts...)
30846	return out, req.Send()
30847}
30848
30849// Contains the parameters for accepting the quote.
30850type AcceptReservedInstancesExchangeQuoteInput struct {
30851	_ struct{} `type:"structure"`
30852
30853	// Checks whether you have the required permissions for the action, without
30854	// actually making the request, and provides an error response. If you have
30855	// the required permissions, the error response is DryRunOperation. Otherwise,
30856	// it is UnauthorizedOperation.
30857	DryRun *bool `type:"boolean"`
30858
30859	// The IDs of the Convertible Reserved Instances to exchange for another Convertible
30860	// Reserved Instance of the same or higher value.
30861	//
30862	// ReservedInstanceIds is a required field
30863	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
30864
30865	// The configuration of the target Convertible Reserved Instance to exchange
30866	// for your current Convertible Reserved Instances.
30867	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
30868}
30869
30870// String returns the string representation
30871func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
30872	return awsutil.Prettify(s)
30873}
30874
30875// GoString returns the string representation
30876func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
30877	return s.String()
30878}
30879
30880// Validate inspects the fields of the type to determine if they are valid.
30881func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
30882	invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
30883	if s.ReservedInstanceIds == nil {
30884		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
30885	}
30886	if s.TargetConfigurations != nil {
30887		for i, v := range s.TargetConfigurations {
30888			if v == nil {
30889				continue
30890			}
30891			if err := v.Validate(); err != nil {
30892				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
30893			}
30894		}
30895	}
30896
30897	if invalidParams.Len() > 0 {
30898		return invalidParams
30899	}
30900	return nil
30901}
30902
30903// SetDryRun sets the DryRun field's value.
30904func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
30905	s.DryRun = &v
30906	return s
30907}
30908
30909// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
30910func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
30911	s.ReservedInstanceIds = v
30912	return s
30913}
30914
30915// SetTargetConfigurations sets the TargetConfigurations field's value.
30916func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
30917	s.TargetConfigurations = v
30918	return s
30919}
30920
30921// The result of the exchange and whether it was successful.
30922type AcceptReservedInstancesExchangeQuoteOutput struct {
30923	_ struct{} `type:"structure"`
30924
30925	// The ID of the successful exchange.
30926	ExchangeId *string `locationName:"exchangeId" type:"string"`
30927}
30928
30929// String returns the string representation
30930func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
30931	return awsutil.Prettify(s)
30932}
30933
30934// GoString returns the string representation
30935func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
30936	return s.String()
30937}
30938
30939// SetExchangeId sets the ExchangeId field's value.
30940func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
30941	s.ExchangeId = &v
30942	return s
30943}
30944
30945type AcceptTransitGatewayVpcAttachmentInput struct {
30946	_ struct{} `type:"structure"`
30947
30948	// Checks whether you have the required permissions for the action, without
30949	// actually making the request, and provides an error response. If you have
30950	// the required permissions, the error response is DryRunOperation. Otherwise,
30951	// it is UnauthorizedOperation.
30952	DryRun *bool `type:"boolean"`
30953
30954	// The ID of the attachment.
30955	//
30956	// TransitGatewayAttachmentId is a required field
30957	TransitGatewayAttachmentId *string `type:"string" required:"true"`
30958}
30959
30960// String returns the string representation
30961func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
30962	return awsutil.Prettify(s)
30963}
30964
30965// GoString returns the string representation
30966func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
30967	return s.String()
30968}
30969
30970// Validate inspects the fields of the type to determine if they are valid.
30971func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
30972	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
30973	if s.TransitGatewayAttachmentId == nil {
30974		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
30975	}
30976
30977	if invalidParams.Len() > 0 {
30978		return invalidParams
30979	}
30980	return nil
30981}
30982
30983// SetDryRun sets the DryRun field's value.
30984func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
30985	s.DryRun = &v
30986	return s
30987}
30988
30989// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
30990func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
30991	s.TransitGatewayAttachmentId = &v
30992	return s
30993}
30994
30995type AcceptTransitGatewayVpcAttachmentOutput struct {
30996	_ struct{} `type:"structure"`
30997
30998	// The VPC attachment.
30999	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
31000}
31001
31002// String returns the string representation
31003func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
31004	return awsutil.Prettify(s)
31005}
31006
31007// GoString returns the string representation
31008func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
31009	return s.String()
31010}
31011
31012// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
31013func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
31014	s.TransitGatewayVpcAttachment = v
31015	return s
31016}
31017
31018type AcceptVpcEndpointConnectionsInput struct {
31019	_ struct{} `type:"structure"`
31020
31021	// Checks whether you have the required permissions for the action, without
31022	// actually making the request, and provides an error response. If you have
31023	// the required permissions, the error response is DryRunOperation. Otherwise,
31024	// it is UnauthorizedOperation.
31025	DryRun *bool `type:"boolean"`
31026
31027	// The ID of the endpoint service.
31028	//
31029	// ServiceId is a required field
31030	ServiceId *string `type:"string" required:"true"`
31031
31032	// The IDs of one or more interface VPC endpoints.
31033	//
31034	// VpcEndpointIds is a required field
31035	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
31036}
31037
31038// String returns the string representation
31039func (s AcceptVpcEndpointConnectionsInput) String() string {
31040	return awsutil.Prettify(s)
31041}
31042
31043// GoString returns the string representation
31044func (s AcceptVpcEndpointConnectionsInput) GoString() string {
31045	return s.String()
31046}
31047
31048// Validate inspects the fields of the type to determine if they are valid.
31049func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
31050	invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
31051	if s.ServiceId == nil {
31052		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
31053	}
31054	if s.VpcEndpointIds == nil {
31055		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
31056	}
31057
31058	if invalidParams.Len() > 0 {
31059		return invalidParams
31060	}
31061	return nil
31062}
31063
31064// SetDryRun sets the DryRun field's value.
31065func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
31066	s.DryRun = &v
31067	return s
31068}
31069
31070// SetServiceId sets the ServiceId field's value.
31071func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
31072	s.ServiceId = &v
31073	return s
31074}
31075
31076// SetVpcEndpointIds sets the VpcEndpointIds field's value.
31077func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
31078	s.VpcEndpointIds = v
31079	return s
31080}
31081
31082type AcceptVpcEndpointConnectionsOutput struct {
31083	_ struct{} `type:"structure"`
31084
31085	// Information about the interface endpoints that were not accepted, if applicable.
31086	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
31087}
31088
31089// String returns the string representation
31090func (s AcceptVpcEndpointConnectionsOutput) String() string {
31091	return awsutil.Prettify(s)
31092}
31093
31094// GoString returns the string representation
31095func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
31096	return s.String()
31097}
31098
31099// SetUnsuccessful sets the Unsuccessful field's value.
31100func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
31101	s.Unsuccessful = v
31102	return s
31103}
31104
31105type AcceptVpcPeeringConnectionInput struct {
31106	_ struct{} `type:"structure"`
31107
31108	// Checks whether you have the required permissions for the action, without
31109	// actually making the request, and provides an error response. If you have
31110	// the required permissions, the error response is DryRunOperation. Otherwise,
31111	// it is UnauthorizedOperation.
31112	DryRun *bool `locationName:"dryRun" type:"boolean"`
31113
31114	// The ID of the VPC peering connection. You must specify this parameter in
31115	// the request.
31116	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
31117}
31118
31119// String returns the string representation
31120func (s AcceptVpcPeeringConnectionInput) String() string {
31121	return awsutil.Prettify(s)
31122}
31123
31124// GoString returns the string representation
31125func (s AcceptVpcPeeringConnectionInput) GoString() string {
31126	return s.String()
31127}
31128
31129// SetDryRun sets the DryRun field's value.
31130func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
31131	s.DryRun = &v
31132	return s
31133}
31134
31135// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
31136func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
31137	s.VpcPeeringConnectionId = &v
31138	return s
31139}
31140
31141type AcceptVpcPeeringConnectionOutput struct {
31142	_ struct{} `type:"structure"`
31143
31144	// Information about the VPC peering connection.
31145	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
31146}
31147
31148// String returns the string representation
31149func (s AcceptVpcPeeringConnectionOutput) String() string {
31150	return awsutil.Prettify(s)
31151}
31152
31153// GoString returns the string representation
31154func (s AcceptVpcPeeringConnectionOutput) GoString() string {
31155	return s.String()
31156}
31157
31158// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
31159func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
31160	s.VpcPeeringConnection = v
31161	return s
31162}
31163
31164// Describes an account attribute.
31165type AccountAttribute struct {
31166	_ struct{} `type:"structure"`
31167
31168	// The name of the account attribute.
31169	AttributeName *string `locationName:"attributeName" type:"string"`
31170
31171	// The values for the account attribute.
31172	AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
31173}
31174
31175// String returns the string representation
31176func (s AccountAttribute) String() string {
31177	return awsutil.Prettify(s)
31178}
31179
31180// GoString returns the string representation
31181func (s AccountAttribute) GoString() string {
31182	return s.String()
31183}
31184
31185// SetAttributeName sets the AttributeName field's value.
31186func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
31187	s.AttributeName = &v
31188	return s
31189}
31190
31191// SetAttributeValues sets the AttributeValues field's value.
31192func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
31193	s.AttributeValues = v
31194	return s
31195}
31196
31197// Describes a value of an account attribute.
31198type AccountAttributeValue struct {
31199	_ struct{} `type:"structure"`
31200
31201	// The value of the attribute.
31202	AttributeValue *string `locationName:"attributeValue" type:"string"`
31203}
31204
31205// String returns the string representation
31206func (s AccountAttributeValue) String() string {
31207	return awsutil.Prettify(s)
31208}
31209
31210// GoString returns the string representation
31211func (s AccountAttributeValue) GoString() string {
31212	return s.String()
31213}
31214
31215// SetAttributeValue sets the AttributeValue field's value.
31216func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
31217	s.AttributeValue = &v
31218	return s
31219}
31220
31221// Describes a running instance in a Spot Fleet.
31222type ActiveInstance struct {
31223	_ struct{} `type:"structure"`
31224
31225	// The health status of the instance. If the status of either the instance status
31226	// check or the system status check is impaired, the health status of the instance
31227	// is unhealthy. Otherwise, the health status is healthy.
31228	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
31229
31230	// The ID of the instance.
31231	InstanceId *string `locationName:"instanceId" type:"string"`
31232
31233	// The instance type.
31234	InstanceType *string `locationName:"instanceType" type:"string"`
31235
31236	// The ID of the Spot Instance request.
31237	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
31238}
31239
31240// String returns the string representation
31241func (s ActiveInstance) String() string {
31242	return awsutil.Prettify(s)
31243}
31244
31245// GoString returns the string representation
31246func (s ActiveInstance) GoString() string {
31247	return s.String()
31248}
31249
31250// SetInstanceHealth sets the InstanceHealth field's value.
31251func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
31252	s.InstanceHealth = &v
31253	return s
31254}
31255
31256// SetInstanceId sets the InstanceId field's value.
31257func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
31258	s.InstanceId = &v
31259	return s
31260}
31261
31262// SetInstanceType sets the InstanceType field's value.
31263func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
31264	s.InstanceType = &v
31265	return s
31266}
31267
31268// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
31269func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
31270	s.SpotInstanceRequestId = &v
31271	return s
31272}
31273
31274// Describes an Elastic IP address.
31275type Address struct {
31276	_ struct{} `type:"structure"`
31277
31278	// The ID representing the allocation of the address for use with EC2-VPC.
31279	AllocationId *string `locationName:"allocationId" type:"string"`
31280
31281	// The ID representing the association of the address with an instance in a
31282	// VPC.
31283	AssociationId *string `locationName:"associationId" type:"string"`
31284
31285	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
31286	// (standard) or instances in a VPC (vpc).
31287	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
31288
31289	// The ID of the instance that the address is associated with (if any).
31290	InstanceId *string `locationName:"instanceId" type:"string"`
31291
31292	// The ID of the network interface.
31293	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
31294
31295	// The ID of the AWS account that owns the network interface.
31296	NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
31297
31298	// The private IP address associated with the Elastic IP address.
31299	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
31300
31301	// The Elastic IP address.
31302	PublicIp *string `locationName:"publicIp" type:"string"`
31303
31304	// The ID of an address pool.
31305	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
31306
31307	// Any tags assigned to the Elastic IP address.
31308	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
31309}
31310
31311// String returns the string representation
31312func (s Address) String() string {
31313	return awsutil.Prettify(s)
31314}
31315
31316// GoString returns the string representation
31317func (s Address) GoString() string {
31318	return s.String()
31319}
31320
31321// SetAllocationId sets the AllocationId field's value.
31322func (s *Address) SetAllocationId(v string) *Address {
31323	s.AllocationId = &v
31324	return s
31325}
31326
31327// SetAssociationId sets the AssociationId field's value.
31328func (s *Address) SetAssociationId(v string) *Address {
31329	s.AssociationId = &v
31330	return s
31331}
31332
31333// SetDomain sets the Domain field's value.
31334func (s *Address) SetDomain(v string) *Address {
31335	s.Domain = &v
31336	return s
31337}
31338
31339// SetInstanceId sets the InstanceId field's value.
31340func (s *Address) SetInstanceId(v string) *Address {
31341	s.InstanceId = &v
31342	return s
31343}
31344
31345// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
31346func (s *Address) SetNetworkInterfaceId(v string) *Address {
31347	s.NetworkInterfaceId = &v
31348	return s
31349}
31350
31351// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
31352func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
31353	s.NetworkInterfaceOwnerId = &v
31354	return s
31355}
31356
31357// SetPrivateIpAddress sets the PrivateIpAddress field's value.
31358func (s *Address) SetPrivateIpAddress(v string) *Address {
31359	s.PrivateIpAddress = &v
31360	return s
31361}
31362
31363// SetPublicIp sets the PublicIp field's value.
31364func (s *Address) SetPublicIp(v string) *Address {
31365	s.PublicIp = &v
31366	return s
31367}
31368
31369// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
31370func (s *Address) SetPublicIpv4Pool(v string) *Address {
31371	s.PublicIpv4Pool = &v
31372	return s
31373}
31374
31375// SetTags sets the Tags field's value.
31376func (s *Address) SetTags(v []*Tag) *Address {
31377	s.Tags = v
31378	return s
31379}
31380
31381type AdvertiseByoipCidrInput struct {
31382	_ struct{} `type:"structure"`
31383
31384	// The IPv4 address range, in CIDR notation. This must be the exact range that
31385	// you provisioned. You can't advertise only a portion of the provisioned range.
31386	//
31387	// Cidr is a required field
31388	Cidr *string `type:"string" required:"true"`
31389
31390	// Checks whether you have the required permissions for the action, without
31391	// actually making the request, and provides an error response. If you have
31392	// the required permissions, the error response is DryRunOperation. Otherwise,
31393	// it is UnauthorizedOperation.
31394	DryRun *bool `type:"boolean"`
31395}
31396
31397// String returns the string representation
31398func (s AdvertiseByoipCidrInput) String() string {
31399	return awsutil.Prettify(s)
31400}
31401
31402// GoString returns the string representation
31403func (s AdvertiseByoipCidrInput) GoString() string {
31404	return s.String()
31405}
31406
31407// Validate inspects the fields of the type to determine if they are valid.
31408func (s *AdvertiseByoipCidrInput) Validate() error {
31409	invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
31410	if s.Cidr == nil {
31411		invalidParams.Add(request.NewErrParamRequired("Cidr"))
31412	}
31413
31414	if invalidParams.Len() > 0 {
31415		return invalidParams
31416	}
31417	return nil
31418}
31419
31420// SetCidr sets the Cidr field's value.
31421func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
31422	s.Cidr = &v
31423	return s
31424}
31425
31426// SetDryRun sets the DryRun field's value.
31427func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
31428	s.DryRun = &v
31429	return s
31430}
31431
31432type AdvertiseByoipCidrOutput struct {
31433	_ struct{} `type:"structure"`
31434
31435	// Information about the address range.
31436	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
31437}
31438
31439// String returns the string representation
31440func (s AdvertiseByoipCidrOutput) String() string {
31441	return awsutil.Prettify(s)
31442}
31443
31444// GoString returns the string representation
31445func (s AdvertiseByoipCidrOutput) GoString() string {
31446	return s.String()
31447}
31448
31449// SetByoipCidr sets the ByoipCidr field's value.
31450func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
31451	s.ByoipCidr = v
31452	return s
31453}
31454
31455type AllocateAddressInput struct {
31456	_ struct{} `type:"structure"`
31457
31458	// [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
31459	// pool.
31460	Address *string `type:"string"`
31461
31462	// Set to vpc to allocate the address for use with instances in a VPC.
31463	//
31464	// Default: The address is for use with instances in EC2-Classic.
31465	Domain *string `type:"string" enum:"DomainType"`
31466
31467	// Checks whether you have the required permissions for the action, without
31468	// actually making the request, and provides an error response. If you have
31469	// the required permissions, the error response is DryRunOperation. Otherwise,
31470	// it is UnauthorizedOperation.
31471	DryRun *bool `locationName:"dryRun" type:"boolean"`
31472
31473	// The ID of an address pool that you own. Use this parameter to let Amazon
31474	// EC2 select an address from the address pool. To specify a specific address
31475	// from the address pool, use the Address parameter instead.
31476	PublicIpv4Pool *string `type:"string"`
31477}
31478
31479// String returns the string representation
31480func (s AllocateAddressInput) String() string {
31481	return awsutil.Prettify(s)
31482}
31483
31484// GoString returns the string representation
31485func (s AllocateAddressInput) GoString() string {
31486	return s.String()
31487}
31488
31489// SetAddress sets the Address field's value.
31490func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
31491	s.Address = &v
31492	return s
31493}
31494
31495// SetDomain sets the Domain field's value.
31496func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
31497	s.Domain = &v
31498	return s
31499}
31500
31501// SetDryRun sets the DryRun field's value.
31502func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
31503	s.DryRun = &v
31504	return s
31505}
31506
31507// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
31508func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
31509	s.PublicIpv4Pool = &v
31510	return s
31511}
31512
31513type AllocateAddressOutput struct {
31514	_ struct{} `type:"structure"`
31515
31516	// [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
31517	// IP address for use with instances in a VPC.
31518	AllocationId *string `locationName:"allocationId" type:"string"`
31519
31520	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
31521	// (standard) or instances in a VPC (vpc).
31522	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
31523
31524	// The Elastic IP address.
31525	PublicIp *string `locationName:"publicIp" type:"string"`
31526
31527	// The ID of an address pool.
31528	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
31529}
31530
31531// String returns the string representation
31532func (s AllocateAddressOutput) String() string {
31533	return awsutil.Prettify(s)
31534}
31535
31536// GoString returns the string representation
31537func (s AllocateAddressOutput) GoString() string {
31538	return s.String()
31539}
31540
31541// SetAllocationId sets the AllocationId field's value.
31542func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
31543	s.AllocationId = &v
31544	return s
31545}
31546
31547// SetDomain sets the Domain field's value.
31548func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
31549	s.Domain = &v
31550	return s
31551}
31552
31553// SetPublicIp sets the PublicIp field's value.
31554func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
31555	s.PublicIp = &v
31556	return s
31557}
31558
31559// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
31560func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
31561	s.PublicIpv4Pool = &v
31562	return s
31563}
31564
31565type AllocateHostsInput struct {
31566	_ struct{} `type:"structure"`
31567
31568	// Indicates whether the host accepts any untargeted instance launches that
31569	// match its instance type configuration, or if it only accepts Host tenancy
31570	// instance launches that specify its unique host ID. For more information,
31571	// see Understanding Instance Placement and Host Affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)
31572	// in the Amazon EC2 User Guide for Linux Instances.
31573	//
31574	// Default: on
31575	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
31576
31577	// The Availability Zone in which to allocate the Dedicated Host.
31578	//
31579	// AvailabilityZone is a required field
31580	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
31581
31582	// Unique, case-sensitive identifier that you provide to ensure the idempotency
31583	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
31584	// in the Amazon Elastic Compute Cloud User Guide.
31585	ClientToken *string `locationName:"clientToken" type:"string"`
31586
31587	// Specifies the instance type for which to configure your Dedicated Hosts.
31588	// When you specify the instance type, that is the only instance type that you
31589	// can launch onto that host.
31590	//
31591	// InstanceType is a required field
31592	InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
31593
31594	// The number of Dedicated Hosts to allocate to your account with these parameters.
31595	//
31596	// Quantity is a required field
31597	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
31598
31599	// The tags to apply to the Dedicated Host during creation.
31600	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
31601}
31602
31603// String returns the string representation
31604func (s AllocateHostsInput) String() string {
31605	return awsutil.Prettify(s)
31606}
31607
31608// GoString returns the string representation
31609func (s AllocateHostsInput) GoString() string {
31610	return s.String()
31611}
31612
31613// Validate inspects the fields of the type to determine if they are valid.
31614func (s *AllocateHostsInput) Validate() error {
31615	invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
31616	if s.AvailabilityZone == nil {
31617		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
31618	}
31619	if s.InstanceType == nil {
31620		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
31621	}
31622	if s.Quantity == nil {
31623		invalidParams.Add(request.NewErrParamRequired("Quantity"))
31624	}
31625
31626	if invalidParams.Len() > 0 {
31627		return invalidParams
31628	}
31629	return nil
31630}
31631
31632// SetAutoPlacement sets the AutoPlacement field's value.
31633func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
31634	s.AutoPlacement = &v
31635	return s
31636}
31637
31638// SetAvailabilityZone sets the AvailabilityZone field's value.
31639func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
31640	s.AvailabilityZone = &v
31641	return s
31642}
31643
31644// SetClientToken sets the ClientToken field's value.
31645func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
31646	s.ClientToken = &v
31647	return s
31648}
31649
31650// SetInstanceType sets the InstanceType field's value.
31651func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
31652	s.InstanceType = &v
31653	return s
31654}
31655
31656// SetQuantity sets the Quantity field's value.
31657func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
31658	s.Quantity = &v
31659	return s
31660}
31661
31662// SetTagSpecifications sets the TagSpecifications field's value.
31663func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
31664	s.TagSpecifications = v
31665	return s
31666}
31667
31668// Contains the output of AllocateHosts.
31669type AllocateHostsOutput struct {
31670	_ struct{} `type:"structure"`
31671
31672	// The ID of the allocated Dedicated Host. This is used to launch an instance
31673	// onto a specific host.
31674	HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
31675}
31676
31677// String returns the string representation
31678func (s AllocateHostsOutput) String() string {
31679	return awsutil.Prettify(s)
31680}
31681
31682// GoString returns the string representation
31683func (s AllocateHostsOutput) GoString() string {
31684	return s.String()
31685}
31686
31687// SetHostIds sets the HostIds field's value.
31688func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
31689	s.HostIds = v
31690	return s
31691}
31692
31693// Describes a principal.
31694type AllowedPrincipal struct {
31695	_ struct{} `type:"structure"`
31696
31697	// The Amazon Resource Name (ARN) of the principal.
31698	Principal *string `locationName:"principal" type:"string"`
31699
31700	// The type of principal.
31701	PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
31702}
31703
31704// String returns the string representation
31705func (s AllowedPrincipal) String() string {
31706	return awsutil.Prettify(s)
31707}
31708
31709// GoString returns the string representation
31710func (s AllowedPrincipal) GoString() string {
31711	return s.String()
31712}
31713
31714// SetPrincipal sets the Principal field's value.
31715func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
31716	s.Principal = &v
31717	return s
31718}
31719
31720// SetPrincipalType sets the PrincipalType field's value.
31721func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
31722	s.PrincipalType = &v
31723	return s
31724}
31725
31726type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
31727	_ struct{} `type:"structure"`
31728
31729	// The ID of the Client VPN endpoint.
31730	//
31731	// ClientVpnEndpointId is a required field
31732	ClientVpnEndpointId *string `type:"string" required:"true"`
31733
31734	// Checks whether you have the required permissions for the action, without
31735	// actually making the request, and provides an error response. If you have
31736	// the required permissions, the error response is DryRunOperation. Otherwise,
31737	// it is UnauthorizedOperation.
31738	DryRun *bool `type:"boolean"`
31739
31740	// The IDs of the security groups to apply to the associated target network.
31741	// Up to 5 security groups can be applied to an associated target network.
31742	//
31743	// SecurityGroupIds is a required field
31744	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
31745
31746	// The ID of the VPC in which the associated target network is located.
31747	//
31748	// VpcId is a required field
31749	VpcId *string `type:"string" required:"true"`
31750}
31751
31752// String returns the string representation
31753func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
31754	return awsutil.Prettify(s)
31755}
31756
31757// GoString returns the string representation
31758func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
31759	return s.String()
31760}
31761
31762// Validate inspects the fields of the type to determine if they are valid.
31763func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
31764	invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
31765	if s.ClientVpnEndpointId == nil {
31766		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
31767	}
31768	if s.SecurityGroupIds == nil {
31769		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
31770	}
31771	if s.VpcId == nil {
31772		invalidParams.Add(request.NewErrParamRequired("VpcId"))
31773	}
31774
31775	if invalidParams.Len() > 0 {
31776		return invalidParams
31777	}
31778	return nil
31779}
31780
31781// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
31782func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
31783	s.ClientVpnEndpointId = &v
31784	return s
31785}
31786
31787// SetDryRun sets the DryRun field's value.
31788func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
31789	s.DryRun = &v
31790	return s
31791}
31792
31793// SetSecurityGroupIds sets the SecurityGroupIds field's value.
31794func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
31795	s.SecurityGroupIds = v
31796	return s
31797}
31798
31799// SetVpcId sets the VpcId field's value.
31800func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
31801	s.VpcId = &v
31802	return s
31803}
31804
31805type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
31806	_ struct{} `type:"structure"`
31807
31808	// The IDs of the applied security groups.
31809	SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
31810}
31811
31812// String returns the string representation
31813func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
31814	return awsutil.Prettify(s)
31815}
31816
31817// GoString returns the string representation
31818func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
31819	return s.String()
31820}
31821
31822// SetSecurityGroupIds sets the SecurityGroupIds field's value.
31823func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
31824	s.SecurityGroupIds = v
31825	return s
31826}
31827
31828type AssignIpv6AddressesInput struct {
31829	_ struct{} `type:"structure"`
31830
31831	// The number of IPv6 addresses to assign to the network interface. Amazon EC2
31832	// automatically selects the IPv6 addresses from the subnet range. You can't
31833	// use this option if specifying specific IPv6 addresses.
31834	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
31835
31836	// One or more specific IPv6 addresses to be assigned to the network interface.
31837	// You can't use this option if you're specifying a number of IPv6 addresses.
31838	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
31839
31840	// The ID of the network interface.
31841	//
31842	// NetworkInterfaceId is a required field
31843	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
31844}
31845
31846// String returns the string representation
31847func (s AssignIpv6AddressesInput) String() string {
31848	return awsutil.Prettify(s)
31849}
31850
31851// GoString returns the string representation
31852func (s AssignIpv6AddressesInput) GoString() string {
31853	return s.String()
31854}
31855
31856// Validate inspects the fields of the type to determine if they are valid.
31857func (s *AssignIpv6AddressesInput) Validate() error {
31858	invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
31859	if s.NetworkInterfaceId == nil {
31860		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
31861	}
31862
31863	if invalidParams.Len() > 0 {
31864		return invalidParams
31865	}
31866	return nil
31867}
31868
31869// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
31870func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
31871	s.Ipv6AddressCount = &v
31872	return s
31873}
31874
31875// SetIpv6Addresses sets the Ipv6Addresses field's value.
31876func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
31877	s.Ipv6Addresses = v
31878	return s
31879}
31880
31881// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
31882func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
31883	s.NetworkInterfaceId = &v
31884	return s
31885}
31886
31887type AssignIpv6AddressesOutput struct {
31888	_ struct{} `type:"structure"`
31889
31890	// The IPv6 addresses assigned to the network interface.
31891	AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
31892
31893	// The ID of the network interface.
31894	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
31895}
31896
31897// String returns the string representation
31898func (s AssignIpv6AddressesOutput) String() string {
31899	return awsutil.Prettify(s)
31900}
31901
31902// GoString returns the string representation
31903func (s AssignIpv6AddressesOutput) GoString() string {
31904	return s.String()
31905}
31906
31907// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
31908func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
31909	s.AssignedIpv6Addresses = v
31910	return s
31911}
31912
31913// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
31914func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
31915	s.NetworkInterfaceId = &v
31916	return s
31917}
31918
31919// Contains the parameters for AssignPrivateIpAddresses.
31920type AssignPrivateIpAddressesInput struct {
31921	_ struct{} `type:"structure"`
31922
31923	// Indicates whether to allow an IP address that is already assigned to another
31924	// network interface or instance to be reassigned to the specified network interface.
31925	AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
31926
31927	// The ID of the network interface.
31928	//
31929	// NetworkInterfaceId is a required field
31930	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
31931
31932	// One or more IP addresses to be assigned as a secondary private IP address
31933	// to the network interface. You can't specify this parameter when also specifying
31934	// a number of secondary IP addresses.
31935	//
31936	// If you don't specify an IP address, Amazon EC2 automatically selects an IP
31937	// address within the subnet range.
31938	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
31939
31940	// The number of secondary IP addresses to assign to the network interface.
31941	// You can't specify this parameter when also specifying private IP addresses.
31942	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
31943}
31944
31945// String returns the string representation
31946func (s AssignPrivateIpAddressesInput) String() string {
31947	return awsutil.Prettify(s)
31948}
31949
31950// GoString returns the string representation
31951func (s AssignPrivateIpAddressesInput) GoString() string {
31952	return s.String()
31953}
31954
31955// Validate inspects the fields of the type to determine if they are valid.
31956func (s *AssignPrivateIpAddressesInput) Validate() error {
31957	invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
31958	if s.NetworkInterfaceId == nil {
31959		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
31960	}
31961
31962	if invalidParams.Len() > 0 {
31963		return invalidParams
31964	}
31965	return nil
31966}
31967
31968// SetAllowReassignment sets the AllowReassignment field's value.
31969func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
31970	s.AllowReassignment = &v
31971	return s
31972}
31973
31974// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
31975func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
31976	s.NetworkInterfaceId = &v
31977	return s
31978}
31979
31980// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
31981func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
31982	s.PrivateIpAddresses = v
31983	return s
31984}
31985
31986// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
31987func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
31988	s.SecondaryPrivateIpAddressCount = &v
31989	return s
31990}
31991
31992type AssignPrivateIpAddressesOutput struct {
31993	_ struct{} `type:"structure"`
31994}
31995
31996// String returns the string representation
31997func (s AssignPrivateIpAddressesOutput) String() string {
31998	return awsutil.Prettify(s)
31999}
32000
32001// GoString returns the string representation
32002func (s AssignPrivateIpAddressesOutput) GoString() string {
32003	return s.String()
32004}
32005
32006type AssociateAddressInput struct {
32007	_ struct{} `type:"structure"`
32008
32009	// [EC2-VPC] The allocation ID. This is required for EC2-VPC.
32010	AllocationId *string `type:"string"`
32011
32012	// [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
32013	// IP address that is already associated with an instance or network interface
32014	// to be reassociated with the specified instance or network interface. Otherwise,
32015	// the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
32016	// automatic, therefore you can specify false to ensure the operation fails
32017	// if the Elastic IP address is already associated with another resource.
32018	AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
32019
32020	// Checks whether you have the required permissions for the action, without
32021	// actually making the request, and provides an error response. If you have
32022	// the required permissions, the error response is DryRunOperation. Otherwise,
32023	// it is UnauthorizedOperation.
32024	DryRun *bool `locationName:"dryRun" type:"boolean"`
32025
32026	// The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
32027	// can specify either the instance ID or the network interface ID, but not both.
32028	// The operation fails if you specify an instance ID unless exactly one network
32029	// interface is attached.
32030	InstanceId *string `type:"string"`
32031
32032	// [EC2-VPC] The ID of the network interface. If the instance has more than
32033	// one network interface, you must specify a network interface ID.
32034	//
32035	// For EC2-VPC, you can specify either the instance ID or the network interface
32036	// ID, but not both.
32037	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
32038
32039	// [EC2-VPC] The primary or secondary private IP address to associate with the
32040	// Elastic IP address. If no private IP address is specified, the Elastic IP
32041	// address is associated with the primary private IP address.
32042	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
32043
32044	// The Elastic IP address to associate with the instance. This is required for
32045	// EC2-Classic.
32046	PublicIp *string `type:"string"`
32047}
32048
32049// String returns the string representation
32050func (s AssociateAddressInput) String() string {
32051	return awsutil.Prettify(s)
32052}
32053
32054// GoString returns the string representation
32055func (s AssociateAddressInput) GoString() string {
32056	return s.String()
32057}
32058
32059// SetAllocationId sets the AllocationId field's value.
32060func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
32061	s.AllocationId = &v
32062	return s
32063}
32064
32065// SetAllowReassociation sets the AllowReassociation field's value.
32066func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
32067	s.AllowReassociation = &v
32068	return s
32069}
32070
32071// SetDryRun sets the DryRun field's value.
32072func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
32073	s.DryRun = &v
32074	return s
32075}
32076
32077// SetInstanceId sets the InstanceId field's value.
32078func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
32079	s.InstanceId = &v
32080	return s
32081}
32082
32083// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
32084func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
32085	s.NetworkInterfaceId = &v
32086	return s
32087}
32088
32089// SetPrivateIpAddress sets the PrivateIpAddress field's value.
32090func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
32091	s.PrivateIpAddress = &v
32092	return s
32093}
32094
32095// SetPublicIp sets the PublicIp field's value.
32096func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
32097	s.PublicIp = &v
32098	return s
32099}
32100
32101type AssociateAddressOutput struct {
32102	_ struct{} `type:"structure"`
32103
32104	// [EC2-VPC] The ID that represents the association of the Elastic IP address
32105	// with an instance.
32106	AssociationId *string `locationName:"associationId" type:"string"`
32107}
32108
32109// String returns the string representation
32110func (s AssociateAddressOutput) String() string {
32111	return awsutil.Prettify(s)
32112}
32113
32114// GoString returns the string representation
32115func (s AssociateAddressOutput) GoString() string {
32116	return s.String()
32117}
32118
32119// SetAssociationId sets the AssociationId field's value.
32120func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
32121	s.AssociationId = &v
32122	return s
32123}
32124
32125type AssociateClientVpnTargetNetworkInput struct {
32126	_ struct{} `type:"structure"`
32127
32128	// Unique, case-sensitive identifier that you provide to ensure the idempotency
32129	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
32130	ClientToken *string `type:"string" idempotencyToken:"true"`
32131
32132	// The ID of the Client VPN endpoint.
32133	//
32134	// ClientVpnEndpointId is a required field
32135	ClientVpnEndpointId *string `type:"string" required:"true"`
32136
32137	// Checks whether you have the required permissions for the action, without
32138	// actually making the request, and provides an error response. If you have
32139	// the required permissions, the error response is DryRunOperation. Otherwise,
32140	// it is UnauthorizedOperation.
32141	DryRun *bool `type:"boolean"`
32142
32143	// The ID of the subnet to associate with the Client VPN endpoint.
32144	//
32145	// SubnetId is a required field
32146	SubnetId *string `type:"string" required:"true"`
32147}
32148
32149// String returns the string representation
32150func (s AssociateClientVpnTargetNetworkInput) String() string {
32151	return awsutil.Prettify(s)
32152}
32153
32154// GoString returns the string representation
32155func (s AssociateClientVpnTargetNetworkInput) GoString() string {
32156	return s.String()
32157}
32158
32159// Validate inspects the fields of the type to determine if they are valid.
32160func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
32161	invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
32162	if s.ClientVpnEndpointId == nil {
32163		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
32164	}
32165	if s.SubnetId == nil {
32166		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
32167	}
32168
32169	if invalidParams.Len() > 0 {
32170		return invalidParams
32171	}
32172	return nil
32173}
32174
32175// SetClientToken sets the ClientToken field's value.
32176func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput {
32177	s.ClientToken = &v
32178	return s
32179}
32180
32181// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
32182func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
32183	s.ClientVpnEndpointId = &v
32184	return s
32185}
32186
32187// SetDryRun sets the DryRun field's value.
32188func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
32189	s.DryRun = &v
32190	return s
32191}
32192
32193// SetSubnetId sets the SubnetId field's value.
32194func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
32195	s.SubnetId = &v
32196	return s
32197}
32198
32199type AssociateClientVpnTargetNetworkOutput struct {
32200	_ struct{} `type:"structure"`
32201
32202	// The unique ID of the target network association.
32203	AssociationId *string `locationName:"associationId" type:"string"`
32204
32205	// The current state of the target network association.
32206	Status *AssociationStatus `locationName:"status" type:"structure"`
32207}
32208
32209// String returns the string representation
32210func (s AssociateClientVpnTargetNetworkOutput) String() string {
32211	return awsutil.Prettify(s)
32212}
32213
32214// GoString returns the string representation
32215func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
32216	return s.String()
32217}
32218
32219// SetAssociationId sets the AssociationId field's value.
32220func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
32221	s.AssociationId = &v
32222	return s
32223}
32224
32225// SetStatus sets the Status field's value.
32226func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
32227	s.Status = v
32228	return s
32229}
32230
32231type AssociateDhcpOptionsInput struct {
32232	_ struct{} `type:"structure"`
32233
32234	// The ID of the DHCP options set, or default to associate no DHCP options with
32235	// the VPC.
32236	//
32237	// DhcpOptionsId is a required field
32238	DhcpOptionsId *string `type:"string" required:"true"`
32239
32240	// Checks whether you have the required permissions for the action, without
32241	// actually making the request, and provides an error response. If you have
32242	// the required permissions, the error response is DryRunOperation. Otherwise,
32243	// it is UnauthorizedOperation.
32244	DryRun *bool `locationName:"dryRun" type:"boolean"`
32245
32246	// The ID of the VPC.
32247	//
32248	// VpcId is a required field
32249	VpcId *string `type:"string" required:"true"`
32250}
32251
32252// String returns the string representation
32253func (s AssociateDhcpOptionsInput) String() string {
32254	return awsutil.Prettify(s)
32255}
32256
32257// GoString returns the string representation
32258func (s AssociateDhcpOptionsInput) GoString() string {
32259	return s.String()
32260}
32261
32262// Validate inspects the fields of the type to determine if they are valid.
32263func (s *AssociateDhcpOptionsInput) Validate() error {
32264	invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
32265	if s.DhcpOptionsId == nil {
32266		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
32267	}
32268	if s.VpcId == nil {
32269		invalidParams.Add(request.NewErrParamRequired("VpcId"))
32270	}
32271
32272	if invalidParams.Len() > 0 {
32273		return invalidParams
32274	}
32275	return nil
32276}
32277
32278// SetDhcpOptionsId sets the DhcpOptionsId field's value.
32279func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
32280	s.DhcpOptionsId = &v
32281	return s
32282}
32283
32284// SetDryRun sets the DryRun field's value.
32285func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
32286	s.DryRun = &v
32287	return s
32288}
32289
32290// SetVpcId sets the VpcId field's value.
32291func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
32292	s.VpcId = &v
32293	return s
32294}
32295
32296type AssociateDhcpOptionsOutput struct {
32297	_ struct{} `type:"structure"`
32298}
32299
32300// String returns the string representation
32301func (s AssociateDhcpOptionsOutput) String() string {
32302	return awsutil.Prettify(s)
32303}
32304
32305// GoString returns the string representation
32306func (s AssociateDhcpOptionsOutput) GoString() string {
32307	return s.String()
32308}
32309
32310type AssociateIamInstanceProfileInput struct {
32311	_ struct{} `type:"structure"`
32312
32313	// The IAM instance profile.
32314	//
32315	// IamInstanceProfile is a required field
32316	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
32317
32318	// The ID of the instance.
32319	//
32320	// InstanceId is a required field
32321	InstanceId *string `type:"string" required:"true"`
32322}
32323
32324// String returns the string representation
32325func (s AssociateIamInstanceProfileInput) String() string {
32326	return awsutil.Prettify(s)
32327}
32328
32329// GoString returns the string representation
32330func (s AssociateIamInstanceProfileInput) GoString() string {
32331	return s.String()
32332}
32333
32334// Validate inspects the fields of the type to determine if they are valid.
32335func (s *AssociateIamInstanceProfileInput) Validate() error {
32336	invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
32337	if s.IamInstanceProfile == nil {
32338		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
32339	}
32340	if s.InstanceId == nil {
32341		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
32342	}
32343
32344	if invalidParams.Len() > 0 {
32345		return invalidParams
32346	}
32347	return nil
32348}
32349
32350// SetIamInstanceProfile sets the IamInstanceProfile field's value.
32351func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
32352	s.IamInstanceProfile = v
32353	return s
32354}
32355
32356// SetInstanceId sets the InstanceId field's value.
32357func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
32358	s.InstanceId = &v
32359	return s
32360}
32361
32362type AssociateIamInstanceProfileOutput struct {
32363	_ struct{} `type:"structure"`
32364
32365	// Information about the IAM instance profile association.
32366	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
32367}
32368
32369// String returns the string representation
32370func (s AssociateIamInstanceProfileOutput) String() string {
32371	return awsutil.Prettify(s)
32372}
32373
32374// GoString returns the string representation
32375func (s AssociateIamInstanceProfileOutput) GoString() string {
32376	return s.String()
32377}
32378
32379// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
32380func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
32381	s.IamInstanceProfileAssociation = v
32382	return s
32383}
32384
32385type AssociateRouteTableInput struct {
32386	_ struct{} `type:"structure"`
32387
32388	// Checks whether you have the required permissions for the action, without
32389	// actually making the request, and provides an error response. If you have
32390	// the required permissions, the error response is DryRunOperation. Otherwise,
32391	// it is UnauthorizedOperation.
32392	DryRun *bool `locationName:"dryRun" type:"boolean"`
32393
32394	// The ID of the route table.
32395	//
32396	// RouteTableId is a required field
32397	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
32398
32399	// The ID of the subnet.
32400	//
32401	// SubnetId is a required field
32402	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
32403}
32404
32405// String returns the string representation
32406func (s AssociateRouteTableInput) String() string {
32407	return awsutil.Prettify(s)
32408}
32409
32410// GoString returns the string representation
32411func (s AssociateRouteTableInput) GoString() string {
32412	return s.String()
32413}
32414
32415// Validate inspects the fields of the type to determine if they are valid.
32416func (s *AssociateRouteTableInput) Validate() error {
32417	invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
32418	if s.RouteTableId == nil {
32419		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
32420	}
32421	if s.SubnetId == nil {
32422		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
32423	}
32424
32425	if invalidParams.Len() > 0 {
32426		return invalidParams
32427	}
32428	return nil
32429}
32430
32431// SetDryRun sets the DryRun field's value.
32432func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
32433	s.DryRun = &v
32434	return s
32435}
32436
32437// SetRouteTableId sets the RouteTableId field's value.
32438func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
32439	s.RouteTableId = &v
32440	return s
32441}
32442
32443// SetSubnetId sets the SubnetId field's value.
32444func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
32445	s.SubnetId = &v
32446	return s
32447}
32448
32449type AssociateRouteTableOutput struct {
32450	_ struct{} `type:"structure"`
32451
32452	// The route table association ID. This ID is required for disassociating the
32453	// route table.
32454	AssociationId *string `locationName:"associationId" type:"string"`
32455}
32456
32457// String returns the string representation
32458func (s AssociateRouteTableOutput) String() string {
32459	return awsutil.Prettify(s)
32460}
32461
32462// GoString returns the string representation
32463func (s AssociateRouteTableOutput) GoString() string {
32464	return s.String()
32465}
32466
32467// SetAssociationId sets the AssociationId field's value.
32468func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
32469	s.AssociationId = &v
32470	return s
32471}
32472
32473type AssociateSubnetCidrBlockInput struct {
32474	_ struct{} `type:"structure"`
32475
32476	// The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
32477	//
32478	// Ipv6CidrBlock is a required field
32479	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
32480
32481	// The ID of your subnet.
32482	//
32483	// SubnetId is a required field
32484	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
32485}
32486
32487// String returns the string representation
32488func (s AssociateSubnetCidrBlockInput) String() string {
32489	return awsutil.Prettify(s)
32490}
32491
32492// GoString returns the string representation
32493func (s AssociateSubnetCidrBlockInput) GoString() string {
32494	return s.String()
32495}
32496
32497// Validate inspects the fields of the type to determine if they are valid.
32498func (s *AssociateSubnetCidrBlockInput) Validate() error {
32499	invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
32500	if s.Ipv6CidrBlock == nil {
32501		invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
32502	}
32503	if s.SubnetId == nil {
32504		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
32505	}
32506
32507	if invalidParams.Len() > 0 {
32508		return invalidParams
32509	}
32510	return nil
32511}
32512
32513// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
32514func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
32515	s.Ipv6CidrBlock = &v
32516	return s
32517}
32518
32519// SetSubnetId sets the SubnetId field's value.
32520func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
32521	s.SubnetId = &v
32522	return s
32523}
32524
32525type AssociateSubnetCidrBlockOutput struct {
32526	_ struct{} `type:"structure"`
32527
32528	// Information about the IPv6 CIDR block association.
32529	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
32530
32531	// The ID of the subnet.
32532	SubnetId *string `locationName:"subnetId" type:"string"`
32533}
32534
32535// String returns the string representation
32536func (s AssociateSubnetCidrBlockOutput) String() string {
32537	return awsutil.Prettify(s)
32538}
32539
32540// GoString returns the string representation
32541func (s AssociateSubnetCidrBlockOutput) GoString() string {
32542	return s.String()
32543}
32544
32545// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
32546func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
32547	s.Ipv6CidrBlockAssociation = v
32548	return s
32549}
32550
32551// SetSubnetId sets the SubnetId field's value.
32552func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
32553	s.SubnetId = &v
32554	return s
32555}
32556
32557type AssociateTransitGatewayRouteTableInput struct {
32558	_ struct{} `type:"structure"`
32559
32560	// Checks whether you have the required permissions for the action, without
32561	// actually making the request, and provides an error response. If you have
32562	// the required permissions, the error response is DryRunOperation. Otherwise,
32563	// it is UnauthorizedOperation.
32564	DryRun *bool `type:"boolean"`
32565
32566	// The ID of the attachment.
32567	//
32568	// TransitGatewayAttachmentId is a required field
32569	TransitGatewayAttachmentId *string `type:"string" required:"true"`
32570
32571	// The ID of the transit gateway route table.
32572	//
32573	// TransitGatewayRouteTableId is a required field
32574	TransitGatewayRouteTableId *string `type:"string" required:"true"`
32575}
32576
32577// String returns the string representation
32578func (s AssociateTransitGatewayRouteTableInput) String() string {
32579	return awsutil.Prettify(s)
32580}
32581
32582// GoString returns the string representation
32583func (s AssociateTransitGatewayRouteTableInput) GoString() string {
32584	return s.String()
32585}
32586
32587// Validate inspects the fields of the type to determine if they are valid.
32588func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
32589	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
32590	if s.TransitGatewayAttachmentId == nil {
32591		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
32592	}
32593	if s.TransitGatewayRouteTableId == nil {
32594		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
32595	}
32596
32597	if invalidParams.Len() > 0 {
32598		return invalidParams
32599	}
32600	return nil
32601}
32602
32603// SetDryRun sets the DryRun field's value.
32604func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
32605	s.DryRun = &v
32606	return s
32607}
32608
32609// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
32610func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
32611	s.TransitGatewayAttachmentId = &v
32612	return s
32613}
32614
32615// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
32616func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
32617	s.TransitGatewayRouteTableId = &v
32618	return s
32619}
32620
32621type AssociateTransitGatewayRouteTableOutput struct {
32622	_ struct{} `type:"structure"`
32623
32624	// The ID of the association.
32625	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
32626}
32627
32628// String returns the string representation
32629func (s AssociateTransitGatewayRouteTableOutput) String() string {
32630	return awsutil.Prettify(s)
32631}
32632
32633// GoString returns the string representation
32634func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
32635	return s.String()
32636}
32637
32638// SetAssociation sets the Association field's value.
32639func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
32640	s.Association = v
32641	return s
32642}
32643
32644type AssociateVpcCidrBlockInput struct {
32645	_ struct{} `type:"structure"`
32646
32647	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
32648	// the VPC. You cannot specify the range of IPv6 addresses, or the size of the
32649	// CIDR block.
32650	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
32651
32652	// An IPv4 CIDR block to associate with the VPC.
32653	CidrBlock *string `type:"string"`
32654
32655	// The ID of the VPC.
32656	//
32657	// VpcId is a required field
32658	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
32659}
32660
32661// String returns the string representation
32662func (s AssociateVpcCidrBlockInput) String() string {
32663	return awsutil.Prettify(s)
32664}
32665
32666// GoString returns the string representation
32667func (s AssociateVpcCidrBlockInput) GoString() string {
32668	return s.String()
32669}
32670
32671// Validate inspects the fields of the type to determine if they are valid.
32672func (s *AssociateVpcCidrBlockInput) Validate() error {
32673	invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
32674	if s.VpcId == nil {
32675		invalidParams.Add(request.NewErrParamRequired("VpcId"))
32676	}
32677
32678	if invalidParams.Len() > 0 {
32679		return invalidParams
32680	}
32681	return nil
32682}
32683
32684// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
32685func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
32686	s.AmazonProvidedIpv6CidrBlock = &v
32687	return s
32688}
32689
32690// SetCidrBlock sets the CidrBlock field's value.
32691func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
32692	s.CidrBlock = &v
32693	return s
32694}
32695
32696// SetVpcId sets the VpcId field's value.
32697func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
32698	s.VpcId = &v
32699	return s
32700}
32701
32702type AssociateVpcCidrBlockOutput struct {
32703	_ struct{} `type:"structure"`
32704
32705	// Information about the IPv4 CIDR block association.
32706	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
32707
32708	// Information about the IPv6 CIDR block association.
32709	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
32710
32711	// The ID of the VPC.
32712	VpcId *string `locationName:"vpcId" type:"string"`
32713}
32714
32715// String returns the string representation
32716func (s AssociateVpcCidrBlockOutput) String() string {
32717	return awsutil.Prettify(s)
32718}
32719
32720// GoString returns the string representation
32721func (s AssociateVpcCidrBlockOutput) GoString() string {
32722	return s.String()
32723}
32724
32725// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
32726func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
32727	s.CidrBlockAssociation = v
32728	return s
32729}
32730
32731// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
32732func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
32733	s.Ipv6CidrBlockAssociation = v
32734	return s
32735}
32736
32737// SetVpcId sets the VpcId field's value.
32738func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
32739	s.VpcId = &v
32740	return s
32741}
32742
32743// Describes a target network that is associated with a Client VPN endpoint.
32744// A target network is a subnet in a VPC.
32745type AssociatedTargetNetwork struct {
32746	_ struct{} `type:"structure"`
32747
32748	// The ID of the subnet.
32749	NetworkId *string `locationName:"networkId" type:"string"`
32750
32751	// The target network type.
32752	NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
32753}
32754
32755// String returns the string representation
32756func (s AssociatedTargetNetwork) String() string {
32757	return awsutil.Prettify(s)
32758}
32759
32760// GoString returns the string representation
32761func (s AssociatedTargetNetwork) GoString() string {
32762	return s.String()
32763}
32764
32765// SetNetworkId sets the NetworkId field's value.
32766func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
32767	s.NetworkId = &v
32768	return s
32769}
32770
32771// SetNetworkType sets the NetworkType field's value.
32772func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
32773	s.NetworkType = &v
32774	return s
32775}
32776
32777// Describes the state of a target network association.
32778type AssociationStatus struct {
32779	_ struct{} `type:"structure"`
32780
32781	// The state of the target network association.
32782	Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
32783
32784	// A message about the status of the target network association, if applicable.
32785	Message *string `locationName:"message" type:"string"`
32786}
32787
32788// String returns the string representation
32789func (s AssociationStatus) String() string {
32790	return awsutil.Prettify(s)
32791}
32792
32793// GoString returns the string representation
32794func (s AssociationStatus) GoString() string {
32795	return s.String()
32796}
32797
32798// SetCode sets the Code field's value.
32799func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
32800	s.Code = &v
32801	return s
32802}
32803
32804// SetMessage sets the Message field's value.
32805func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
32806	s.Message = &v
32807	return s
32808}
32809
32810type AttachClassicLinkVpcInput struct {
32811	_ struct{} `type:"structure"`
32812
32813	// Checks whether you have the required permissions for the action, without
32814	// actually making the request, and provides an error response. If you have
32815	// the required permissions, the error response is DryRunOperation. Otherwise,
32816	// it is UnauthorizedOperation.
32817	DryRun *bool `locationName:"dryRun" type:"boolean"`
32818
32819	// The ID of one or more of the VPC's security groups. You cannot specify security
32820	// groups from a different VPC.
32821	//
32822	// Groups is a required field
32823	Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
32824
32825	// The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
32826	//
32827	// InstanceId is a required field
32828	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
32829
32830	// The ID of a ClassicLink-enabled VPC.
32831	//
32832	// VpcId is a required field
32833	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
32834}
32835
32836// String returns the string representation
32837func (s AttachClassicLinkVpcInput) String() string {
32838	return awsutil.Prettify(s)
32839}
32840
32841// GoString returns the string representation
32842func (s AttachClassicLinkVpcInput) GoString() string {
32843	return s.String()
32844}
32845
32846// Validate inspects the fields of the type to determine if they are valid.
32847func (s *AttachClassicLinkVpcInput) Validate() error {
32848	invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
32849	if s.Groups == nil {
32850		invalidParams.Add(request.NewErrParamRequired("Groups"))
32851	}
32852	if s.InstanceId == nil {
32853		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
32854	}
32855	if s.VpcId == nil {
32856		invalidParams.Add(request.NewErrParamRequired("VpcId"))
32857	}
32858
32859	if invalidParams.Len() > 0 {
32860		return invalidParams
32861	}
32862	return nil
32863}
32864
32865// SetDryRun sets the DryRun field's value.
32866func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
32867	s.DryRun = &v
32868	return s
32869}
32870
32871// SetGroups sets the Groups field's value.
32872func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
32873	s.Groups = v
32874	return s
32875}
32876
32877// SetInstanceId sets the InstanceId field's value.
32878func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
32879	s.InstanceId = &v
32880	return s
32881}
32882
32883// SetVpcId sets the VpcId field's value.
32884func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
32885	s.VpcId = &v
32886	return s
32887}
32888
32889type AttachClassicLinkVpcOutput struct {
32890	_ struct{} `type:"structure"`
32891
32892	// Returns true if the request succeeds; otherwise, it returns an error.
32893	Return *bool `locationName:"return" type:"boolean"`
32894}
32895
32896// String returns the string representation
32897func (s AttachClassicLinkVpcOutput) String() string {
32898	return awsutil.Prettify(s)
32899}
32900
32901// GoString returns the string representation
32902func (s AttachClassicLinkVpcOutput) GoString() string {
32903	return s.String()
32904}
32905
32906// SetReturn sets the Return field's value.
32907func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
32908	s.Return = &v
32909	return s
32910}
32911
32912type AttachInternetGatewayInput struct {
32913	_ struct{} `type:"structure"`
32914
32915	// Checks whether you have the required permissions for the action, without
32916	// actually making the request, and provides an error response. If you have
32917	// the required permissions, the error response is DryRunOperation. Otherwise,
32918	// it is UnauthorizedOperation.
32919	DryRun *bool `locationName:"dryRun" type:"boolean"`
32920
32921	// The ID of the internet gateway.
32922	//
32923	// InternetGatewayId is a required field
32924	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
32925
32926	// The ID of the VPC.
32927	//
32928	// VpcId is a required field
32929	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
32930}
32931
32932// String returns the string representation
32933func (s AttachInternetGatewayInput) String() string {
32934	return awsutil.Prettify(s)
32935}
32936
32937// GoString returns the string representation
32938func (s AttachInternetGatewayInput) GoString() string {
32939	return s.String()
32940}
32941
32942// Validate inspects the fields of the type to determine if they are valid.
32943func (s *AttachInternetGatewayInput) Validate() error {
32944	invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
32945	if s.InternetGatewayId == nil {
32946		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
32947	}
32948	if s.VpcId == nil {
32949		invalidParams.Add(request.NewErrParamRequired("VpcId"))
32950	}
32951
32952	if invalidParams.Len() > 0 {
32953		return invalidParams
32954	}
32955	return nil
32956}
32957
32958// SetDryRun sets the DryRun field's value.
32959func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
32960	s.DryRun = &v
32961	return s
32962}
32963
32964// SetInternetGatewayId sets the InternetGatewayId field's value.
32965func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
32966	s.InternetGatewayId = &v
32967	return s
32968}
32969
32970// SetVpcId sets the VpcId field's value.
32971func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
32972	s.VpcId = &v
32973	return s
32974}
32975
32976type AttachInternetGatewayOutput struct {
32977	_ struct{} `type:"structure"`
32978}
32979
32980// String returns the string representation
32981func (s AttachInternetGatewayOutput) String() string {
32982	return awsutil.Prettify(s)
32983}
32984
32985// GoString returns the string representation
32986func (s AttachInternetGatewayOutput) GoString() string {
32987	return s.String()
32988}
32989
32990// Contains the parameters for AttachNetworkInterface.
32991type AttachNetworkInterfaceInput struct {
32992	_ struct{} `type:"structure"`
32993
32994	// The index of the device for the network interface attachment.
32995	//
32996	// DeviceIndex is a required field
32997	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
32998
32999	// Checks whether you have the required permissions for the action, without
33000	// actually making the request, and provides an error response. If you have
33001	// the required permissions, the error response is DryRunOperation. Otherwise,
33002	// it is UnauthorizedOperation.
33003	DryRun *bool `locationName:"dryRun" type:"boolean"`
33004
33005	// The ID of the instance.
33006	//
33007	// InstanceId is a required field
33008	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
33009
33010	// The ID of the network interface.
33011	//
33012	// NetworkInterfaceId is a required field
33013	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
33014}
33015
33016// String returns the string representation
33017func (s AttachNetworkInterfaceInput) String() string {
33018	return awsutil.Prettify(s)
33019}
33020
33021// GoString returns the string representation
33022func (s AttachNetworkInterfaceInput) GoString() string {
33023	return s.String()
33024}
33025
33026// Validate inspects the fields of the type to determine if they are valid.
33027func (s *AttachNetworkInterfaceInput) Validate() error {
33028	invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
33029	if s.DeviceIndex == nil {
33030		invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
33031	}
33032	if s.InstanceId == nil {
33033		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
33034	}
33035	if s.NetworkInterfaceId == nil {
33036		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
33037	}
33038
33039	if invalidParams.Len() > 0 {
33040		return invalidParams
33041	}
33042	return nil
33043}
33044
33045// SetDeviceIndex sets the DeviceIndex field's value.
33046func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
33047	s.DeviceIndex = &v
33048	return s
33049}
33050
33051// SetDryRun sets the DryRun field's value.
33052func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
33053	s.DryRun = &v
33054	return s
33055}
33056
33057// SetInstanceId sets the InstanceId field's value.
33058func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
33059	s.InstanceId = &v
33060	return s
33061}
33062
33063// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
33064func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
33065	s.NetworkInterfaceId = &v
33066	return s
33067}
33068
33069// Contains the output of AttachNetworkInterface.
33070type AttachNetworkInterfaceOutput struct {
33071	_ struct{} `type:"structure"`
33072
33073	// The ID of the network interface attachment.
33074	AttachmentId *string `locationName:"attachmentId" type:"string"`
33075}
33076
33077// String returns the string representation
33078func (s AttachNetworkInterfaceOutput) String() string {
33079	return awsutil.Prettify(s)
33080}
33081
33082// GoString returns the string representation
33083func (s AttachNetworkInterfaceOutput) GoString() string {
33084	return s.String()
33085}
33086
33087// SetAttachmentId sets the AttachmentId field's value.
33088func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
33089	s.AttachmentId = &v
33090	return s
33091}
33092
33093// Contains the parameters for AttachVolume.
33094type AttachVolumeInput struct {
33095	_ struct{} `type:"structure"`
33096
33097	// The device name (for example, /dev/sdh or xvdh).
33098	//
33099	// Device is a required field
33100	Device *string `type:"string" required:"true"`
33101
33102	// Checks whether you have the required permissions for the action, without
33103	// actually making the request, and provides an error response. If you have
33104	// the required permissions, the error response is DryRunOperation. Otherwise,
33105	// it is UnauthorizedOperation.
33106	DryRun *bool `locationName:"dryRun" type:"boolean"`
33107
33108	// The ID of the instance.
33109	//
33110	// InstanceId is a required field
33111	InstanceId *string `type:"string" required:"true"`
33112
33113	// The ID of the EBS volume. The volume and instance must be within the same
33114	// Availability Zone.
33115	//
33116	// VolumeId is a required field
33117	VolumeId *string `type:"string" required:"true"`
33118}
33119
33120// String returns the string representation
33121func (s AttachVolumeInput) String() string {
33122	return awsutil.Prettify(s)
33123}
33124
33125// GoString returns the string representation
33126func (s AttachVolumeInput) GoString() string {
33127	return s.String()
33128}
33129
33130// Validate inspects the fields of the type to determine if they are valid.
33131func (s *AttachVolumeInput) Validate() error {
33132	invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
33133	if s.Device == nil {
33134		invalidParams.Add(request.NewErrParamRequired("Device"))
33135	}
33136	if s.InstanceId == nil {
33137		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
33138	}
33139	if s.VolumeId == nil {
33140		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
33141	}
33142
33143	if invalidParams.Len() > 0 {
33144		return invalidParams
33145	}
33146	return nil
33147}
33148
33149// SetDevice sets the Device field's value.
33150func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
33151	s.Device = &v
33152	return s
33153}
33154
33155// SetDryRun sets the DryRun field's value.
33156func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
33157	s.DryRun = &v
33158	return s
33159}
33160
33161// SetInstanceId sets the InstanceId field's value.
33162func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
33163	s.InstanceId = &v
33164	return s
33165}
33166
33167// SetVolumeId sets the VolumeId field's value.
33168func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
33169	s.VolumeId = &v
33170	return s
33171}
33172
33173// Contains the parameters for AttachVpnGateway.
33174type AttachVpnGatewayInput struct {
33175	_ struct{} `type:"structure"`
33176
33177	// Checks whether you have the required permissions for the action, without
33178	// actually making the request, and provides an error response. If you have
33179	// the required permissions, the error response is DryRunOperation. Otherwise,
33180	// it is UnauthorizedOperation.
33181	DryRun *bool `locationName:"dryRun" type:"boolean"`
33182
33183	// The ID of the VPC.
33184	//
33185	// VpcId is a required field
33186	VpcId *string `type:"string" required:"true"`
33187
33188	// The ID of the virtual private gateway.
33189	//
33190	// VpnGatewayId is a required field
33191	VpnGatewayId *string `type:"string" required:"true"`
33192}
33193
33194// String returns the string representation
33195func (s AttachVpnGatewayInput) String() string {
33196	return awsutil.Prettify(s)
33197}
33198
33199// GoString returns the string representation
33200func (s AttachVpnGatewayInput) GoString() string {
33201	return s.String()
33202}
33203
33204// Validate inspects the fields of the type to determine if they are valid.
33205func (s *AttachVpnGatewayInput) Validate() error {
33206	invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
33207	if s.VpcId == nil {
33208		invalidParams.Add(request.NewErrParamRequired("VpcId"))
33209	}
33210	if s.VpnGatewayId == nil {
33211		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
33212	}
33213
33214	if invalidParams.Len() > 0 {
33215		return invalidParams
33216	}
33217	return nil
33218}
33219
33220// SetDryRun sets the DryRun field's value.
33221func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
33222	s.DryRun = &v
33223	return s
33224}
33225
33226// SetVpcId sets the VpcId field's value.
33227func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
33228	s.VpcId = &v
33229	return s
33230}
33231
33232// SetVpnGatewayId sets the VpnGatewayId field's value.
33233func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
33234	s.VpnGatewayId = &v
33235	return s
33236}
33237
33238// Contains the output of AttachVpnGateway.
33239type AttachVpnGatewayOutput struct {
33240	_ struct{} `type:"structure"`
33241
33242	// Information about the attachment.
33243	VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
33244}
33245
33246// String returns the string representation
33247func (s AttachVpnGatewayOutput) String() string {
33248	return awsutil.Prettify(s)
33249}
33250
33251// GoString returns the string representation
33252func (s AttachVpnGatewayOutput) GoString() string {
33253	return s.String()
33254}
33255
33256// SetVpcAttachment sets the VpcAttachment field's value.
33257func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
33258	s.VpcAttachment = v
33259	return s
33260}
33261
33262// Describes a value for a resource attribute that is a Boolean value.
33263type AttributeBooleanValue struct {
33264	_ struct{} `type:"structure"`
33265
33266	// The attribute value. The valid values are true or false.
33267	Value *bool `locationName:"value" type:"boolean"`
33268}
33269
33270// String returns the string representation
33271func (s AttributeBooleanValue) String() string {
33272	return awsutil.Prettify(s)
33273}
33274
33275// GoString returns the string representation
33276func (s AttributeBooleanValue) GoString() string {
33277	return s.String()
33278}
33279
33280// SetValue sets the Value field's value.
33281func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
33282	s.Value = &v
33283	return s
33284}
33285
33286// Describes a value for a resource attribute that is a String.
33287type AttributeValue struct {
33288	_ struct{} `type:"structure"`
33289
33290	// The attribute value. The value is case-sensitive.
33291	Value *string `locationName:"value" type:"string"`
33292}
33293
33294// String returns the string representation
33295func (s AttributeValue) String() string {
33296	return awsutil.Prettify(s)
33297}
33298
33299// GoString returns the string representation
33300func (s AttributeValue) GoString() string {
33301	return s.String()
33302}
33303
33304// SetValue sets the Value field's value.
33305func (s *AttributeValue) SetValue(v string) *AttributeValue {
33306	s.Value = &v
33307	return s
33308}
33309
33310// Information about an authorization rule.
33311type AuthorizationRule struct {
33312	_ struct{} `type:"structure"`
33313
33314	// Indicates whether the authorization rule grants access to all clients.
33315	AccessAll *bool `locationName:"accessAll" type:"boolean"`
33316
33317	// The ID of the Client VPN endpoint with which the authorization rule is associated.
33318	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
33319
33320	// A brief description of the authorization rule.
33321	Description *string `locationName:"description" type:"string"`
33322
33323	// The IPv4 address range, in CIDR notation, of the network to which the authorization
33324	// rule applies.
33325	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
33326
33327	// The ID of the Active Directory group to which the authorization rule grants
33328	// access.
33329	GroupId *string `locationName:"groupId" type:"string"`
33330
33331	// The current state of the authorization rule.
33332	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
33333}
33334
33335// String returns the string representation
33336func (s AuthorizationRule) String() string {
33337	return awsutil.Prettify(s)
33338}
33339
33340// GoString returns the string representation
33341func (s AuthorizationRule) GoString() string {
33342	return s.String()
33343}
33344
33345// SetAccessAll sets the AccessAll field's value.
33346func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
33347	s.AccessAll = &v
33348	return s
33349}
33350
33351// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
33352func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
33353	s.ClientVpnEndpointId = &v
33354	return s
33355}
33356
33357// SetDescription sets the Description field's value.
33358func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
33359	s.Description = &v
33360	return s
33361}
33362
33363// SetDestinationCidr sets the DestinationCidr field's value.
33364func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
33365	s.DestinationCidr = &v
33366	return s
33367}
33368
33369// SetGroupId sets the GroupId field's value.
33370func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
33371	s.GroupId = &v
33372	return s
33373}
33374
33375// SetStatus sets the Status field's value.
33376func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
33377	s.Status = v
33378	return s
33379}
33380
33381type AuthorizeClientVpnIngressInput struct {
33382	_ struct{} `type:"structure"`
33383
33384	// The ID of the Active Directory group to grant access.
33385	AccessGroupId *string `type:"string"`
33386
33387	// Indicates whether to grant access to all clients. Use true to grant all clients
33388	// who successfully establish a VPN connection access to the network.
33389	AuthorizeAllGroups *bool `type:"boolean"`
33390
33391	// Unique, case-sensitive identifier that you provide to ensure the idempotency
33392	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
33393	ClientToken *string `type:"string" idempotencyToken:"true"`
33394
33395	// The ID of the Client VPN endpoint.
33396	//
33397	// ClientVpnEndpointId is a required field
33398	ClientVpnEndpointId *string `type:"string" required:"true"`
33399
33400	// A brief description of the authorization rule.
33401	Description *string `type:"string"`
33402
33403	// Checks whether you have the required permissions for the action, without
33404	// actually making the request, and provides an error response. If you have
33405	// the required permissions, the error response is DryRunOperation. Otherwise,
33406	// it is UnauthorizedOperation.
33407	DryRun *bool `type:"boolean"`
33408
33409	// The IPv4 address range, in CIDR notation, of the network for which access
33410	// is being authorized.
33411	//
33412	// TargetNetworkCidr is a required field
33413	TargetNetworkCidr *string `type:"string" required:"true"`
33414}
33415
33416// String returns the string representation
33417func (s AuthorizeClientVpnIngressInput) String() string {
33418	return awsutil.Prettify(s)
33419}
33420
33421// GoString returns the string representation
33422func (s AuthorizeClientVpnIngressInput) GoString() string {
33423	return s.String()
33424}
33425
33426// Validate inspects the fields of the type to determine if they are valid.
33427func (s *AuthorizeClientVpnIngressInput) Validate() error {
33428	invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
33429	if s.ClientVpnEndpointId == nil {
33430		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
33431	}
33432	if s.TargetNetworkCidr == nil {
33433		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
33434	}
33435
33436	if invalidParams.Len() > 0 {
33437		return invalidParams
33438	}
33439	return nil
33440}
33441
33442// SetAccessGroupId sets the AccessGroupId field's value.
33443func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
33444	s.AccessGroupId = &v
33445	return s
33446}
33447
33448// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
33449func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
33450	s.AuthorizeAllGroups = &v
33451	return s
33452}
33453
33454// SetClientToken sets the ClientToken field's value.
33455func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput {
33456	s.ClientToken = &v
33457	return s
33458}
33459
33460// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
33461func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
33462	s.ClientVpnEndpointId = &v
33463	return s
33464}
33465
33466// SetDescription sets the Description field's value.
33467func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
33468	s.Description = &v
33469	return s
33470}
33471
33472// SetDryRun sets the DryRun field's value.
33473func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
33474	s.DryRun = &v
33475	return s
33476}
33477
33478// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
33479func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
33480	s.TargetNetworkCidr = &v
33481	return s
33482}
33483
33484type AuthorizeClientVpnIngressOutput struct {
33485	_ struct{} `type:"structure"`
33486
33487	// The current state of the authorization rule.
33488	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
33489}
33490
33491// String returns the string representation
33492func (s AuthorizeClientVpnIngressOutput) String() string {
33493	return awsutil.Prettify(s)
33494}
33495
33496// GoString returns the string representation
33497func (s AuthorizeClientVpnIngressOutput) GoString() string {
33498	return s.String()
33499}
33500
33501// SetStatus sets the Status field's value.
33502func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
33503	s.Status = v
33504	return s
33505}
33506
33507type AuthorizeSecurityGroupEgressInput struct {
33508	_ struct{} `type:"structure"`
33509
33510	// Not supported. Use a set of IP permissions to specify the CIDR.
33511	CidrIp *string `locationName:"cidrIp" type:"string"`
33512
33513	// Checks whether you have the required permissions for the action, without
33514	// actually making the request, and provides an error response. If you have
33515	// the required permissions, the error response is DryRunOperation. Otherwise,
33516	// it is UnauthorizedOperation.
33517	DryRun *bool `locationName:"dryRun" type:"boolean"`
33518
33519	// Not supported. Use a set of IP permissions to specify the port.
33520	FromPort *int64 `locationName:"fromPort" type:"integer"`
33521
33522	// The ID of the security group.
33523	//
33524	// GroupId is a required field
33525	GroupId *string `locationName:"groupId" type:"string" required:"true"`
33526
33527	// The sets of IP permissions. You can't specify a destination security group
33528	// and a CIDR IP address range in the same set of permissions.
33529	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
33530
33531	// Not supported. Use a set of IP permissions to specify the protocol name or
33532	// number.
33533	IpProtocol *string `locationName:"ipProtocol" type:"string"`
33534
33535	// Not supported. Use a set of IP permissions to specify a destination security
33536	// group.
33537	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
33538
33539	// Not supported. Use a set of IP permissions to specify a destination security
33540	// group.
33541	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
33542
33543	// Not supported. Use a set of IP permissions to specify the port.
33544	ToPort *int64 `locationName:"toPort" type:"integer"`
33545}
33546
33547// String returns the string representation
33548func (s AuthorizeSecurityGroupEgressInput) String() string {
33549	return awsutil.Prettify(s)
33550}
33551
33552// GoString returns the string representation
33553func (s AuthorizeSecurityGroupEgressInput) GoString() string {
33554	return s.String()
33555}
33556
33557// Validate inspects the fields of the type to determine if they are valid.
33558func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
33559	invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
33560	if s.GroupId == nil {
33561		invalidParams.Add(request.NewErrParamRequired("GroupId"))
33562	}
33563
33564	if invalidParams.Len() > 0 {
33565		return invalidParams
33566	}
33567	return nil
33568}
33569
33570// SetCidrIp sets the CidrIp field's value.
33571func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
33572	s.CidrIp = &v
33573	return s
33574}
33575
33576// SetDryRun sets the DryRun field's value.
33577func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
33578	s.DryRun = &v
33579	return s
33580}
33581
33582// SetFromPort sets the FromPort field's value.
33583func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
33584	s.FromPort = &v
33585	return s
33586}
33587
33588// SetGroupId sets the GroupId field's value.
33589func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
33590	s.GroupId = &v
33591	return s
33592}
33593
33594// SetIpPermissions sets the IpPermissions field's value.
33595func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
33596	s.IpPermissions = v
33597	return s
33598}
33599
33600// SetIpProtocol sets the IpProtocol field's value.
33601func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
33602	s.IpProtocol = &v
33603	return s
33604}
33605
33606// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
33607func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
33608	s.SourceSecurityGroupName = &v
33609	return s
33610}
33611
33612// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
33613func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
33614	s.SourceSecurityGroupOwnerId = &v
33615	return s
33616}
33617
33618// SetToPort sets the ToPort field's value.
33619func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
33620	s.ToPort = &v
33621	return s
33622}
33623
33624type AuthorizeSecurityGroupEgressOutput struct {
33625	_ struct{} `type:"structure"`
33626}
33627
33628// String returns the string representation
33629func (s AuthorizeSecurityGroupEgressOutput) String() string {
33630	return awsutil.Prettify(s)
33631}
33632
33633// GoString returns the string representation
33634func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
33635	return s.String()
33636}
33637
33638type AuthorizeSecurityGroupIngressInput struct {
33639	_ struct{} `type:"structure"`
33640
33641	// The IPv4 address range, in CIDR format. You can't specify this parameter
33642	// when specifying a source security group. To specify an IPv6 address range,
33643	// use a set of IP permissions.
33644	//
33645	// Alternatively, use a set of IP permissions to specify multiple rules and
33646	// a description for the rule.
33647	CidrIp *string `type:"string"`
33648
33649	// Checks whether you have the required permissions for the action, without
33650	// actually making the request, and provides an error response. If you have
33651	// the required permissions, the error response is DryRunOperation. Otherwise,
33652	// it is UnauthorizedOperation.
33653	DryRun *bool `locationName:"dryRun" type:"boolean"`
33654
33655	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
33656	// For the ICMP type number, use -1 to specify all types. If you specify all
33657	// ICMP types, you must specify all codes.
33658	//
33659	// Alternatively, use a set of IP permissions to specify multiple rules and
33660	// a description for the rule.
33661	FromPort *int64 `type:"integer"`
33662
33663	// The ID of the security group. You must specify either the security group
33664	// ID or the security group name in the request. For security groups in a nondefault
33665	// VPC, you must specify the security group ID.
33666	GroupId *string `type:"string"`
33667
33668	// [EC2-Classic, default VPC] The name of the security group. You must specify
33669	// either the security group ID or the security group name in the request.
33670	GroupName *string `type:"string"`
33671
33672	// The sets of IP permissions.
33673	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
33674
33675	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
33676	// To specify icmpv6, use a set of IP permissions.
33677	//
33678	// [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol
33679	// other than tcp, udp, or icmp, traffic on all ports is allowed, regardless
33680	// of any ports you specify.
33681	//
33682	// Alternatively, use a set of IP permissions to specify multiple rules and
33683	// a description for the rule.
33684	IpProtocol *string `type:"string"`
33685
33686	// [EC2-Classic, default VPC] The name of the source security group. You can't
33687	// specify this parameter in combination with the following parameters: the
33688	// CIDR IP address range, the start of the port range, the IP protocol, and
33689	// the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
33690	// access. To create a rule with a specific IP protocol and port range, use
33691	// a set of IP permissions instead. For EC2-VPC, the source security group must
33692	// be in the same VPC.
33693	SourceSecurityGroupName *string `type:"string"`
33694
33695	// [nondefault VPC] The AWS account ID for the source security group, if the
33696	// source security group is in a different account. You can't specify this parameter
33697	// in combination with the following parameters: the CIDR IP address range,
33698	// the IP protocol, the start of the port range, and the end of the port range.
33699	// Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
33700	// with a specific IP protocol and port range, use a set of IP permissions instead.
33701	SourceSecurityGroupOwnerId *string `type:"string"`
33702
33703	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
33704	// For the ICMP code number, use -1 to specify all codes. If you specify all
33705	// ICMP types, you must specify all codes.
33706	//
33707	// Alternatively, use a set of IP permissions to specify multiple rules and
33708	// a description for the rule.
33709	ToPort *int64 `type:"integer"`
33710}
33711
33712// String returns the string representation
33713func (s AuthorizeSecurityGroupIngressInput) String() string {
33714	return awsutil.Prettify(s)
33715}
33716
33717// GoString returns the string representation
33718func (s AuthorizeSecurityGroupIngressInput) GoString() string {
33719	return s.String()
33720}
33721
33722// SetCidrIp sets the CidrIp field's value.
33723func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
33724	s.CidrIp = &v
33725	return s
33726}
33727
33728// SetDryRun sets the DryRun field's value.
33729func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
33730	s.DryRun = &v
33731	return s
33732}
33733
33734// SetFromPort sets the FromPort field's value.
33735func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
33736	s.FromPort = &v
33737	return s
33738}
33739
33740// SetGroupId sets the GroupId field's value.
33741func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
33742	s.GroupId = &v
33743	return s
33744}
33745
33746// SetGroupName sets the GroupName field's value.
33747func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
33748	s.GroupName = &v
33749	return s
33750}
33751
33752// SetIpPermissions sets the IpPermissions field's value.
33753func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
33754	s.IpPermissions = v
33755	return s
33756}
33757
33758// SetIpProtocol sets the IpProtocol field's value.
33759func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
33760	s.IpProtocol = &v
33761	return s
33762}
33763
33764// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
33765func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
33766	s.SourceSecurityGroupName = &v
33767	return s
33768}
33769
33770// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
33771func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
33772	s.SourceSecurityGroupOwnerId = &v
33773	return s
33774}
33775
33776// SetToPort sets the ToPort field's value.
33777func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
33778	s.ToPort = &v
33779	return s
33780}
33781
33782type AuthorizeSecurityGroupIngressOutput struct {
33783	_ struct{} `type:"structure"`
33784}
33785
33786// String returns the string representation
33787func (s AuthorizeSecurityGroupIngressOutput) String() string {
33788	return awsutil.Prettify(s)
33789}
33790
33791// GoString returns the string representation
33792func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
33793	return s.String()
33794}
33795
33796// Describes an Availability Zone.
33797type AvailabilityZone struct {
33798	_ struct{} `type:"structure"`
33799
33800	// Any messages about the Availability Zone.
33801	Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
33802
33803	// The name of the Region.
33804	RegionName *string `locationName:"regionName" type:"string"`
33805
33806	// The state of the Availability Zone.
33807	State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
33808
33809	// The ID of the Availability Zone.
33810	ZoneId *string `locationName:"zoneId" type:"string"`
33811
33812	// The name of the Availability Zone.
33813	ZoneName *string `locationName:"zoneName" type:"string"`
33814}
33815
33816// String returns the string representation
33817func (s AvailabilityZone) String() string {
33818	return awsutil.Prettify(s)
33819}
33820
33821// GoString returns the string representation
33822func (s AvailabilityZone) GoString() string {
33823	return s.String()
33824}
33825
33826// SetMessages sets the Messages field's value.
33827func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
33828	s.Messages = v
33829	return s
33830}
33831
33832// SetRegionName sets the RegionName field's value.
33833func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
33834	s.RegionName = &v
33835	return s
33836}
33837
33838// SetState sets the State field's value.
33839func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
33840	s.State = &v
33841	return s
33842}
33843
33844// SetZoneId sets the ZoneId field's value.
33845func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
33846	s.ZoneId = &v
33847	return s
33848}
33849
33850// SetZoneName sets the ZoneName field's value.
33851func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
33852	s.ZoneName = &v
33853	return s
33854}
33855
33856// Describes a message about an Availability Zone.
33857type AvailabilityZoneMessage struct {
33858	_ struct{} `type:"structure"`
33859
33860	// The message about the Availability Zone.
33861	Message *string `locationName:"message" type:"string"`
33862}
33863
33864// String returns the string representation
33865func (s AvailabilityZoneMessage) String() string {
33866	return awsutil.Prettify(s)
33867}
33868
33869// GoString returns the string representation
33870func (s AvailabilityZoneMessage) GoString() string {
33871	return s.String()
33872}
33873
33874// SetMessage sets the Message field's value.
33875func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
33876	s.Message = &v
33877	return s
33878}
33879
33880// The capacity information for instances launched onto the Dedicated Host.
33881type AvailableCapacity struct {
33882	_ struct{} `type:"structure"`
33883
33884	// The total number of instances supported by the Dedicated Host.
33885	AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
33886
33887	// The number of vCPUs available on the Dedicated Host.
33888	AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
33889}
33890
33891// String returns the string representation
33892func (s AvailableCapacity) String() string {
33893	return awsutil.Prettify(s)
33894}
33895
33896// GoString returns the string representation
33897func (s AvailableCapacity) GoString() string {
33898	return s.String()
33899}
33900
33901// SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
33902func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
33903	s.AvailableInstanceCapacity = v
33904	return s
33905}
33906
33907// SetAvailableVCpus sets the AvailableVCpus field's value.
33908func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
33909	s.AvailableVCpus = &v
33910	return s
33911}
33912
33913type BlobAttributeValue struct {
33914	_ struct{} `type:"structure"`
33915
33916	// Value is automatically base64 encoded/decoded by the SDK.
33917	Value []byte `locationName:"value" type:"blob"`
33918}
33919
33920// String returns the string representation
33921func (s BlobAttributeValue) String() string {
33922	return awsutil.Prettify(s)
33923}
33924
33925// GoString returns the string representation
33926func (s BlobAttributeValue) GoString() string {
33927	return s.String()
33928}
33929
33930// SetValue sets the Value field's value.
33931func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
33932	s.Value = v
33933	return s
33934}
33935
33936// Describes a block device mapping.
33937type BlockDeviceMapping struct {
33938	_ struct{} `type:"structure"`
33939
33940	// The device name (for example, /dev/sdh or xvdh).
33941	DeviceName *string `locationName:"deviceName" type:"string"`
33942
33943	// Parameters used to automatically set up EBS volumes when the instance is
33944	// launched.
33945	Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
33946
33947	// Suppresses the specified device included in the block device mapping of the
33948	// AMI.
33949	NoDevice *string `locationName:"noDevice" type:"string"`
33950
33951	// The virtual device name (ephemeralN). Instance store volumes are numbered
33952	// starting from 0. An instance type with 2 available instance store volumes
33953	// can specify mappings for ephemeral0 and ephemeral1. The number of available
33954	// instance store volumes depends on the instance type. After you connect to
33955	// the instance, you must mount the volume.
33956	//
33957	// NVMe instance store volumes are automatically enumerated and assigned a device
33958	// name. Including them in your block device mapping has no effect.
33959	//
33960	// Constraints: For M3 instances, you must specify instance store volumes in
33961	// the block device mapping for the instance. When you launch an M3 instance,
33962	// we ignore any instance store volumes specified in the block device mapping
33963	// for the AMI.
33964	VirtualName *string `locationName:"virtualName" type:"string"`
33965}
33966
33967// String returns the string representation
33968func (s BlockDeviceMapping) String() string {
33969	return awsutil.Prettify(s)
33970}
33971
33972// GoString returns the string representation
33973func (s BlockDeviceMapping) GoString() string {
33974	return s.String()
33975}
33976
33977// SetDeviceName sets the DeviceName field's value.
33978func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
33979	s.DeviceName = &v
33980	return s
33981}
33982
33983// SetEbs sets the Ebs field's value.
33984func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
33985	s.Ebs = v
33986	return s
33987}
33988
33989// SetNoDevice sets the NoDevice field's value.
33990func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
33991	s.NoDevice = &v
33992	return s
33993}
33994
33995// SetVirtualName sets the VirtualName field's value.
33996func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
33997	s.VirtualName = &v
33998	return s
33999}
34000
34001// Contains the parameters for BundleInstance.
34002type BundleInstanceInput struct {
34003	_ struct{} `type:"structure"`
34004
34005	// Checks whether you have the required permissions for the action, without
34006	// actually making the request, and provides an error response. If you have
34007	// the required permissions, the error response is DryRunOperation. Otherwise,
34008	// it is UnauthorizedOperation.
34009	DryRun *bool `locationName:"dryRun" type:"boolean"`
34010
34011	// The ID of the instance to bundle.
34012	//
34013	// Type: String
34014	//
34015	// Default: None
34016	//
34017	// Required: Yes
34018	//
34019	// InstanceId is a required field
34020	InstanceId *string `type:"string" required:"true"`
34021
34022	// The bucket in which to store the AMI. You can specify a bucket that you already
34023	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
34024	// a bucket that belongs to someone else, Amazon EC2 returns an error.
34025	//
34026	// Storage is a required field
34027	Storage *Storage `type:"structure" required:"true"`
34028}
34029
34030// String returns the string representation
34031func (s BundleInstanceInput) String() string {
34032	return awsutil.Prettify(s)
34033}
34034
34035// GoString returns the string representation
34036func (s BundleInstanceInput) GoString() string {
34037	return s.String()
34038}
34039
34040// Validate inspects the fields of the type to determine if they are valid.
34041func (s *BundleInstanceInput) Validate() error {
34042	invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
34043	if s.InstanceId == nil {
34044		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
34045	}
34046	if s.Storage == nil {
34047		invalidParams.Add(request.NewErrParamRequired("Storage"))
34048	}
34049
34050	if invalidParams.Len() > 0 {
34051		return invalidParams
34052	}
34053	return nil
34054}
34055
34056// SetDryRun sets the DryRun field's value.
34057func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
34058	s.DryRun = &v
34059	return s
34060}
34061
34062// SetInstanceId sets the InstanceId field's value.
34063func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
34064	s.InstanceId = &v
34065	return s
34066}
34067
34068// SetStorage sets the Storage field's value.
34069func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
34070	s.Storage = v
34071	return s
34072}
34073
34074// Contains the output of BundleInstance.
34075type BundleInstanceOutput struct {
34076	_ struct{} `type:"structure"`
34077
34078	// Information about the bundle task.
34079	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
34080}
34081
34082// String returns the string representation
34083func (s BundleInstanceOutput) String() string {
34084	return awsutil.Prettify(s)
34085}
34086
34087// GoString returns the string representation
34088func (s BundleInstanceOutput) GoString() string {
34089	return s.String()
34090}
34091
34092// SetBundleTask sets the BundleTask field's value.
34093func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
34094	s.BundleTask = v
34095	return s
34096}
34097
34098// Describes a bundle task.
34099type BundleTask struct {
34100	_ struct{} `type:"structure"`
34101
34102	// The ID of the bundle task.
34103	BundleId *string `locationName:"bundleId" type:"string"`
34104
34105	// If the task fails, a description of the error.
34106	BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
34107
34108	// The ID of the instance associated with this bundle task.
34109	InstanceId *string `locationName:"instanceId" type:"string"`
34110
34111	// The level of task completion, as a percent (for example, 20%).
34112	Progress *string `locationName:"progress" type:"string"`
34113
34114	// The time this task started.
34115	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
34116
34117	// The state of the task.
34118	State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
34119
34120	// The Amazon S3 storage locations.
34121	Storage *Storage `locationName:"storage" type:"structure"`
34122
34123	// The time of the most recent update for the task.
34124	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
34125}
34126
34127// String returns the string representation
34128func (s BundleTask) String() string {
34129	return awsutil.Prettify(s)
34130}
34131
34132// GoString returns the string representation
34133func (s BundleTask) GoString() string {
34134	return s.String()
34135}
34136
34137// SetBundleId sets the BundleId field's value.
34138func (s *BundleTask) SetBundleId(v string) *BundleTask {
34139	s.BundleId = &v
34140	return s
34141}
34142
34143// SetBundleTaskError sets the BundleTaskError field's value.
34144func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
34145	s.BundleTaskError = v
34146	return s
34147}
34148
34149// SetInstanceId sets the InstanceId field's value.
34150func (s *BundleTask) SetInstanceId(v string) *BundleTask {
34151	s.InstanceId = &v
34152	return s
34153}
34154
34155// SetProgress sets the Progress field's value.
34156func (s *BundleTask) SetProgress(v string) *BundleTask {
34157	s.Progress = &v
34158	return s
34159}
34160
34161// SetStartTime sets the StartTime field's value.
34162func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
34163	s.StartTime = &v
34164	return s
34165}
34166
34167// SetState sets the State field's value.
34168func (s *BundleTask) SetState(v string) *BundleTask {
34169	s.State = &v
34170	return s
34171}
34172
34173// SetStorage sets the Storage field's value.
34174func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
34175	s.Storage = v
34176	return s
34177}
34178
34179// SetUpdateTime sets the UpdateTime field's value.
34180func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
34181	s.UpdateTime = &v
34182	return s
34183}
34184
34185// Describes an error for BundleInstance.
34186type BundleTaskError struct {
34187	_ struct{} `type:"structure"`
34188
34189	// The error code.
34190	Code *string `locationName:"code" type:"string"`
34191
34192	// The error message.
34193	Message *string `locationName:"message" type:"string"`
34194}
34195
34196// String returns the string representation
34197func (s BundleTaskError) String() string {
34198	return awsutil.Prettify(s)
34199}
34200
34201// GoString returns the string representation
34202func (s BundleTaskError) GoString() string {
34203	return s.String()
34204}
34205
34206// SetCode sets the Code field's value.
34207func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
34208	s.Code = &v
34209	return s
34210}
34211
34212// SetMessage sets the Message field's value.
34213func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
34214	s.Message = &v
34215	return s
34216}
34217
34218// Information about an address range that is provisioned for use with your
34219// AWS resources through bring your own IP addresses (BYOIP).
34220type ByoipCidr struct {
34221	_ struct{} `type:"structure"`
34222
34223	// The public IPv4 address range, in CIDR notation.
34224	Cidr *string `locationName:"cidr" type:"string"`
34225
34226	// The description of the address range.
34227	Description *string `locationName:"description" type:"string"`
34228
34229	// The state of the address pool.
34230	State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
34231
34232	// Upon success, contains the ID of the address pool. Otherwise, contains an
34233	// error message.
34234	StatusMessage *string `locationName:"statusMessage" type:"string"`
34235}
34236
34237// String returns the string representation
34238func (s ByoipCidr) String() string {
34239	return awsutil.Prettify(s)
34240}
34241
34242// GoString returns the string representation
34243func (s ByoipCidr) GoString() string {
34244	return s.String()
34245}
34246
34247// SetCidr sets the Cidr field's value.
34248func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
34249	s.Cidr = &v
34250	return s
34251}
34252
34253// SetDescription sets the Description field's value.
34254func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
34255	s.Description = &v
34256	return s
34257}
34258
34259// SetState sets the State field's value.
34260func (s *ByoipCidr) SetState(v string) *ByoipCidr {
34261	s.State = &v
34262	return s
34263}
34264
34265// SetStatusMessage sets the StatusMessage field's value.
34266func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
34267	s.StatusMessage = &v
34268	return s
34269}
34270
34271// Contains the parameters for CancelBundleTask.
34272type CancelBundleTaskInput struct {
34273	_ struct{} `type:"structure"`
34274
34275	// The ID of the bundle task.
34276	//
34277	// BundleId is a required field
34278	BundleId *string `type:"string" required:"true"`
34279
34280	// Checks whether you have the required permissions for the action, without
34281	// actually making the request, and provides an error response. If you have
34282	// the required permissions, the error response is DryRunOperation. Otherwise,
34283	// it is UnauthorizedOperation.
34284	DryRun *bool `locationName:"dryRun" type:"boolean"`
34285}
34286
34287// String returns the string representation
34288func (s CancelBundleTaskInput) String() string {
34289	return awsutil.Prettify(s)
34290}
34291
34292// GoString returns the string representation
34293func (s CancelBundleTaskInput) GoString() string {
34294	return s.String()
34295}
34296
34297// Validate inspects the fields of the type to determine if they are valid.
34298func (s *CancelBundleTaskInput) Validate() error {
34299	invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
34300	if s.BundleId == nil {
34301		invalidParams.Add(request.NewErrParamRequired("BundleId"))
34302	}
34303
34304	if invalidParams.Len() > 0 {
34305		return invalidParams
34306	}
34307	return nil
34308}
34309
34310// SetBundleId sets the BundleId field's value.
34311func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
34312	s.BundleId = &v
34313	return s
34314}
34315
34316// SetDryRun sets the DryRun field's value.
34317func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
34318	s.DryRun = &v
34319	return s
34320}
34321
34322// Contains the output of CancelBundleTask.
34323type CancelBundleTaskOutput struct {
34324	_ struct{} `type:"structure"`
34325
34326	// Information about the bundle task.
34327	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
34328}
34329
34330// String returns the string representation
34331func (s CancelBundleTaskOutput) String() string {
34332	return awsutil.Prettify(s)
34333}
34334
34335// GoString returns the string representation
34336func (s CancelBundleTaskOutput) GoString() string {
34337	return s.String()
34338}
34339
34340// SetBundleTask sets the BundleTask field's value.
34341func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
34342	s.BundleTask = v
34343	return s
34344}
34345
34346type CancelCapacityReservationInput struct {
34347	_ struct{} `type:"structure"`
34348
34349	// The ID of the Capacity Reservation to be cancelled.
34350	//
34351	// CapacityReservationId is a required field
34352	CapacityReservationId *string `type:"string" required:"true"`
34353
34354	// Checks whether you have the required permissions for the action, without
34355	// actually making the request, and provides an error response. If you have
34356	// the required permissions, the error response is DryRunOperation. Otherwise,
34357	// it is UnauthorizedOperation.
34358	DryRun *bool `type:"boolean"`
34359}
34360
34361// String returns the string representation
34362func (s CancelCapacityReservationInput) String() string {
34363	return awsutil.Prettify(s)
34364}
34365
34366// GoString returns the string representation
34367func (s CancelCapacityReservationInput) GoString() string {
34368	return s.String()
34369}
34370
34371// Validate inspects the fields of the type to determine if they are valid.
34372func (s *CancelCapacityReservationInput) Validate() error {
34373	invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
34374	if s.CapacityReservationId == nil {
34375		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
34376	}
34377
34378	if invalidParams.Len() > 0 {
34379		return invalidParams
34380	}
34381	return nil
34382}
34383
34384// SetCapacityReservationId sets the CapacityReservationId field's value.
34385func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
34386	s.CapacityReservationId = &v
34387	return s
34388}
34389
34390// SetDryRun sets the DryRun field's value.
34391func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
34392	s.DryRun = &v
34393	return s
34394}
34395
34396type CancelCapacityReservationOutput struct {
34397	_ struct{} `type:"structure"`
34398
34399	// Returns true if the request succeeds; otherwise, it returns an error.
34400	Return *bool `locationName:"return" type:"boolean"`
34401}
34402
34403// String returns the string representation
34404func (s CancelCapacityReservationOutput) String() string {
34405	return awsutil.Prettify(s)
34406}
34407
34408// GoString returns the string representation
34409func (s CancelCapacityReservationOutput) GoString() string {
34410	return s.String()
34411}
34412
34413// SetReturn sets the Return field's value.
34414func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
34415	s.Return = &v
34416	return s
34417}
34418
34419// Contains the parameters for CancelConversionTask.
34420type CancelConversionTaskInput struct {
34421	_ struct{} `type:"structure"`
34422
34423	// The ID of the conversion task.
34424	//
34425	// ConversionTaskId is a required field
34426	ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
34427
34428	// Checks whether you have the required permissions for the action, without
34429	// actually making the request, and provides an error response. If you have
34430	// the required permissions, the error response is DryRunOperation. Otherwise,
34431	// it is UnauthorizedOperation.
34432	DryRun *bool `locationName:"dryRun" type:"boolean"`
34433
34434	// The reason for canceling the conversion task.
34435	ReasonMessage *string `locationName:"reasonMessage" type:"string"`
34436}
34437
34438// String returns the string representation
34439func (s CancelConversionTaskInput) String() string {
34440	return awsutil.Prettify(s)
34441}
34442
34443// GoString returns the string representation
34444func (s CancelConversionTaskInput) GoString() string {
34445	return s.String()
34446}
34447
34448// Validate inspects the fields of the type to determine if they are valid.
34449func (s *CancelConversionTaskInput) Validate() error {
34450	invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
34451	if s.ConversionTaskId == nil {
34452		invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
34453	}
34454
34455	if invalidParams.Len() > 0 {
34456		return invalidParams
34457	}
34458	return nil
34459}
34460
34461// SetConversionTaskId sets the ConversionTaskId field's value.
34462func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
34463	s.ConversionTaskId = &v
34464	return s
34465}
34466
34467// SetDryRun sets the DryRun field's value.
34468func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
34469	s.DryRun = &v
34470	return s
34471}
34472
34473// SetReasonMessage sets the ReasonMessage field's value.
34474func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
34475	s.ReasonMessage = &v
34476	return s
34477}
34478
34479type CancelConversionTaskOutput struct {
34480	_ struct{} `type:"structure"`
34481}
34482
34483// String returns the string representation
34484func (s CancelConversionTaskOutput) String() string {
34485	return awsutil.Prettify(s)
34486}
34487
34488// GoString returns the string representation
34489func (s CancelConversionTaskOutput) GoString() string {
34490	return s.String()
34491}
34492
34493// Contains the parameters for CancelExportTask.
34494type CancelExportTaskInput struct {
34495	_ struct{} `type:"structure"`
34496
34497	// The ID of the export task. This is the ID returned by CreateInstanceExportTask.
34498	//
34499	// ExportTaskId is a required field
34500	ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
34501}
34502
34503// String returns the string representation
34504func (s CancelExportTaskInput) String() string {
34505	return awsutil.Prettify(s)
34506}
34507
34508// GoString returns the string representation
34509func (s CancelExportTaskInput) GoString() string {
34510	return s.String()
34511}
34512
34513// Validate inspects the fields of the type to determine if they are valid.
34514func (s *CancelExportTaskInput) Validate() error {
34515	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
34516	if s.ExportTaskId == nil {
34517		invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
34518	}
34519
34520	if invalidParams.Len() > 0 {
34521		return invalidParams
34522	}
34523	return nil
34524}
34525
34526// SetExportTaskId sets the ExportTaskId field's value.
34527func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
34528	s.ExportTaskId = &v
34529	return s
34530}
34531
34532type CancelExportTaskOutput struct {
34533	_ struct{} `type:"structure"`
34534}
34535
34536// String returns the string representation
34537func (s CancelExportTaskOutput) String() string {
34538	return awsutil.Prettify(s)
34539}
34540
34541// GoString returns the string representation
34542func (s CancelExportTaskOutput) GoString() string {
34543	return s.String()
34544}
34545
34546// Contains the parameters for CancelImportTask.
34547type CancelImportTaskInput struct {
34548	_ struct{} `type:"structure"`
34549
34550	// The reason for canceling the task.
34551	CancelReason *string `type:"string"`
34552
34553	// Checks whether you have the required permissions for the action, without
34554	// actually making the request, and provides an error response. If you have
34555	// the required permissions, the error response is DryRunOperation. Otherwise,
34556	// it is UnauthorizedOperation.
34557	DryRun *bool `type:"boolean"`
34558
34559	// The ID of the import image or import snapshot task to be canceled.
34560	ImportTaskId *string `type:"string"`
34561}
34562
34563// String returns the string representation
34564func (s CancelImportTaskInput) String() string {
34565	return awsutil.Prettify(s)
34566}
34567
34568// GoString returns the string representation
34569func (s CancelImportTaskInput) GoString() string {
34570	return s.String()
34571}
34572
34573// SetCancelReason sets the CancelReason field's value.
34574func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
34575	s.CancelReason = &v
34576	return s
34577}
34578
34579// SetDryRun sets the DryRun field's value.
34580func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
34581	s.DryRun = &v
34582	return s
34583}
34584
34585// SetImportTaskId sets the ImportTaskId field's value.
34586func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
34587	s.ImportTaskId = &v
34588	return s
34589}
34590
34591// Contains the output for CancelImportTask.
34592type CancelImportTaskOutput struct {
34593	_ struct{} `type:"structure"`
34594
34595	// The ID of the task being canceled.
34596	ImportTaskId *string `locationName:"importTaskId" type:"string"`
34597
34598	// The current state of the task being canceled.
34599	PreviousState *string `locationName:"previousState" type:"string"`
34600
34601	// The current state of the task being canceled.
34602	State *string `locationName:"state" type:"string"`
34603}
34604
34605// String returns the string representation
34606func (s CancelImportTaskOutput) String() string {
34607	return awsutil.Prettify(s)
34608}
34609
34610// GoString returns the string representation
34611func (s CancelImportTaskOutput) GoString() string {
34612	return s.String()
34613}
34614
34615// SetImportTaskId sets the ImportTaskId field's value.
34616func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
34617	s.ImportTaskId = &v
34618	return s
34619}
34620
34621// SetPreviousState sets the PreviousState field's value.
34622func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
34623	s.PreviousState = &v
34624	return s
34625}
34626
34627// SetState sets the State field's value.
34628func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
34629	s.State = &v
34630	return s
34631}
34632
34633// Contains the parameters for CancelReservedInstancesListing.
34634type CancelReservedInstancesListingInput struct {
34635	_ struct{} `type:"structure"`
34636
34637	// The ID of the Reserved Instance listing.
34638	//
34639	// ReservedInstancesListingId is a required field
34640	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
34641}
34642
34643// String returns the string representation
34644func (s CancelReservedInstancesListingInput) String() string {
34645	return awsutil.Prettify(s)
34646}
34647
34648// GoString returns the string representation
34649func (s CancelReservedInstancesListingInput) GoString() string {
34650	return s.String()
34651}
34652
34653// Validate inspects the fields of the type to determine if they are valid.
34654func (s *CancelReservedInstancesListingInput) Validate() error {
34655	invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
34656	if s.ReservedInstancesListingId == nil {
34657		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
34658	}
34659
34660	if invalidParams.Len() > 0 {
34661		return invalidParams
34662	}
34663	return nil
34664}
34665
34666// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
34667func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
34668	s.ReservedInstancesListingId = &v
34669	return s
34670}
34671
34672// Contains the output of CancelReservedInstancesListing.
34673type CancelReservedInstancesListingOutput struct {
34674	_ struct{} `type:"structure"`
34675
34676	// The Reserved Instance listing.
34677	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
34678}
34679
34680// String returns the string representation
34681func (s CancelReservedInstancesListingOutput) String() string {
34682	return awsutil.Prettify(s)
34683}
34684
34685// GoString returns the string representation
34686func (s CancelReservedInstancesListingOutput) GoString() string {
34687	return s.String()
34688}
34689
34690// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
34691func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
34692	s.ReservedInstancesListings = v
34693	return s
34694}
34695
34696// Describes a Spot Fleet error.
34697type CancelSpotFleetRequestsError struct {
34698	_ struct{} `type:"structure"`
34699
34700	// The error code.
34701	Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
34702
34703	// The description for the error code.
34704	Message *string `locationName:"message" type:"string"`
34705}
34706
34707// String returns the string representation
34708func (s CancelSpotFleetRequestsError) String() string {
34709	return awsutil.Prettify(s)
34710}
34711
34712// GoString returns the string representation
34713func (s CancelSpotFleetRequestsError) GoString() string {
34714	return s.String()
34715}
34716
34717// SetCode sets the Code field's value.
34718func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
34719	s.Code = &v
34720	return s
34721}
34722
34723// SetMessage sets the Message field's value.
34724func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
34725	s.Message = &v
34726	return s
34727}
34728
34729// Describes a Spot Fleet request that was not successfully canceled.
34730type CancelSpotFleetRequestsErrorItem struct {
34731	_ struct{} `type:"structure"`
34732
34733	// The error.
34734	Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
34735
34736	// The ID of the Spot Fleet request.
34737	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
34738}
34739
34740// String returns the string representation
34741func (s CancelSpotFleetRequestsErrorItem) String() string {
34742	return awsutil.Prettify(s)
34743}
34744
34745// GoString returns the string representation
34746func (s CancelSpotFleetRequestsErrorItem) GoString() string {
34747	return s.String()
34748}
34749
34750// SetError sets the Error field's value.
34751func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
34752	s.Error = v
34753	return s
34754}
34755
34756// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
34757func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
34758	s.SpotFleetRequestId = &v
34759	return s
34760}
34761
34762// Contains the parameters for CancelSpotFleetRequests.
34763type CancelSpotFleetRequestsInput struct {
34764	_ struct{} `type:"structure"`
34765
34766	// Checks whether you have the required permissions for the action, without
34767	// actually making the request, and provides an error response. If you have
34768	// the required permissions, the error response is DryRunOperation. Otherwise,
34769	// it is UnauthorizedOperation.
34770	DryRun *bool `locationName:"dryRun" type:"boolean"`
34771
34772	// The IDs of the Spot Fleet requests.
34773	//
34774	// SpotFleetRequestIds is a required field
34775	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
34776
34777	// Indicates whether to terminate instances for a Spot Fleet request if it is
34778	// canceled successfully.
34779	//
34780	// TerminateInstances is a required field
34781	TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
34782}
34783
34784// String returns the string representation
34785func (s CancelSpotFleetRequestsInput) String() string {
34786	return awsutil.Prettify(s)
34787}
34788
34789// GoString returns the string representation
34790func (s CancelSpotFleetRequestsInput) GoString() string {
34791	return s.String()
34792}
34793
34794// Validate inspects the fields of the type to determine if they are valid.
34795func (s *CancelSpotFleetRequestsInput) Validate() error {
34796	invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
34797	if s.SpotFleetRequestIds == nil {
34798		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
34799	}
34800	if s.TerminateInstances == nil {
34801		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
34802	}
34803
34804	if invalidParams.Len() > 0 {
34805		return invalidParams
34806	}
34807	return nil
34808}
34809
34810// SetDryRun sets the DryRun field's value.
34811func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
34812	s.DryRun = &v
34813	return s
34814}
34815
34816// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
34817func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
34818	s.SpotFleetRequestIds = v
34819	return s
34820}
34821
34822// SetTerminateInstances sets the TerminateInstances field's value.
34823func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
34824	s.TerminateInstances = &v
34825	return s
34826}
34827
34828// Contains the output of CancelSpotFleetRequests.
34829type CancelSpotFleetRequestsOutput struct {
34830	_ struct{} `type:"structure"`
34831
34832	// Information about the Spot Fleet requests that are successfully canceled.
34833	SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
34834
34835	// Information about the Spot Fleet requests that are not successfully canceled.
34836	UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
34837}
34838
34839// String returns the string representation
34840func (s CancelSpotFleetRequestsOutput) String() string {
34841	return awsutil.Prettify(s)
34842}
34843
34844// GoString returns the string representation
34845func (s CancelSpotFleetRequestsOutput) GoString() string {
34846	return s.String()
34847}
34848
34849// SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
34850func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
34851	s.SuccessfulFleetRequests = v
34852	return s
34853}
34854
34855// SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
34856func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
34857	s.UnsuccessfulFleetRequests = v
34858	return s
34859}
34860
34861// Describes a Spot Fleet request that was successfully canceled.
34862type CancelSpotFleetRequestsSuccessItem struct {
34863	_ struct{} `type:"structure"`
34864
34865	// The current state of the Spot Fleet request.
34866	CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
34867
34868	// The previous state of the Spot Fleet request.
34869	PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
34870
34871	// The ID of the Spot Fleet request.
34872	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
34873}
34874
34875// String returns the string representation
34876func (s CancelSpotFleetRequestsSuccessItem) String() string {
34877	return awsutil.Prettify(s)
34878}
34879
34880// GoString returns the string representation
34881func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
34882	return s.String()
34883}
34884
34885// SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
34886func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
34887	s.CurrentSpotFleetRequestState = &v
34888	return s
34889}
34890
34891// SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
34892func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
34893	s.PreviousSpotFleetRequestState = &v
34894	return s
34895}
34896
34897// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
34898func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
34899	s.SpotFleetRequestId = &v
34900	return s
34901}
34902
34903// Contains the parameters for CancelSpotInstanceRequests.
34904type CancelSpotInstanceRequestsInput struct {
34905	_ struct{} `type:"structure"`
34906
34907	// Checks whether you have the required permissions for the action, without
34908	// actually making the request, and provides an error response. If you have
34909	// the required permissions, the error response is DryRunOperation. Otherwise,
34910	// it is UnauthorizedOperation.
34911	DryRun *bool `locationName:"dryRun" type:"boolean"`
34912
34913	// One or more Spot Instance request IDs.
34914	//
34915	// SpotInstanceRequestIds is a required field
34916	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
34917}
34918
34919// String returns the string representation
34920func (s CancelSpotInstanceRequestsInput) String() string {
34921	return awsutil.Prettify(s)
34922}
34923
34924// GoString returns the string representation
34925func (s CancelSpotInstanceRequestsInput) GoString() string {
34926	return s.String()
34927}
34928
34929// Validate inspects the fields of the type to determine if they are valid.
34930func (s *CancelSpotInstanceRequestsInput) Validate() error {
34931	invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
34932	if s.SpotInstanceRequestIds == nil {
34933		invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
34934	}
34935
34936	if invalidParams.Len() > 0 {
34937		return invalidParams
34938	}
34939	return nil
34940}
34941
34942// SetDryRun sets the DryRun field's value.
34943func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
34944	s.DryRun = &v
34945	return s
34946}
34947
34948// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
34949func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
34950	s.SpotInstanceRequestIds = v
34951	return s
34952}
34953
34954// Contains the output of CancelSpotInstanceRequests.
34955type CancelSpotInstanceRequestsOutput struct {
34956	_ struct{} `type:"structure"`
34957
34958	// One or more Spot Instance requests.
34959	CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
34960}
34961
34962// String returns the string representation
34963func (s CancelSpotInstanceRequestsOutput) String() string {
34964	return awsutil.Prettify(s)
34965}
34966
34967// GoString returns the string representation
34968func (s CancelSpotInstanceRequestsOutput) GoString() string {
34969	return s.String()
34970}
34971
34972// SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
34973func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
34974	s.CancelledSpotInstanceRequests = v
34975	return s
34976}
34977
34978// Describes a request to cancel a Spot Instance.
34979type CancelledSpotInstanceRequest struct {
34980	_ struct{} `type:"structure"`
34981
34982	// The ID of the Spot Instance request.
34983	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
34984
34985	// The state of the Spot Instance request.
34986	State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
34987}
34988
34989// String returns the string representation
34990func (s CancelledSpotInstanceRequest) String() string {
34991	return awsutil.Prettify(s)
34992}
34993
34994// GoString returns the string representation
34995func (s CancelledSpotInstanceRequest) GoString() string {
34996	return s.String()
34997}
34998
34999// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
35000func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
35001	s.SpotInstanceRequestId = &v
35002	return s
35003}
35004
35005// SetState sets the State field's value.
35006func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
35007	s.State = &v
35008	return s
35009}
35010
35011// Describes a Capacity Reservation.
35012type CapacityReservation struct {
35013	_ struct{} `type:"structure"`
35014
35015	// The Availability Zone in which the capacity is reserved.
35016	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
35017
35018	// The remaining capacity. Indicates the number of instances that can be launched
35019	// in the Capacity Reservation.
35020	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
35021
35022	// The ID of the Capacity Reservation.
35023	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
35024
35025	// The date and time at which the Capacity Reservation was created.
35026	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
35027
35028	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
35029	// This optimization provides dedicated throughput to Amazon EBS and an optimized
35030	// configuration stack to provide optimal I/O performance. This optimization
35031	// isn't available with all instance types. Additional usage charges apply when
35032	// using an EBS- optimized instance.
35033	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
35034
35035	// The date and time at which the Capacity Reservation expires. When a Capacity
35036	// Reservation expires, the reserved capacity is released and you can no longer
35037	// launch instances into it. The Capacity Reservation's state changes to expired
35038	// when it reaches its end date and time.
35039	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
35040
35041	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
35042	// can have one of the following end types:
35043	//
35044	//    * unlimited - The Capacity Reservation remains active until you explicitly
35045	//    cancel it.
35046	//
35047	//    * limited - The Capacity Reservation expires automatically at a specified
35048	//    date and time.
35049	EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
35050
35051	// Indicates whether the Capacity Reservation supports instances with temporary,
35052	// block-level storage.
35053	EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
35054
35055	// Indicates the type of instance launches that the Capacity Reservation accepts.
35056	// The options include:
35057	//
35058	//    * open - The Capacity Reservation accepts all instances that have matching
35059	//    attributes (instance type, platform, and Availability Zone). Instances
35060	//    that have matching attributes launch into the Capacity Reservation automatically
35061	//    without specifying any additional parameters.
35062	//
35063	//    * targeted - The Capacity Reservation only accepts instances that have
35064	//    matching attributes (instance type, platform, and Availability Zone),
35065	//    and explicitly target the Capacity Reservation. This ensures that only
35066	//    permitted instances can use the reserved capacity.
35067	InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
35068
35069	// The type of operating system for which the Capacity Reservation reserves
35070	// capacity.
35071	InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
35072
35073	// The type of instance for which the Capacity Reservation reserves capacity.
35074	InstanceType *string `locationName:"instanceType" type:"string"`
35075
35076	// The current state of the Capacity Reservation. A Capacity Reservation can
35077	// be in one of the following states:
35078	//
35079	//    * active - The Capacity Reservation is active and the capacity is available
35080	//    for your use.
35081	//
35082	//    * cancelled - The Capacity Reservation expired automatically at the date
35083	//    and time specified in your request. The reserved capacity is no longer
35084	//    available for your use.
35085	//
35086	//    * expired - The Capacity Reservation was manually cancelled. The reserved
35087	//    capacity is no longer available for your use.
35088	//
35089	//    * pending - The Capacity Reservation request was successful but the capacity
35090	//    provisioning is still pending.
35091	//
35092	//    * failed - The Capacity Reservation request has failed. A request might
35093	//    fail due to invalid request parameters, capacity constraints, or instance
35094	//    limit constraints. Failed requests are retained for 60 minutes.
35095	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
35096
35097	// Any tags assigned to the Capacity Reservation.
35098	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
35099
35100	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
35101	// can have one of the following tenancy settings:
35102	//
35103	//    * default - The Capacity Reservation is created on hardware that is shared
35104	//    with other AWS accounts.
35105	//
35106	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
35107	//    that is dedicated to a single AWS account.
35108	Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
35109
35110	// The number of instances for which the Capacity Reservation reserves capacity.
35111	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
35112}
35113
35114// String returns the string representation
35115func (s CapacityReservation) String() string {
35116	return awsutil.Prettify(s)
35117}
35118
35119// GoString returns the string representation
35120func (s CapacityReservation) GoString() string {
35121	return s.String()
35122}
35123
35124// SetAvailabilityZone sets the AvailabilityZone field's value.
35125func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
35126	s.AvailabilityZone = &v
35127	return s
35128}
35129
35130// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
35131func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
35132	s.AvailableInstanceCount = &v
35133	return s
35134}
35135
35136// SetCapacityReservationId sets the CapacityReservationId field's value.
35137func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
35138	s.CapacityReservationId = &v
35139	return s
35140}
35141
35142// SetCreateDate sets the CreateDate field's value.
35143func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
35144	s.CreateDate = &v
35145	return s
35146}
35147
35148// SetEbsOptimized sets the EbsOptimized field's value.
35149func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
35150	s.EbsOptimized = &v
35151	return s
35152}
35153
35154// SetEndDate sets the EndDate field's value.
35155func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
35156	s.EndDate = &v
35157	return s
35158}
35159
35160// SetEndDateType sets the EndDateType field's value.
35161func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
35162	s.EndDateType = &v
35163	return s
35164}
35165
35166// SetEphemeralStorage sets the EphemeralStorage field's value.
35167func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
35168	s.EphemeralStorage = &v
35169	return s
35170}
35171
35172// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
35173func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
35174	s.InstanceMatchCriteria = &v
35175	return s
35176}
35177
35178// SetInstancePlatform sets the InstancePlatform field's value.
35179func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
35180	s.InstancePlatform = &v
35181	return s
35182}
35183
35184// SetInstanceType sets the InstanceType field's value.
35185func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
35186	s.InstanceType = &v
35187	return s
35188}
35189
35190// SetState sets the State field's value.
35191func (s *CapacityReservation) SetState(v string) *CapacityReservation {
35192	s.State = &v
35193	return s
35194}
35195
35196// SetTags sets the Tags field's value.
35197func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
35198	s.Tags = v
35199	return s
35200}
35201
35202// SetTenancy sets the Tenancy field's value.
35203func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
35204	s.Tenancy = &v
35205	return s
35206}
35207
35208// SetTotalInstanceCount sets the TotalInstanceCount field's value.
35209func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
35210	s.TotalInstanceCount = &v
35211	return s
35212}
35213
35214// Describes an instance's Capacity Reservation targeting option. You can specify
35215// only one parameter at a time. If you specify CapacityReservationPreference
35216// and CapacityReservationTarget, the request fails.
35217//
35218// Use the CapacityReservationPreference parameter to configure the instance
35219// to run as an On-Demand Instance or to run in any open Capacity Reservation
35220// that has matching attributes (instance type, platform, Availability Zone).
35221// Use the CapacityReservationTarget parameter to explicitly target a specific
35222// Capacity Reservation.
35223type CapacityReservationSpecification struct {
35224	_ struct{} `type:"structure"`
35225
35226	// Indicates the instance's Capacity Reservation preferences. Possible preferences
35227	// include:
35228	//
35229	//    * open - The instance can run in any open Capacity Reservation that has
35230	//    matching attributes (instance type, platform, Availability Zone).
35231	//
35232	//    * none - The instance avoids running in a Capacity Reservation even if
35233	//    one is available. The instance runs as an On-Demand Instance.
35234	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
35235
35236	// Information about the target Capacity Reservation.
35237	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
35238}
35239
35240// String returns the string representation
35241func (s CapacityReservationSpecification) String() string {
35242	return awsutil.Prettify(s)
35243}
35244
35245// GoString returns the string representation
35246func (s CapacityReservationSpecification) GoString() string {
35247	return s.String()
35248}
35249
35250// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
35251func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
35252	s.CapacityReservationPreference = &v
35253	return s
35254}
35255
35256// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
35257func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
35258	s.CapacityReservationTarget = v
35259	return s
35260}
35261
35262// Describes the instance's Capacity Reservation targeting preferences. The
35263// action returns the capacityReservationPreference response element if the
35264// instance is configured to run in On-Demand capacity, or if it is configured
35265// in run in any open Capacity Reservation that has matching attributes (instance
35266// type, platform, Availability Zone). The action returns the capacityReservationTarget
35267// response element if the instance explicily targets a specific Capacity Reservation.
35268type CapacityReservationSpecificationResponse struct {
35269	_ struct{} `type:"structure"`
35270
35271	// Describes the instance's Capacity Reservation preferences. Possible preferences
35272	// include:
35273	//
35274	//    * open - The instance can run in any open Capacity Reservation that has
35275	//    matching attributes (instance type, platform, Availability Zone).
35276	//
35277	//    * none - The instance avoids running in a Capacity Reservation even if
35278	//    one is available. The instance runs in On-Demand capacity.
35279	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
35280
35281	// Information about the targeted Capacity Reservation.
35282	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
35283}
35284
35285// String returns the string representation
35286func (s CapacityReservationSpecificationResponse) String() string {
35287	return awsutil.Prettify(s)
35288}
35289
35290// GoString returns the string representation
35291func (s CapacityReservationSpecificationResponse) GoString() string {
35292	return s.String()
35293}
35294
35295// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
35296func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
35297	s.CapacityReservationPreference = &v
35298	return s
35299}
35300
35301// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
35302func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
35303	s.CapacityReservationTarget = v
35304	return s
35305}
35306
35307// Describes a target Capacity Reservation.
35308type CapacityReservationTarget struct {
35309	_ struct{} `type:"structure"`
35310
35311	// The ID of the Capacity Reservation.
35312	CapacityReservationId *string `type:"string"`
35313}
35314
35315// String returns the string representation
35316func (s CapacityReservationTarget) String() string {
35317	return awsutil.Prettify(s)
35318}
35319
35320// GoString returns the string representation
35321func (s CapacityReservationTarget) GoString() string {
35322	return s.String()
35323}
35324
35325// SetCapacityReservationId sets the CapacityReservationId field's value.
35326func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
35327	s.CapacityReservationId = &v
35328	return s
35329}
35330
35331// Describes a target Capacity Reservation.
35332type CapacityReservationTargetResponse struct {
35333	_ struct{} `type:"structure"`
35334
35335	// The ID of the Capacity Reservation.
35336	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
35337}
35338
35339// String returns the string representation
35340func (s CapacityReservationTargetResponse) String() string {
35341	return awsutil.Prettify(s)
35342}
35343
35344// GoString returns the string representation
35345func (s CapacityReservationTargetResponse) GoString() string {
35346	return s.String()
35347}
35348
35349// SetCapacityReservationId sets the CapacityReservationId field's value.
35350func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
35351	s.CapacityReservationId = &v
35352	return s
35353}
35354
35355// Information about the client certificate used for authentication.
35356type CertificateAuthentication struct {
35357	_ struct{} `type:"structure"`
35358
35359	// The ARN of the client certificate.
35360	ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
35361}
35362
35363// String returns the string representation
35364func (s CertificateAuthentication) String() string {
35365	return awsutil.Prettify(s)
35366}
35367
35368// GoString returns the string representation
35369func (s CertificateAuthentication) GoString() string {
35370	return s.String()
35371}
35372
35373// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
35374func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
35375	s.ClientRootCertificateChain = &v
35376	return s
35377}
35378
35379// Information about the client certificate to be used for authentication.
35380type CertificateAuthenticationRequest struct {
35381	_ struct{} `type:"structure"`
35382
35383	// The ARN of the client certificate. The certificate must be signed by a certificate
35384	// authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
35385	ClientRootCertificateChainArn *string `type:"string"`
35386}
35387
35388// String returns the string representation
35389func (s CertificateAuthenticationRequest) String() string {
35390	return awsutil.Prettify(s)
35391}
35392
35393// GoString returns the string representation
35394func (s CertificateAuthenticationRequest) GoString() string {
35395	return s.String()
35396}
35397
35398// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
35399func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
35400	s.ClientRootCertificateChainArn = &v
35401	return s
35402}
35403
35404// Provides authorization for Amazon to bring a specific IP address range to
35405// a specific AWS account using bring your own IP addresses (BYOIP). For more
35406// information, see Prepare to Bring Your Address Range to Your AWS Account
35407// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
35408// in the Amazon Elastic Compute Cloud User Guide.
35409type CidrAuthorizationContext struct {
35410	_ struct{} `type:"structure"`
35411
35412	// The plain-text authorization message for the prefix and account.
35413	//
35414	// Message is a required field
35415	Message *string `type:"string" required:"true"`
35416
35417	// The signed authorization message for the prefix and account.
35418	//
35419	// Signature is a required field
35420	Signature *string `type:"string" required:"true"`
35421}
35422
35423// String returns the string representation
35424func (s CidrAuthorizationContext) String() string {
35425	return awsutil.Prettify(s)
35426}
35427
35428// GoString returns the string representation
35429func (s CidrAuthorizationContext) GoString() string {
35430	return s.String()
35431}
35432
35433// Validate inspects the fields of the type to determine if they are valid.
35434func (s *CidrAuthorizationContext) Validate() error {
35435	invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
35436	if s.Message == nil {
35437		invalidParams.Add(request.NewErrParamRequired("Message"))
35438	}
35439	if s.Signature == nil {
35440		invalidParams.Add(request.NewErrParamRequired("Signature"))
35441	}
35442
35443	if invalidParams.Len() > 0 {
35444		return invalidParams
35445	}
35446	return nil
35447}
35448
35449// SetMessage sets the Message field's value.
35450func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
35451	s.Message = &v
35452	return s
35453}
35454
35455// SetSignature sets the Signature field's value.
35456func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
35457	s.Signature = &v
35458	return s
35459}
35460
35461// Describes an IPv4 CIDR block.
35462type CidrBlock struct {
35463	_ struct{} `type:"structure"`
35464
35465	// The IPv4 CIDR block.
35466	CidrBlock *string `locationName:"cidrBlock" type:"string"`
35467}
35468
35469// String returns the string representation
35470func (s CidrBlock) String() string {
35471	return awsutil.Prettify(s)
35472}
35473
35474// GoString returns the string representation
35475func (s CidrBlock) GoString() string {
35476	return s.String()
35477}
35478
35479// SetCidrBlock sets the CidrBlock field's value.
35480func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
35481	s.CidrBlock = &v
35482	return s
35483}
35484
35485// Describes the ClassicLink DNS support status of a VPC.
35486type ClassicLinkDnsSupport struct {
35487	_ struct{} `type:"structure"`
35488
35489	// Indicates whether ClassicLink DNS support is enabled for the VPC.
35490	ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
35491
35492	// The ID of the VPC.
35493	VpcId *string `locationName:"vpcId" type:"string"`
35494}
35495
35496// String returns the string representation
35497func (s ClassicLinkDnsSupport) String() string {
35498	return awsutil.Prettify(s)
35499}
35500
35501// GoString returns the string representation
35502func (s ClassicLinkDnsSupport) GoString() string {
35503	return s.String()
35504}
35505
35506// SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
35507func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
35508	s.ClassicLinkDnsSupported = &v
35509	return s
35510}
35511
35512// SetVpcId sets the VpcId field's value.
35513func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
35514	s.VpcId = &v
35515	return s
35516}
35517
35518// Describes a linked EC2-Classic instance.
35519type ClassicLinkInstance struct {
35520	_ struct{} `type:"structure"`
35521
35522	// A list of security groups.
35523	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
35524
35525	// The ID of the instance.
35526	InstanceId *string `locationName:"instanceId" type:"string"`
35527
35528	// Any tags assigned to the instance.
35529	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
35530
35531	// The ID of the VPC.
35532	VpcId *string `locationName:"vpcId" type:"string"`
35533}
35534
35535// String returns the string representation
35536func (s ClassicLinkInstance) String() string {
35537	return awsutil.Prettify(s)
35538}
35539
35540// GoString returns the string representation
35541func (s ClassicLinkInstance) GoString() string {
35542	return s.String()
35543}
35544
35545// SetGroups sets the Groups field's value.
35546func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
35547	s.Groups = v
35548	return s
35549}
35550
35551// SetInstanceId sets the InstanceId field's value.
35552func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
35553	s.InstanceId = &v
35554	return s
35555}
35556
35557// SetTags sets the Tags field's value.
35558func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
35559	s.Tags = v
35560	return s
35561}
35562
35563// SetVpcId sets the VpcId field's value.
35564func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
35565	s.VpcId = &v
35566	return s
35567}
35568
35569// Describes a Classic Load Balancer.
35570type ClassicLoadBalancer struct {
35571	_ struct{} `type:"structure"`
35572
35573	// The name of the load balancer.
35574	Name *string `locationName:"name" type:"string"`
35575}
35576
35577// String returns the string representation
35578func (s ClassicLoadBalancer) String() string {
35579	return awsutil.Prettify(s)
35580}
35581
35582// GoString returns the string representation
35583func (s ClassicLoadBalancer) GoString() string {
35584	return s.String()
35585}
35586
35587// SetName sets the Name field's value.
35588func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
35589	s.Name = &v
35590	return s
35591}
35592
35593// Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
35594// registers the running Spot Instances with these Classic Load Balancers.
35595type ClassicLoadBalancersConfig struct {
35596	_ struct{} `type:"structure"`
35597
35598	// One or more Classic Load Balancers.
35599	ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
35600}
35601
35602// String returns the string representation
35603func (s ClassicLoadBalancersConfig) String() string {
35604	return awsutil.Prettify(s)
35605}
35606
35607// GoString returns the string representation
35608func (s ClassicLoadBalancersConfig) GoString() string {
35609	return s.String()
35610}
35611
35612// Validate inspects the fields of the type to determine if they are valid.
35613func (s *ClassicLoadBalancersConfig) Validate() error {
35614	invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
35615	if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
35616		invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
35617	}
35618
35619	if invalidParams.Len() > 0 {
35620		return invalidParams
35621	}
35622	return nil
35623}
35624
35625// SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
35626func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
35627	s.ClassicLoadBalancers = v
35628	return s
35629}
35630
35631// Describes the state of a client certificate revocation list.
35632type ClientCertificateRevocationListStatus struct {
35633	_ struct{} `type:"structure"`
35634
35635	// The state of the client certificate revocation list.
35636	Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
35637
35638	// A message about the status of the client certificate revocation list, if
35639	// applicable.
35640	Message *string `locationName:"message" type:"string"`
35641}
35642
35643// String returns the string representation
35644func (s ClientCertificateRevocationListStatus) String() string {
35645	return awsutil.Prettify(s)
35646}
35647
35648// GoString returns the string representation
35649func (s ClientCertificateRevocationListStatus) GoString() string {
35650	return s.String()
35651}
35652
35653// SetCode sets the Code field's value.
35654func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
35655	s.Code = &v
35656	return s
35657}
35658
35659// SetMessage sets the Message field's value.
35660func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
35661	s.Message = &v
35662	return s
35663}
35664
35665// Describes the client-specific data.
35666type ClientData struct {
35667	_ struct{} `type:"structure"`
35668
35669	// A user-defined comment about the disk upload.
35670	Comment *string `type:"string"`
35671
35672	// The time that the disk upload ends.
35673	UploadEnd *time.Time `type:"timestamp"`
35674
35675	// The size of the uploaded disk image, in GiB.
35676	UploadSize *float64 `type:"double"`
35677
35678	// The time that the disk upload starts.
35679	UploadStart *time.Time `type:"timestamp"`
35680}
35681
35682// String returns the string representation
35683func (s ClientData) String() string {
35684	return awsutil.Prettify(s)
35685}
35686
35687// GoString returns the string representation
35688func (s ClientData) GoString() string {
35689	return s.String()
35690}
35691
35692// SetComment sets the Comment field's value.
35693func (s *ClientData) SetComment(v string) *ClientData {
35694	s.Comment = &v
35695	return s
35696}
35697
35698// SetUploadEnd sets the UploadEnd field's value.
35699func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
35700	s.UploadEnd = &v
35701	return s
35702}
35703
35704// SetUploadSize sets the UploadSize field's value.
35705func (s *ClientData) SetUploadSize(v float64) *ClientData {
35706	s.UploadSize = &v
35707	return s
35708}
35709
35710// SetUploadStart sets the UploadStart field's value.
35711func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
35712	s.UploadStart = &v
35713	return s
35714}
35715
35716// Describes the authentication methods used by a Client VPN endpoint. Client
35717// VPN supports Active Directory and mutual authentication. For more information,
35718// see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
35719// in the AWS Client VPN Administrator Guide.
35720type ClientVpnAuthentication struct {
35721	_ struct{} `type:"structure"`
35722
35723	// Information about the Active Directory, if applicable.
35724	ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
35725
35726	// Information about the authentication certificates, if applicable.
35727	MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
35728
35729	// The authentication type used.
35730	Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
35731}
35732
35733// String returns the string representation
35734func (s ClientVpnAuthentication) String() string {
35735	return awsutil.Prettify(s)
35736}
35737
35738// GoString returns the string representation
35739func (s ClientVpnAuthentication) GoString() string {
35740	return s.String()
35741}
35742
35743// SetActiveDirectory sets the ActiveDirectory field's value.
35744func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
35745	s.ActiveDirectory = v
35746	return s
35747}
35748
35749// SetMutualAuthentication sets the MutualAuthentication field's value.
35750func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
35751	s.MutualAuthentication = v
35752	return s
35753}
35754
35755// SetType sets the Type field's value.
35756func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
35757	s.Type = &v
35758	return s
35759}
35760
35761// Describes the authentication method to be used by a Client VPN endpoint.
35762// Client VPN supports Active Directory and mutual authentication. For more
35763// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
35764// in the AWS Client VPN Administrator Guide.
35765type ClientVpnAuthenticationRequest struct {
35766	_ struct{} `type:"structure"`
35767
35768	// Information about the Active Directory to be used, if applicable. You must
35769	// provide this information if Type is directory-service-authentication.
35770	ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
35771
35772	// Information about the authentication certificates to be used, if applicable.
35773	// You must provide this information if Type is certificate-authentication.
35774	MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
35775
35776	// The type of client authentication to be used. Specify certificate-authentication
35777	// to use certificate-based authentication, or directory-service-authentication
35778	// to use Active Directory authentication.
35779	Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
35780}
35781
35782// String returns the string representation
35783func (s ClientVpnAuthenticationRequest) String() string {
35784	return awsutil.Prettify(s)
35785}
35786
35787// GoString returns the string representation
35788func (s ClientVpnAuthenticationRequest) GoString() string {
35789	return s.String()
35790}
35791
35792// SetActiveDirectory sets the ActiveDirectory field's value.
35793func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
35794	s.ActiveDirectory = v
35795	return s
35796}
35797
35798// SetMutualAuthentication sets the MutualAuthentication field's value.
35799func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
35800	s.MutualAuthentication = v
35801	return s
35802}
35803
35804// SetType sets the Type field's value.
35805func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
35806	s.Type = &v
35807	return s
35808}
35809
35810// Describes the state of an authorization rule.
35811type ClientVpnAuthorizationRuleStatus struct {
35812	_ struct{} `type:"structure"`
35813
35814	// The state of the authorization rule.
35815	Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
35816
35817	// A message about the status of the authorization rule, if applicable.
35818	Message *string `locationName:"message" type:"string"`
35819}
35820
35821// String returns the string representation
35822func (s ClientVpnAuthorizationRuleStatus) String() string {
35823	return awsutil.Prettify(s)
35824}
35825
35826// GoString returns the string representation
35827func (s ClientVpnAuthorizationRuleStatus) GoString() string {
35828	return s.String()
35829}
35830
35831// SetCode sets the Code field's value.
35832func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
35833	s.Code = &v
35834	return s
35835}
35836
35837// SetMessage sets the Message field's value.
35838func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
35839	s.Message = &v
35840	return s
35841}
35842
35843// Describes a client connection.
35844type ClientVpnConnection struct {
35845	_ struct{} `type:"structure"`
35846
35847	// The IP address of the client.
35848	ClientIp *string `locationName:"clientIp" type:"string"`
35849
35850	// The ID of the Client VPN endpoint to which the client is connected.
35851	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
35852
35853	// The common name associated with the client. This is either the name of the
35854	// client certificate, or the Active Directory user name.
35855	CommonName *string `locationName:"commonName" type:"string"`
35856
35857	// The date and time the client connection was terminated.
35858	ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
35859
35860	// The date and time the client connection was established.
35861	ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
35862
35863	// The ID of the client connection.
35864	ConnectionId *string `locationName:"connectionId" type:"string"`
35865
35866	// The number of bytes received by the client.
35867	EgressBytes *string `locationName:"egressBytes" type:"string"`
35868
35869	// The number of packets received by the client.
35870	EgressPackets *string `locationName:"egressPackets" type:"string"`
35871
35872	// The number of bytes sent by the client.
35873	IngressBytes *string `locationName:"ingressBytes" type:"string"`
35874
35875	// The number of packets sent by the client.
35876	IngressPackets *string `locationName:"ingressPackets" type:"string"`
35877
35878	// The current state of the client connection.
35879	Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
35880
35881	// The current date and time.
35882	Timestamp *string `locationName:"timestamp" type:"string"`
35883
35884	// The username of the client who established the client connection. This information
35885	// is only provided if Active Directory client authentication is used.
35886	Username *string `locationName:"username" type:"string"`
35887}
35888
35889// String returns the string representation
35890func (s ClientVpnConnection) String() string {
35891	return awsutil.Prettify(s)
35892}
35893
35894// GoString returns the string representation
35895func (s ClientVpnConnection) GoString() string {
35896	return s.String()
35897}
35898
35899// SetClientIp sets the ClientIp field's value.
35900func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
35901	s.ClientIp = &v
35902	return s
35903}
35904
35905// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
35906func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
35907	s.ClientVpnEndpointId = &v
35908	return s
35909}
35910
35911// SetCommonName sets the CommonName field's value.
35912func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
35913	s.CommonName = &v
35914	return s
35915}
35916
35917// SetConnectionEndTime sets the ConnectionEndTime field's value.
35918func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
35919	s.ConnectionEndTime = &v
35920	return s
35921}
35922
35923// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
35924func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
35925	s.ConnectionEstablishedTime = &v
35926	return s
35927}
35928
35929// SetConnectionId sets the ConnectionId field's value.
35930func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
35931	s.ConnectionId = &v
35932	return s
35933}
35934
35935// SetEgressBytes sets the EgressBytes field's value.
35936func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
35937	s.EgressBytes = &v
35938	return s
35939}
35940
35941// SetEgressPackets sets the EgressPackets field's value.
35942func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
35943	s.EgressPackets = &v
35944	return s
35945}
35946
35947// SetIngressBytes sets the IngressBytes field's value.
35948func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
35949	s.IngressBytes = &v
35950	return s
35951}
35952
35953// SetIngressPackets sets the IngressPackets field's value.
35954func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
35955	s.IngressPackets = &v
35956	return s
35957}
35958
35959// SetStatus sets the Status field's value.
35960func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
35961	s.Status = v
35962	return s
35963}
35964
35965// SetTimestamp sets the Timestamp field's value.
35966func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
35967	s.Timestamp = &v
35968	return s
35969}
35970
35971// SetUsername sets the Username field's value.
35972func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
35973	s.Username = &v
35974	return s
35975}
35976
35977// Describes the status of a client connection.
35978type ClientVpnConnectionStatus struct {
35979	_ struct{} `type:"structure"`
35980
35981	// The state of the client connection.
35982	Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
35983
35984	// A message about the status of the client connection, if applicable.
35985	Message *string `locationName:"message" type:"string"`
35986}
35987
35988// String returns the string representation
35989func (s ClientVpnConnectionStatus) String() string {
35990	return awsutil.Prettify(s)
35991}
35992
35993// GoString returns the string representation
35994func (s ClientVpnConnectionStatus) GoString() string {
35995	return s.String()
35996}
35997
35998// SetCode sets the Code field's value.
35999func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
36000	s.Code = &v
36001	return s
36002}
36003
36004// SetMessage sets the Message field's value.
36005func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
36006	s.Message = &v
36007	return s
36008}
36009
36010// Describes a Client VPN endpoint.
36011type ClientVpnEndpoint struct {
36012	_ struct{} `type:"structure"`
36013
36014	// Information about the associated target networks. A target network is a subnet
36015	// in a VPC.
36016	//
36017	// Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
36018	AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
36019
36020	// Information about the authentication method used by the Client VPN endpoint.
36021	AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
36022
36023	// The IPv4 address range, in CIDR notation, from which client IP addresses
36024	// are assigned.
36025	ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
36026
36027	// The ID of the Client VPN endpoint.
36028	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
36029
36030	// Information about the client connection logging options for the Client VPN
36031	// endpoint.
36032	ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
36033
36034	// The date and time the Client VPN endpoint was created.
36035	CreationTime *string `locationName:"creationTime" type:"string"`
36036
36037	// The date and time the Client VPN endpoint was deleted, if applicable.
36038	DeletionTime *string `locationName:"deletionTime" type:"string"`
36039
36040	// A brief description of the endpoint.
36041	Description *string `locationName:"description" type:"string"`
36042
36043	// The DNS name to be used by clients when connecting to the Client VPN endpoint.
36044	DnsName *string `locationName:"dnsName" type:"string"`
36045
36046	// Information about the DNS servers to be used for DNS resolution.
36047	DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
36048
36049	// The ARN of the server certificate.
36050	ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
36051
36052	// Indicates whether VPN split tunneling is supported.
36053	SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
36054
36055	// The current state of the Client VPN endpoint.
36056	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
36057
36058	// Any tags assigned to the Client VPN endpoint.
36059	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
36060
36061	// The transport protocol used by the Client VPN endpoint.
36062	TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
36063
36064	// The protocol used by the VPN session.
36065	VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
36066}
36067
36068// String returns the string representation
36069func (s ClientVpnEndpoint) String() string {
36070	return awsutil.Prettify(s)
36071}
36072
36073// GoString returns the string representation
36074func (s ClientVpnEndpoint) GoString() string {
36075	return s.String()
36076}
36077
36078// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
36079func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
36080	s.AssociatedTargetNetworks = v
36081	return s
36082}
36083
36084// SetAuthenticationOptions sets the AuthenticationOptions field's value.
36085func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
36086	s.AuthenticationOptions = v
36087	return s
36088}
36089
36090// SetClientCidrBlock sets the ClientCidrBlock field's value.
36091func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
36092	s.ClientCidrBlock = &v
36093	return s
36094}
36095
36096// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
36097func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
36098	s.ClientVpnEndpointId = &v
36099	return s
36100}
36101
36102// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
36103func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
36104	s.ConnectionLogOptions = v
36105	return s
36106}
36107
36108// SetCreationTime sets the CreationTime field's value.
36109func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
36110	s.CreationTime = &v
36111	return s
36112}
36113
36114// SetDeletionTime sets the DeletionTime field's value.
36115func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
36116	s.DeletionTime = &v
36117	return s
36118}
36119
36120// SetDescription sets the Description field's value.
36121func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
36122	s.Description = &v
36123	return s
36124}
36125
36126// SetDnsName sets the DnsName field's value.
36127func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
36128	s.DnsName = &v
36129	return s
36130}
36131
36132// SetDnsServers sets the DnsServers field's value.
36133func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
36134	s.DnsServers = v
36135	return s
36136}
36137
36138// SetServerCertificateArn sets the ServerCertificateArn field's value.
36139func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
36140	s.ServerCertificateArn = &v
36141	return s
36142}
36143
36144// SetSplitTunnel sets the SplitTunnel field's value.
36145func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
36146	s.SplitTunnel = &v
36147	return s
36148}
36149
36150// SetStatus sets the Status field's value.
36151func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
36152	s.Status = v
36153	return s
36154}
36155
36156// SetTags sets the Tags field's value.
36157func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
36158	s.Tags = v
36159	return s
36160}
36161
36162// SetTransportProtocol sets the TransportProtocol field's value.
36163func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
36164	s.TransportProtocol = &v
36165	return s
36166}
36167
36168// SetVpnProtocol sets the VpnProtocol field's value.
36169func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
36170	s.VpnProtocol = &v
36171	return s
36172}
36173
36174// Describes the state of a Client VPN endpoint.
36175type ClientVpnEndpointStatus struct {
36176	_ struct{} `type:"structure"`
36177
36178	// The state of the Client VPN endpoint. Possible states include:
36179	//
36180	//    * pending-associate - The Client VPN endpoint has been created but no
36181	//    target networks have been associated. The Client VPN endpoint cannot accept
36182	//    connections.
36183	//
36184	//    * available - The Client VPN endpoint has been created and a target network
36185	//    has been associated. The Client VPN endpoint can accept connections.
36186	//
36187	//    * deleting - The Client VPN endpoint is being deleted. The Client VPN
36188	//    endpoint cannot accept connections.
36189	//
36190	//    * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
36191	//    cannot accept connections.
36192	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
36193
36194	// A message about the status of the Client VPN endpoint.
36195	Message *string `locationName:"message" type:"string"`
36196}
36197
36198// String returns the string representation
36199func (s ClientVpnEndpointStatus) String() string {
36200	return awsutil.Prettify(s)
36201}
36202
36203// GoString returns the string representation
36204func (s ClientVpnEndpointStatus) GoString() string {
36205	return s.String()
36206}
36207
36208// SetCode sets the Code field's value.
36209func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
36210	s.Code = &v
36211	return s
36212}
36213
36214// SetMessage sets the Message field's value.
36215func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
36216	s.Message = &v
36217	return s
36218}
36219
36220// Information about a Client VPN endpoint route.
36221type ClientVpnRoute struct {
36222	_ struct{} `type:"structure"`
36223
36224	// The ID of the Client VPN endpoint with which the route is associated.
36225	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
36226
36227	// A brief description of the route.
36228	Description *string `locationName:"description" type:"string"`
36229
36230	// The IPv4 address range, in CIDR notation, of the route destination.
36231	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
36232
36233	// Indicates how the route was associated with the Client VPN endpoint. associate
36234	// indicates that the route was automatically added when the target network
36235	// was associated with the Client VPN endpoint. add-route indicates that the
36236	// route was manually added using the CreateClientVpnRoute action.
36237	Origin *string `locationName:"origin" type:"string"`
36238
36239	// The current state of the route.
36240	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
36241
36242	// The ID of the subnet through which traffic is routed.
36243	TargetSubnet *string `locationName:"targetSubnet" type:"string"`
36244
36245	// The route type.
36246	Type *string `locationName:"type" type:"string"`
36247}
36248
36249// String returns the string representation
36250func (s ClientVpnRoute) String() string {
36251	return awsutil.Prettify(s)
36252}
36253
36254// GoString returns the string representation
36255func (s ClientVpnRoute) GoString() string {
36256	return s.String()
36257}
36258
36259// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
36260func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
36261	s.ClientVpnEndpointId = &v
36262	return s
36263}
36264
36265// SetDescription sets the Description field's value.
36266func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
36267	s.Description = &v
36268	return s
36269}
36270
36271// SetDestinationCidr sets the DestinationCidr field's value.
36272func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
36273	s.DestinationCidr = &v
36274	return s
36275}
36276
36277// SetOrigin sets the Origin field's value.
36278func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
36279	s.Origin = &v
36280	return s
36281}
36282
36283// SetStatus sets the Status field's value.
36284func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
36285	s.Status = v
36286	return s
36287}
36288
36289// SetTargetSubnet sets the TargetSubnet field's value.
36290func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
36291	s.TargetSubnet = &v
36292	return s
36293}
36294
36295// SetType sets the Type field's value.
36296func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
36297	s.Type = &v
36298	return s
36299}
36300
36301// Describes the state of a Client VPN endpoint route.
36302type ClientVpnRouteStatus struct {
36303	_ struct{} `type:"structure"`
36304
36305	// The state of the Client VPN endpoint route.
36306	Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
36307
36308	// A message about the status of the Client VPN endpoint route, if applicable.
36309	Message *string `locationName:"message" type:"string"`
36310}
36311
36312// String returns the string representation
36313func (s ClientVpnRouteStatus) String() string {
36314	return awsutil.Prettify(s)
36315}
36316
36317// GoString returns the string representation
36318func (s ClientVpnRouteStatus) GoString() string {
36319	return s.String()
36320}
36321
36322// SetCode sets the Code field's value.
36323func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
36324	s.Code = &v
36325	return s
36326}
36327
36328// SetMessage sets the Message field's value.
36329func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
36330	s.Message = &v
36331	return s
36332}
36333
36334type ConfirmProductInstanceInput struct {
36335	_ struct{} `type:"structure"`
36336
36337	// Checks whether you have the required permissions for the action, without
36338	// actually making the request, and provides an error response. If you have
36339	// the required permissions, the error response is DryRunOperation. Otherwise,
36340	// it is UnauthorizedOperation.
36341	DryRun *bool `locationName:"dryRun" type:"boolean"`
36342
36343	// The ID of the instance.
36344	//
36345	// InstanceId is a required field
36346	InstanceId *string `type:"string" required:"true"`
36347
36348	// The product code. This must be a product code that you own.
36349	//
36350	// ProductCode is a required field
36351	ProductCode *string `type:"string" required:"true"`
36352}
36353
36354// String returns the string representation
36355func (s ConfirmProductInstanceInput) String() string {
36356	return awsutil.Prettify(s)
36357}
36358
36359// GoString returns the string representation
36360func (s ConfirmProductInstanceInput) GoString() string {
36361	return s.String()
36362}
36363
36364// Validate inspects the fields of the type to determine if they are valid.
36365func (s *ConfirmProductInstanceInput) Validate() error {
36366	invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
36367	if s.InstanceId == nil {
36368		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
36369	}
36370	if s.ProductCode == nil {
36371		invalidParams.Add(request.NewErrParamRequired("ProductCode"))
36372	}
36373
36374	if invalidParams.Len() > 0 {
36375		return invalidParams
36376	}
36377	return nil
36378}
36379
36380// SetDryRun sets the DryRun field's value.
36381func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
36382	s.DryRun = &v
36383	return s
36384}
36385
36386// SetInstanceId sets the InstanceId field's value.
36387func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
36388	s.InstanceId = &v
36389	return s
36390}
36391
36392// SetProductCode sets the ProductCode field's value.
36393func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
36394	s.ProductCode = &v
36395	return s
36396}
36397
36398type ConfirmProductInstanceOutput struct {
36399	_ struct{} `type:"structure"`
36400
36401	// The AWS account ID of the instance owner. This is only present if the product
36402	// code is attached to the instance.
36403	OwnerId *string `locationName:"ownerId" type:"string"`
36404
36405	// The return value of the request. Returns true if the specified product code
36406	// is owned by the requester and associated with the specified instance.
36407	Return *bool `locationName:"return" type:"boolean"`
36408}
36409
36410// String returns the string representation
36411func (s ConfirmProductInstanceOutput) String() string {
36412	return awsutil.Prettify(s)
36413}
36414
36415// GoString returns the string representation
36416func (s ConfirmProductInstanceOutput) GoString() string {
36417	return s.String()
36418}
36419
36420// SetOwnerId sets the OwnerId field's value.
36421func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
36422	s.OwnerId = &v
36423	return s
36424}
36425
36426// SetReturn sets the Return field's value.
36427func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
36428	s.Return = &v
36429	return s
36430}
36431
36432// Describes the client connection logging options for the Client VPN endpoint.
36433type ConnectionLogOptions struct {
36434	_ struct{} `type:"structure"`
36435
36436	// The name of the CloudWatch Logs log group.
36437	CloudwatchLogGroup *string `type:"string"`
36438
36439	// The name of the CloudWatch Logs log stream to which the connection data is
36440	// published.
36441	CloudwatchLogStream *string `type:"string"`
36442
36443	// Indicates whether connection logging is enabled.
36444	Enabled *bool `type:"boolean"`
36445}
36446
36447// String returns the string representation
36448func (s ConnectionLogOptions) String() string {
36449	return awsutil.Prettify(s)
36450}
36451
36452// GoString returns the string representation
36453func (s ConnectionLogOptions) GoString() string {
36454	return s.String()
36455}
36456
36457// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
36458func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
36459	s.CloudwatchLogGroup = &v
36460	return s
36461}
36462
36463// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
36464func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
36465	s.CloudwatchLogStream = &v
36466	return s
36467}
36468
36469// SetEnabled sets the Enabled field's value.
36470func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
36471	s.Enabled = &v
36472	return s
36473}
36474
36475// Information about the client connection logging options for a Client VPN
36476// endpoint.
36477type ConnectionLogResponseOptions struct {
36478	_ struct{} `type:"structure"`
36479
36480	// The name of the Amazon CloudWatch Logs log group to which connection logging
36481	// data is published.
36482	CloudwatchLogGroup *string `type:"string"`
36483
36484	// The name of the Amazon CloudWatch Logs log stream to which connection logging
36485	// data is published.
36486	CloudwatchLogStream *string `type:"string"`
36487
36488	// Indicates whether client connection logging is enabled for the Client VPN
36489	// endpoint.
36490	Enabled *bool `type:"boolean"`
36491}
36492
36493// String returns the string representation
36494func (s ConnectionLogResponseOptions) String() string {
36495	return awsutil.Prettify(s)
36496}
36497
36498// GoString returns the string representation
36499func (s ConnectionLogResponseOptions) GoString() string {
36500	return s.String()
36501}
36502
36503// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
36504func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
36505	s.CloudwatchLogGroup = &v
36506	return s
36507}
36508
36509// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
36510func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
36511	s.CloudwatchLogStream = &v
36512	return s
36513}
36514
36515// SetEnabled sets the Enabled field's value.
36516func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
36517	s.Enabled = &v
36518	return s
36519}
36520
36521// Describes a connection notification for a VPC endpoint or VPC endpoint service.
36522type ConnectionNotification struct {
36523	_ struct{} `type:"structure"`
36524
36525	// The events for the notification. Valid values are Accept, Connect, Delete,
36526	// and Reject.
36527	ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
36528
36529	// The ARN of the SNS topic for the notification.
36530	ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
36531
36532	// The ID of the notification.
36533	ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
36534
36535	// The state of the notification.
36536	ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
36537
36538	// The type of notification.
36539	ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
36540
36541	// The ID of the endpoint service.
36542	ServiceId *string `locationName:"serviceId" type:"string"`
36543
36544	// The ID of the VPC endpoint.
36545	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
36546}
36547
36548// String returns the string representation
36549func (s ConnectionNotification) String() string {
36550	return awsutil.Prettify(s)
36551}
36552
36553// GoString returns the string representation
36554func (s ConnectionNotification) GoString() string {
36555	return s.String()
36556}
36557
36558// SetConnectionEvents sets the ConnectionEvents field's value.
36559func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
36560	s.ConnectionEvents = v
36561	return s
36562}
36563
36564// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
36565func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
36566	s.ConnectionNotificationArn = &v
36567	return s
36568}
36569
36570// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
36571func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
36572	s.ConnectionNotificationId = &v
36573	return s
36574}
36575
36576// SetConnectionNotificationState sets the ConnectionNotificationState field's value.
36577func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
36578	s.ConnectionNotificationState = &v
36579	return s
36580}
36581
36582// SetConnectionNotificationType sets the ConnectionNotificationType field's value.
36583func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
36584	s.ConnectionNotificationType = &v
36585	return s
36586}
36587
36588// SetServiceId sets the ServiceId field's value.
36589func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
36590	s.ServiceId = &v
36591	return s
36592}
36593
36594// SetVpcEndpointId sets the VpcEndpointId field's value.
36595func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
36596	s.VpcEndpointId = &v
36597	return s
36598}
36599
36600// Describes a conversion task.
36601type ConversionTask struct {
36602	_ struct{} `type:"structure"`
36603
36604	// The ID of the conversion task.
36605	ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
36606
36607	// The time when the task expires. If the upload isn't complete before the expiration
36608	// time, we automatically cancel the task.
36609	ExpirationTime *string `locationName:"expirationTime" type:"string"`
36610
36611	// If the task is for importing an instance, this contains information about
36612	// the import instance task.
36613	ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
36614
36615	// If the task is for importing a volume, this contains information about the
36616	// import volume task.
36617	ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
36618
36619	// The state of the conversion task.
36620	State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
36621
36622	// The status message related to the conversion task.
36623	StatusMessage *string `locationName:"statusMessage" type:"string"`
36624
36625	// Any tags assigned to the task.
36626	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
36627}
36628
36629// String returns the string representation
36630func (s ConversionTask) String() string {
36631	return awsutil.Prettify(s)
36632}
36633
36634// GoString returns the string representation
36635func (s ConversionTask) GoString() string {
36636	return s.String()
36637}
36638
36639// SetConversionTaskId sets the ConversionTaskId field's value.
36640func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
36641	s.ConversionTaskId = &v
36642	return s
36643}
36644
36645// SetExpirationTime sets the ExpirationTime field's value.
36646func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
36647	s.ExpirationTime = &v
36648	return s
36649}
36650
36651// SetImportInstance sets the ImportInstance field's value.
36652func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
36653	s.ImportInstance = v
36654	return s
36655}
36656
36657// SetImportVolume sets the ImportVolume field's value.
36658func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
36659	s.ImportVolume = v
36660	return s
36661}
36662
36663// SetState sets the State field's value.
36664func (s *ConversionTask) SetState(v string) *ConversionTask {
36665	s.State = &v
36666	return s
36667}
36668
36669// SetStatusMessage sets the StatusMessage field's value.
36670func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
36671	s.StatusMessage = &v
36672	return s
36673}
36674
36675// SetTags sets the Tags field's value.
36676func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
36677	s.Tags = v
36678	return s
36679}
36680
36681type CopyFpgaImageInput struct {
36682	_ struct{} `type:"structure"`
36683
36684	// Unique, case-sensitive identifier that you provide to ensure the idempotency
36685	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
36686	ClientToken *string `type:"string"`
36687
36688	// The description for the new AFI.
36689	Description *string `type:"string"`
36690
36691	// Checks whether you have the required permissions for the action, without
36692	// actually making the request, and provides an error response. If you have
36693	// the required permissions, the error response is DryRunOperation. Otherwise,
36694	// it is UnauthorizedOperation.
36695	DryRun *bool `type:"boolean"`
36696
36697	// The name for the new AFI. The default is the name of the source AFI.
36698	Name *string `type:"string"`
36699
36700	// The ID of the source AFI.
36701	//
36702	// SourceFpgaImageId is a required field
36703	SourceFpgaImageId *string `type:"string" required:"true"`
36704
36705	// The Region that contains the source AFI.
36706	//
36707	// SourceRegion is a required field
36708	SourceRegion *string `type:"string" required:"true"`
36709}
36710
36711// String returns the string representation
36712func (s CopyFpgaImageInput) String() string {
36713	return awsutil.Prettify(s)
36714}
36715
36716// GoString returns the string representation
36717func (s CopyFpgaImageInput) GoString() string {
36718	return s.String()
36719}
36720
36721// Validate inspects the fields of the type to determine if they are valid.
36722func (s *CopyFpgaImageInput) Validate() error {
36723	invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
36724	if s.SourceFpgaImageId == nil {
36725		invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
36726	}
36727	if s.SourceRegion == nil {
36728		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
36729	}
36730
36731	if invalidParams.Len() > 0 {
36732		return invalidParams
36733	}
36734	return nil
36735}
36736
36737// SetClientToken sets the ClientToken field's value.
36738func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
36739	s.ClientToken = &v
36740	return s
36741}
36742
36743// SetDescription sets the Description field's value.
36744func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
36745	s.Description = &v
36746	return s
36747}
36748
36749// SetDryRun sets the DryRun field's value.
36750func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
36751	s.DryRun = &v
36752	return s
36753}
36754
36755// SetName sets the Name field's value.
36756func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
36757	s.Name = &v
36758	return s
36759}
36760
36761// SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
36762func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
36763	s.SourceFpgaImageId = &v
36764	return s
36765}
36766
36767// SetSourceRegion sets the SourceRegion field's value.
36768func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
36769	s.SourceRegion = &v
36770	return s
36771}
36772
36773type CopyFpgaImageOutput struct {
36774	_ struct{} `type:"structure"`
36775
36776	// The ID of the new AFI.
36777	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
36778}
36779
36780// String returns the string representation
36781func (s CopyFpgaImageOutput) String() string {
36782	return awsutil.Prettify(s)
36783}
36784
36785// GoString returns the string representation
36786func (s CopyFpgaImageOutput) GoString() string {
36787	return s.String()
36788}
36789
36790// SetFpgaImageId sets the FpgaImageId field's value.
36791func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
36792	s.FpgaImageId = &v
36793	return s
36794}
36795
36796// Contains the parameters for CopyImage.
36797type CopyImageInput struct {
36798	_ struct{} `type:"structure"`
36799
36800	// Unique, case-sensitive identifier you provide to ensure idempotency of the
36801	// request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
36802	// in the Amazon Elastic Compute Cloud User Guide.
36803	ClientToken *string `type:"string"`
36804
36805	// A description for the new AMI in the destination Region.
36806	Description *string `type:"string"`
36807
36808	// Checks whether you have the required permissions for the action, without
36809	// actually making the request, and provides an error response. If you have
36810	// the required permissions, the error response is DryRunOperation. Otherwise,
36811	// it is UnauthorizedOperation.
36812	DryRun *bool `locationName:"dryRun" type:"boolean"`
36813
36814	// Specifies whether the destination snapshots of the copied image should be
36815	// encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
36816	// create an unencrypted copy of an encrypted snapshot. The default CMK for
36817	// EBS is used unless you specify a non-default AWS Key Management Service (AWS
36818	// KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
36819	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
36820	// in the Amazon Elastic Compute Cloud User Guide.
36821	Encrypted *bool `locationName:"encrypted" type:"boolean"`
36822
36823	// An identifier for the AWS Key Management Service (AWS KMS) customer master
36824	// key (CMK) to use when creating the encrypted volume. This parameter is only
36825	// required if you want to use a non-default CMK; if this parameter is not specified,
36826	// the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
36827	// flag must also be set.
36828	//
36829	// The CMK identifier may be provided in any of the following formats:
36830	//
36831	//    * Key ID
36832	//
36833	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
36834	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
36835	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
36836	//
36837	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
36838	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
36839	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
36840	//
36841	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
36842	// appear to complete even though you provided an invalid identifier. This action
36843	// will eventually report failure.
36844	//
36845	// The specified CMK must exist in the Region that the snapshot is being copied
36846	// to.
36847	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
36848
36849	// The name of the new AMI in the destination Region.
36850	//
36851	// Name is a required field
36852	Name *string `type:"string" required:"true"`
36853
36854	// The ID of the AMI to copy.
36855	//
36856	// SourceImageId is a required field
36857	SourceImageId *string `type:"string" required:"true"`
36858
36859	// The name of the Region that contains the AMI to copy.
36860	//
36861	// SourceRegion is a required field
36862	SourceRegion *string `type:"string" required:"true"`
36863}
36864
36865// String returns the string representation
36866func (s CopyImageInput) String() string {
36867	return awsutil.Prettify(s)
36868}
36869
36870// GoString returns the string representation
36871func (s CopyImageInput) GoString() string {
36872	return s.String()
36873}
36874
36875// Validate inspects the fields of the type to determine if they are valid.
36876func (s *CopyImageInput) Validate() error {
36877	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
36878	if s.Name == nil {
36879		invalidParams.Add(request.NewErrParamRequired("Name"))
36880	}
36881	if s.SourceImageId == nil {
36882		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
36883	}
36884	if s.SourceRegion == nil {
36885		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
36886	}
36887
36888	if invalidParams.Len() > 0 {
36889		return invalidParams
36890	}
36891	return nil
36892}
36893
36894// SetClientToken sets the ClientToken field's value.
36895func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
36896	s.ClientToken = &v
36897	return s
36898}
36899
36900// SetDescription sets the Description field's value.
36901func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
36902	s.Description = &v
36903	return s
36904}
36905
36906// SetDryRun sets the DryRun field's value.
36907func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
36908	s.DryRun = &v
36909	return s
36910}
36911
36912// SetEncrypted sets the Encrypted field's value.
36913func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
36914	s.Encrypted = &v
36915	return s
36916}
36917
36918// SetKmsKeyId sets the KmsKeyId field's value.
36919func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
36920	s.KmsKeyId = &v
36921	return s
36922}
36923
36924// SetName sets the Name field's value.
36925func (s *CopyImageInput) SetName(v string) *CopyImageInput {
36926	s.Name = &v
36927	return s
36928}
36929
36930// SetSourceImageId sets the SourceImageId field's value.
36931func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
36932	s.SourceImageId = &v
36933	return s
36934}
36935
36936// SetSourceRegion sets the SourceRegion field's value.
36937func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
36938	s.SourceRegion = &v
36939	return s
36940}
36941
36942// Contains the output of CopyImage.
36943type CopyImageOutput struct {
36944	_ struct{} `type:"structure"`
36945
36946	// The ID of the new AMI.
36947	ImageId *string `locationName:"imageId" type:"string"`
36948}
36949
36950// String returns the string representation
36951func (s CopyImageOutput) String() string {
36952	return awsutil.Prettify(s)
36953}
36954
36955// GoString returns the string representation
36956func (s CopyImageOutput) GoString() string {
36957	return s.String()
36958}
36959
36960// SetImageId sets the ImageId field's value.
36961func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
36962	s.ImageId = &v
36963	return s
36964}
36965
36966// Contains the parameters for CopySnapshot.
36967type CopySnapshotInput struct {
36968	_ struct{} `type:"structure"`
36969
36970	// A description for the EBS snapshot.
36971	Description *string `type:"string"`
36972
36973	// The destination Region to use in the PresignedUrl parameter of a snapshot
36974	// copy operation. This parameter is only valid for specifying the destination
36975	// Region in a PresignedUrl parameter, where it is required.
36976	//
36977	// The snapshot copy is sent to the regional endpoint that you sent the HTTP
36978	// request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI,
36979	// this is specified using the --region parameter or the default Region in your
36980	// AWS configuration file.
36981	DestinationRegion *string `locationName:"destinationRegion" type:"string"`
36982
36983	// Checks whether you have the required permissions for the action, without
36984	// actually making the request, and provides an error response. If you have
36985	// the required permissions, the error response is DryRunOperation. Otherwise,
36986	// it is UnauthorizedOperation.
36987	DryRun *bool `locationName:"dryRun" type:"boolean"`
36988
36989	// Specifies whether the destination snapshot should be encrypted. You can encrypt
36990	// a copy of an unencrypted snapshot, but you cannot use it to create an unencrypted
36991	// copy of an encrypted snapshot. Your default CMK for EBS is used unless you
36992	// specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId.
36993	// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
36994	// in the Amazon Elastic Compute Cloud User Guide.
36995	Encrypted *bool `locationName:"encrypted" type:"boolean"`
36996
36997	// An identifier for the AWS Key Management Service (AWS KMS) customer master
36998	// key (CMK) to use when creating the encrypted volume. This parameter is only
36999	// required if you want to use a non-default CMK; if this parameter is not specified,
37000	// the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
37001	// flag must also be set.
37002	//
37003	// The CMK identifier may be provided in any of the following formats:
37004	//
37005	//    * Key ID
37006	//
37007	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
37008	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
37009	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
37010	//
37011	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
37012	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
37013	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
37014	//
37015	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
37016	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
37017	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
37018	//
37019	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
37020	// appear to complete even though you provided an invalid identifier. The action
37021	// will eventually fail.
37022	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
37023
37024	// When you copy an encrypted source snapshot using the Amazon EC2 Query API,
37025	// you must supply a pre-signed URL. This parameter is optional for unencrypted
37026	// snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
37027	//
37028	// The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
37029	// action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
37030	// parameters. The PresignedUrl must be signed using AWS Signature Version 4.
37031	// Because EBS snapshots are stored in Amazon S3, the signing algorithm for
37032	// this parameter uses the same logic that is described in Authenticating Requests
37033	// by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
37034	// in the Amazon Simple Storage Service API Reference. An invalid or improperly
37035	// signed PresignedUrl will cause the copy operation to fail asynchronously,
37036	// and the snapshot will move to an error state.
37037	PresignedUrl *string `locationName:"presignedUrl" type:"string"`
37038
37039	// The ID of the Region that contains the snapshot to be copied.
37040	//
37041	// SourceRegion is a required field
37042	SourceRegion *string `type:"string" required:"true"`
37043
37044	// The ID of the EBS snapshot to copy.
37045	//
37046	// SourceSnapshotId is a required field
37047	SourceSnapshotId *string `type:"string" required:"true"`
37048}
37049
37050// String returns the string representation
37051func (s CopySnapshotInput) String() string {
37052	return awsutil.Prettify(s)
37053}
37054
37055// GoString returns the string representation
37056func (s CopySnapshotInput) GoString() string {
37057	return s.String()
37058}
37059
37060// Validate inspects the fields of the type to determine if they are valid.
37061func (s *CopySnapshotInput) Validate() error {
37062	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
37063	if s.SourceRegion == nil {
37064		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
37065	}
37066	if s.SourceSnapshotId == nil {
37067		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
37068	}
37069
37070	if invalidParams.Len() > 0 {
37071		return invalidParams
37072	}
37073	return nil
37074}
37075
37076// SetDescription sets the Description field's value.
37077func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
37078	s.Description = &v
37079	return s
37080}
37081
37082// SetDestinationRegion sets the DestinationRegion field's value.
37083func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
37084	s.DestinationRegion = &v
37085	return s
37086}
37087
37088// SetDryRun sets the DryRun field's value.
37089func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
37090	s.DryRun = &v
37091	return s
37092}
37093
37094// SetEncrypted sets the Encrypted field's value.
37095func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
37096	s.Encrypted = &v
37097	return s
37098}
37099
37100// SetKmsKeyId sets the KmsKeyId field's value.
37101func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
37102	s.KmsKeyId = &v
37103	return s
37104}
37105
37106// SetPresignedUrl sets the PresignedUrl field's value.
37107func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
37108	s.PresignedUrl = &v
37109	return s
37110}
37111
37112// SetSourceRegion sets the SourceRegion field's value.
37113func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
37114	s.SourceRegion = &v
37115	return s
37116}
37117
37118// SetSourceSnapshotId sets the SourceSnapshotId field's value.
37119func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
37120	s.SourceSnapshotId = &v
37121	return s
37122}
37123
37124// Contains the output of CopySnapshot.
37125type CopySnapshotOutput struct {
37126	_ struct{} `type:"structure"`
37127
37128	// The ID of the new snapshot.
37129	SnapshotId *string `locationName:"snapshotId" type:"string"`
37130}
37131
37132// String returns the string representation
37133func (s CopySnapshotOutput) String() string {
37134	return awsutil.Prettify(s)
37135}
37136
37137// GoString returns the string representation
37138func (s CopySnapshotOutput) GoString() string {
37139	return s.String()
37140}
37141
37142// SetSnapshotId sets the SnapshotId field's value.
37143func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
37144	s.SnapshotId = &v
37145	return s
37146}
37147
37148// The CPU options for the instance.
37149type CpuOptions struct {
37150	_ struct{} `type:"structure"`
37151
37152	// The number of CPU cores for the instance.
37153	CoreCount *int64 `locationName:"coreCount" type:"integer"`
37154
37155	// The number of threads per CPU core.
37156	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
37157}
37158
37159// String returns the string representation
37160func (s CpuOptions) String() string {
37161	return awsutil.Prettify(s)
37162}
37163
37164// GoString returns the string representation
37165func (s CpuOptions) GoString() string {
37166	return s.String()
37167}
37168
37169// SetCoreCount sets the CoreCount field's value.
37170func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
37171	s.CoreCount = &v
37172	return s
37173}
37174
37175// SetThreadsPerCore sets the ThreadsPerCore field's value.
37176func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
37177	s.ThreadsPerCore = &v
37178	return s
37179}
37180
37181// The CPU options for the instance. Both the core count and threads per core
37182// must be specified in the request.
37183type CpuOptionsRequest struct {
37184	_ struct{} `type:"structure"`
37185
37186	// The number of CPU cores for the instance.
37187	CoreCount *int64 `type:"integer"`
37188
37189	// The number of threads per CPU core. To disable Intel Hyper-Threading Technology
37190	// for the instance, specify a value of 1. Otherwise, specify the default value
37191	// of 2.
37192	ThreadsPerCore *int64 `type:"integer"`
37193}
37194
37195// String returns the string representation
37196func (s CpuOptionsRequest) String() string {
37197	return awsutil.Prettify(s)
37198}
37199
37200// GoString returns the string representation
37201func (s CpuOptionsRequest) GoString() string {
37202	return s.String()
37203}
37204
37205// SetCoreCount sets the CoreCount field's value.
37206func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
37207	s.CoreCount = &v
37208	return s
37209}
37210
37211// SetThreadsPerCore sets the ThreadsPerCore field's value.
37212func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
37213	s.ThreadsPerCore = &v
37214	return s
37215}
37216
37217type CreateCapacityReservationInput struct {
37218	_ struct{} `type:"structure"`
37219
37220	// The Availability Zone in which to create the Capacity Reservation.
37221	//
37222	// AvailabilityZone is a required field
37223	AvailabilityZone *string `type:"string" required:"true"`
37224
37225	// Unique, case-sensitive identifier that you provide to ensure the idempotency
37226	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
37227	//
37228	// Constraint: Maximum 64 ASCII characters.
37229	ClientToken *string `type:"string"`
37230
37231	// Checks whether you have the required permissions for the action, without
37232	// actually making the request, and provides an error response. If you have
37233	// the required permissions, the error response is DryRunOperation. Otherwise,
37234	// it is UnauthorizedOperation.
37235	DryRun *bool `type:"boolean"`
37236
37237	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
37238	// This optimization provides dedicated throughput to Amazon EBS and an optimized
37239	// configuration stack to provide optimal I/O performance. This optimization
37240	// isn't available with all instance types. Additional usage charges apply when
37241	// using an EBS- optimized instance.
37242	EbsOptimized *bool `type:"boolean"`
37243
37244	// The date and time at which the Capacity Reservation expires. When a Capacity
37245	// Reservation expires, the reserved capacity is released and you can no longer
37246	// launch instances into it. The Capacity Reservation's state changes to expired
37247	// when it reaches its end date and time.
37248	//
37249	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
37250	// if EndDateType is unlimited.
37251	//
37252	// If the EndDateType is limited, the Capacity Reservation is cancelled within
37253	// an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
37254	// the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
37255	// on 5/31/2019.
37256	EndDate *time.Time `type:"timestamp"`
37257
37258	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
37259	// can have one of the following end types:
37260	//
37261	//    * unlimited - The Capacity Reservation remains active until you explicitly
37262	//    cancel it. Do not provide an EndDate if the EndDateType is unlimited.
37263	//
37264	//    * limited - The Capacity Reservation expires automatically at a specified
37265	//    date and time. You must provide an EndDate value if the EndDateType value
37266	//    is limited.
37267	EndDateType *string `type:"string" enum:"EndDateType"`
37268
37269	// Indicates whether the Capacity Reservation supports instances with temporary,
37270	// block-level storage.
37271	EphemeralStorage *bool `type:"boolean"`
37272
37273	// The number of instances for which to reserve capacity.
37274	//
37275	// InstanceCount is a required field
37276	InstanceCount *int64 `type:"integer" required:"true"`
37277
37278	// Indicates the type of instance launches that the Capacity Reservation accepts.
37279	// The options include:
37280	//
37281	//    * open - The Capacity Reservation automatically matches all instances
37282	//    that have matching attributes (instance type, platform, and Availability
37283	//    Zone). Instances that have matching attributes run in the Capacity Reservation
37284	//    automatically without specifying any additional parameters.
37285	//
37286	//    * targeted - The Capacity Reservation only accepts instances that have
37287	//    matching attributes (instance type, platform, and Availability Zone),
37288	//    and explicitly target the Capacity Reservation. This ensures that only
37289	//    permitted instances can use the reserved capacity.
37290	//
37291	// Default: open
37292	InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
37293
37294	// The type of operating system for which to reserve capacity.
37295	//
37296	// InstancePlatform is a required field
37297	InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
37298
37299	// The instance type for which to reserve capacity. For more information, see
37300	// Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
37301	// in the Amazon Elastic Compute Cloud User Guide.
37302	//
37303	// InstanceType is a required field
37304	InstanceType *string `type:"string" required:"true"`
37305
37306	// The tags to apply to the Capacity Reservation during launch.
37307	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
37308
37309	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
37310	// can have one of the following tenancy settings:
37311	//
37312	//    * default - The Capacity Reservation is created on hardware that is shared
37313	//    with other AWS accounts.
37314	//
37315	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
37316	//    that is dedicated to a single AWS account.
37317	Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
37318}
37319
37320// String returns the string representation
37321func (s CreateCapacityReservationInput) String() string {
37322	return awsutil.Prettify(s)
37323}
37324
37325// GoString returns the string representation
37326func (s CreateCapacityReservationInput) GoString() string {
37327	return s.String()
37328}
37329
37330// Validate inspects the fields of the type to determine if they are valid.
37331func (s *CreateCapacityReservationInput) Validate() error {
37332	invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
37333	if s.AvailabilityZone == nil {
37334		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
37335	}
37336	if s.InstanceCount == nil {
37337		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
37338	}
37339	if s.InstancePlatform == nil {
37340		invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
37341	}
37342	if s.InstanceType == nil {
37343		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
37344	}
37345
37346	if invalidParams.Len() > 0 {
37347		return invalidParams
37348	}
37349	return nil
37350}
37351
37352// SetAvailabilityZone sets the AvailabilityZone field's value.
37353func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
37354	s.AvailabilityZone = &v
37355	return s
37356}
37357
37358// SetClientToken sets the ClientToken field's value.
37359func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
37360	s.ClientToken = &v
37361	return s
37362}
37363
37364// SetDryRun sets the DryRun field's value.
37365func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
37366	s.DryRun = &v
37367	return s
37368}
37369
37370// SetEbsOptimized sets the EbsOptimized field's value.
37371func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
37372	s.EbsOptimized = &v
37373	return s
37374}
37375
37376// SetEndDate sets the EndDate field's value.
37377func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
37378	s.EndDate = &v
37379	return s
37380}
37381
37382// SetEndDateType sets the EndDateType field's value.
37383func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
37384	s.EndDateType = &v
37385	return s
37386}
37387
37388// SetEphemeralStorage sets the EphemeralStorage field's value.
37389func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
37390	s.EphemeralStorage = &v
37391	return s
37392}
37393
37394// SetInstanceCount sets the InstanceCount field's value.
37395func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
37396	s.InstanceCount = &v
37397	return s
37398}
37399
37400// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
37401func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
37402	s.InstanceMatchCriteria = &v
37403	return s
37404}
37405
37406// SetInstancePlatform sets the InstancePlatform field's value.
37407func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
37408	s.InstancePlatform = &v
37409	return s
37410}
37411
37412// SetInstanceType sets the InstanceType field's value.
37413func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
37414	s.InstanceType = &v
37415	return s
37416}
37417
37418// SetTagSpecifications sets the TagSpecifications field's value.
37419func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
37420	s.TagSpecifications = v
37421	return s
37422}
37423
37424// SetTenancy sets the Tenancy field's value.
37425func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
37426	s.Tenancy = &v
37427	return s
37428}
37429
37430type CreateCapacityReservationOutput struct {
37431	_ struct{} `type:"structure"`
37432
37433	// Information about the Capacity Reservation.
37434	CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
37435}
37436
37437// String returns the string representation
37438func (s CreateCapacityReservationOutput) String() string {
37439	return awsutil.Prettify(s)
37440}
37441
37442// GoString returns the string representation
37443func (s CreateCapacityReservationOutput) GoString() string {
37444	return s.String()
37445}
37446
37447// SetCapacityReservation sets the CapacityReservation field's value.
37448func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
37449	s.CapacityReservation = v
37450	return s
37451}
37452
37453type CreateClientVpnEndpointInput struct {
37454	_ struct{} `type:"structure"`
37455
37456	// Information about the authentication method to be used to authenticate clients.
37457	//
37458	// AuthenticationOptions is a required field
37459	AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
37460
37461	// The IPv4 address range, in CIDR notation, from which to assign client IP
37462	// addresses. The address range cannot overlap with the local CIDR of the VPC
37463	// in which the associated subnet is located, or the routes that you add manually.
37464	// The address range cannot be changed after the Client VPN endpoint has been
37465	// created. The CIDR block should be /22 or greater.
37466	//
37467	// ClientCidrBlock is a required field
37468	ClientCidrBlock *string `type:"string" required:"true"`
37469
37470	// Unique, case-sensitive identifier that you provide to ensure the idempotency
37471	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
37472	ClientToken *string `type:"string" idempotencyToken:"true"`
37473
37474	// Information about the client connection logging options.
37475	//
37476	// If you enable client connection logging, data about client connections is
37477	// sent to a Cloudwatch Logs log stream. The following information is logged:
37478	//
37479	//    * Client connection requests
37480	//
37481	//    * Client connection results (successful and unsuccessful)
37482	//
37483	//    * Reasons for unsuccessful client connection requests
37484	//
37485	//    * Client connection termination time
37486	//
37487	// ConnectionLogOptions is a required field
37488	ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
37489
37490	// A brief description of the Client VPN endpoint.
37491	Description *string `type:"string"`
37492
37493	// Information about the DNS servers to be used for DNS resolution. A Client
37494	// VPN endpoint can have up to two DNS servers. If no DNS server is specified,
37495	// the DNS address of the VPC that is to be associated with Client VPN endpoint
37496	// is used as the DNS server.
37497	DnsServers []*string `locationNameList:"item" type:"list"`
37498
37499	// Checks whether you have the required permissions for the action, without
37500	// actually making the request, and provides an error response. If you have
37501	// the required permissions, the error response is DryRunOperation. Otherwise,
37502	// it is UnauthorizedOperation.
37503	DryRun *bool `type:"boolean"`
37504
37505	// The ARN of the server certificate. For more information, see the AWS Certificate
37506	// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
37507	//
37508	// ServerCertificateArn is a required field
37509	ServerCertificateArn *string `type:"string" required:"true"`
37510
37511	// The tags to apply to the Client VPN endpoint during creation.
37512	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
37513
37514	// The transport protocol to be used by the VPN session.
37515	//
37516	// Default value: udp
37517	TransportProtocol *string `type:"string" enum:"TransportProtocol"`
37518}
37519
37520// String returns the string representation
37521func (s CreateClientVpnEndpointInput) String() string {
37522	return awsutil.Prettify(s)
37523}
37524
37525// GoString returns the string representation
37526func (s CreateClientVpnEndpointInput) GoString() string {
37527	return s.String()
37528}
37529
37530// Validate inspects the fields of the type to determine if they are valid.
37531func (s *CreateClientVpnEndpointInput) Validate() error {
37532	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
37533	if s.AuthenticationOptions == nil {
37534		invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
37535	}
37536	if s.ClientCidrBlock == nil {
37537		invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
37538	}
37539	if s.ConnectionLogOptions == nil {
37540		invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
37541	}
37542	if s.ServerCertificateArn == nil {
37543		invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
37544	}
37545
37546	if invalidParams.Len() > 0 {
37547		return invalidParams
37548	}
37549	return nil
37550}
37551
37552// SetAuthenticationOptions sets the AuthenticationOptions field's value.
37553func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
37554	s.AuthenticationOptions = v
37555	return s
37556}
37557
37558// SetClientCidrBlock sets the ClientCidrBlock field's value.
37559func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
37560	s.ClientCidrBlock = &v
37561	return s
37562}
37563
37564// SetClientToken sets the ClientToken field's value.
37565func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
37566	s.ClientToken = &v
37567	return s
37568}
37569
37570// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
37571func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
37572	s.ConnectionLogOptions = v
37573	return s
37574}
37575
37576// SetDescription sets the Description field's value.
37577func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
37578	s.Description = &v
37579	return s
37580}
37581
37582// SetDnsServers sets the DnsServers field's value.
37583func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
37584	s.DnsServers = v
37585	return s
37586}
37587
37588// SetDryRun sets the DryRun field's value.
37589func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
37590	s.DryRun = &v
37591	return s
37592}
37593
37594// SetServerCertificateArn sets the ServerCertificateArn field's value.
37595func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
37596	s.ServerCertificateArn = &v
37597	return s
37598}
37599
37600// SetTagSpecifications sets the TagSpecifications field's value.
37601func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
37602	s.TagSpecifications = v
37603	return s
37604}
37605
37606// SetTransportProtocol sets the TransportProtocol field's value.
37607func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
37608	s.TransportProtocol = &v
37609	return s
37610}
37611
37612type CreateClientVpnEndpointOutput struct {
37613	_ struct{} `type:"structure"`
37614
37615	// The ID of the Client VPN endpoint.
37616	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
37617
37618	// The DNS name to be used by clients when establishing their VPN session.
37619	DnsName *string `locationName:"dnsName" type:"string"`
37620
37621	// The current state of the Client VPN endpoint.
37622	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
37623}
37624
37625// String returns the string representation
37626func (s CreateClientVpnEndpointOutput) String() string {
37627	return awsutil.Prettify(s)
37628}
37629
37630// GoString returns the string representation
37631func (s CreateClientVpnEndpointOutput) GoString() string {
37632	return s.String()
37633}
37634
37635// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
37636func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
37637	s.ClientVpnEndpointId = &v
37638	return s
37639}
37640
37641// SetDnsName sets the DnsName field's value.
37642func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
37643	s.DnsName = &v
37644	return s
37645}
37646
37647// SetStatus sets the Status field's value.
37648func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
37649	s.Status = v
37650	return s
37651}
37652
37653type CreateClientVpnRouteInput struct {
37654	_ struct{} `type:"structure"`
37655
37656	// Unique, case-sensitive identifier that you provide to ensure the idempotency
37657	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
37658	ClientToken *string `type:"string" idempotencyToken:"true"`
37659
37660	// The ID of the Client VPN endpoint to which to add the route.
37661	//
37662	// ClientVpnEndpointId is a required field
37663	ClientVpnEndpointId *string `type:"string" required:"true"`
37664
37665	// A brief description of the route.
37666	Description *string `type:"string"`
37667
37668	// The IPv4 address range, in CIDR notation, of the route destination. For example:
37669	//
37670	//    * To add a route for Internet access, enter 0.0.0.0/0
37671	//
37672	//    * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
37673	//
37674	//    * To add a route for an on-premises network, enter the AWS Site-to-Site
37675	//    VPN connection's IPv4 CIDR range
37676	//
37677	// Route address ranges cannot overlap with the CIDR range specified for client
37678	// allocation.
37679	//
37680	// DestinationCidrBlock is a required field
37681	DestinationCidrBlock *string `type:"string" required:"true"`
37682
37683	// Checks whether you have the required permissions for the action, without
37684	// actually making the request, and provides an error response. If you have
37685	// the required permissions, the error response is DryRunOperation. Otherwise,
37686	// it is UnauthorizedOperation.
37687	DryRun *bool `type:"boolean"`
37688
37689	// The ID of the subnet through which you want to route traffic. The specified
37690	// subnet must be an existing target network of the Client VPN endpoint.
37691	//
37692	// TargetVpcSubnetId is a required field
37693	TargetVpcSubnetId *string `type:"string" required:"true"`
37694}
37695
37696// String returns the string representation
37697func (s CreateClientVpnRouteInput) String() string {
37698	return awsutil.Prettify(s)
37699}
37700
37701// GoString returns the string representation
37702func (s CreateClientVpnRouteInput) GoString() string {
37703	return s.String()
37704}
37705
37706// Validate inspects the fields of the type to determine if they are valid.
37707func (s *CreateClientVpnRouteInput) Validate() error {
37708	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
37709	if s.ClientVpnEndpointId == nil {
37710		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
37711	}
37712	if s.DestinationCidrBlock == nil {
37713		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
37714	}
37715	if s.TargetVpcSubnetId == nil {
37716		invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
37717	}
37718
37719	if invalidParams.Len() > 0 {
37720		return invalidParams
37721	}
37722	return nil
37723}
37724
37725// SetClientToken sets the ClientToken field's value.
37726func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput {
37727	s.ClientToken = &v
37728	return s
37729}
37730
37731// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
37732func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
37733	s.ClientVpnEndpointId = &v
37734	return s
37735}
37736
37737// SetDescription sets the Description field's value.
37738func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
37739	s.Description = &v
37740	return s
37741}
37742
37743// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
37744func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
37745	s.DestinationCidrBlock = &v
37746	return s
37747}
37748
37749// SetDryRun sets the DryRun field's value.
37750func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
37751	s.DryRun = &v
37752	return s
37753}
37754
37755// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
37756func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
37757	s.TargetVpcSubnetId = &v
37758	return s
37759}
37760
37761type CreateClientVpnRouteOutput struct {
37762	_ struct{} `type:"structure"`
37763
37764	// The current state of the route.
37765	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
37766}
37767
37768// String returns the string representation
37769func (s CreateClientVpnRouteOutput) String() string {
37770	return awsutil.Prettify(s)
37771}
37772
37773// GoString returns the string representation
37774func (s CreateClientVpnRouteOutput) GoString() string {
37775	return s.String()
37776}
37777
37778// SetStatus sets the Status field's value.
37779func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
37780	s.Status = v
37781	return s
37782}
37783
37784// Contains the parameters for CreateCustomerGateway.
37785type CreateCustomerGatewayInput struct {
37786	_ struct{} `type:"structure"`
37787
37788	// For devices that support BGP, the customer gateway's BGP ASN.
37789	//
37790	// Default: 65000
37791	//
37792	// BgpAsn is a required field
37793	BgpAsn *int64 `type:"integer" required:"true"`
37794
37795	// Checks whether you have the required permissions for the action, without
37796	// actually making the request, and provides an error response. If you have
37797	// the required permissions, the error response is DryRunOperation. Otherwise,
37798	// it is UnauthorizedOperation.
37799	DryRun *bool `locationName:"dryRun" type:"boolean"`
37800
37801	// The Internet-routable IP address for the customer gateway's outside interface.
37802	// The address must be static.
37803	//
37804	// PublicIp is a required field
37805	PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
37806
37807	// The type of VPN connection that this customer gateway supports (ipsec.1).
37808	//
37809	// Type is a required field
37810	Type *string `type:"string" required:"true" enum:"GatewayType"`
37811}
37812
37813// String returns the string representation
37814func (s CreateCustomerGatewayInput) String() string {
37815	return awsutil.Prettify(s)
37816}
37817
37818// GoString returns the string representation
37819func (s CreateCustomerGatewayInput) GoString() string {
37820	return s.String()
37821}
37822
37823// Validate inspects the fields of the type to determine if they are valid.
37824func (s *CreateCustomerGatewayInput) Validate() error {
37825	invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
37826	if s.BgpAsn == nil {
37827		invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
37828	}
37829	if s.PublicIp == nil {
37830		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
37831	}
37832	if s.Type == nil {
37833		invalidParams.Add(request.NewErrParamRequired("Type"))
37834	}
37835
37836	if invalidParams.Len() > 0 {
37837		return invalidParams
37838	}
37839	return nil
37840}
37841
37842// SetBgpAsn sets the BgpAsn field's value.
37843func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
37844	s.BgpAsn = &v
37845	return s
37846}
37847
37848// SetDryRun sets the DryRun field's value.
37849func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
37850	s.DryRun = &v
37851	return s
37852}
37853
37854// SetPublicIp sets the PublicIp field's value.
37855func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
37856	s.PublicIp = &v
37857	return s
37858}
37859
37860// SetType sets the Type field's value.
37861func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
37862	s.Type = &v
37863	return s
37864}
37865
37866// Contains the output of CreateCustomerGateway.
37867type CreateCustomerGatewayOutput struct {
37868	_ struct{} `type:"structure"`
37869
37870	// Information about the customer gateway.
37871	CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
37872}
37873
37874// String returns the string representation
37875func (s CreateCustomerGatewayOutput) String() string {
37876	return awsutil.Prettify(s)
37877}
37878
37879// GoString returns the string representation
37880func (s CreateCustomerGatewayOutput) GoString() string {
37881	return s.String()
37882}
37883
37884// SetCustomerGateway sets the CustomerGateway field's value.
37885func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
37886	s.CustomerGateway = v
37887	return s
37888}
37889
37890type CreateDefaultSubnetInput struct {
37891	_ struct{} `type:"structure"`
37892
37893	// The Availability Zone in which to create the default subnet.
37894	//
37895	// AvailabilityZone is a required field
37896	AvailabilityZone *string `type:"string" required:"true"`
37897
37898	// Checks whether you have the required permissions for the action, without
37899	// actually making the request, and provides an error response. If you have
37900	// the required permissions, the error response is DryRunOperation. Otherwise,
37901	// it is UnauthorizedOperation.
37902	DryRun *bool `type:"boolean"`
37903}
37904
37905// String returns the string representation
37906func (s CreateDefaultSubnetInput) String() string {
37907	return awsutil.Prettify(s)
37908}
37909
37910// GoString returns the string representation
37911func (s CreateDefaultSubnetInput) GoString() string {
37912	return s.String()
37913}
37914
37915// Validate inspects the fields of the type to determine if they are valid.
37916func (s *CreateDefaultSubnetInput) Validate() error {
37917	invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
37918	if s.AvailabilityZone == nil {
37919		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
37920	}
37921
37922	if invalidParams.Len() > 0 {
37923		return invalidParams
37924	}
37925	return nil
37926}
37927
37928// SetAvailabilityZone sets the AvailabilityZone field's value.
37929func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
37930	s.AvailabilityZone = &v
37931	return s
37932}
37933
37934// SetDryRun sets the DryRun field's value.
37935func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
37936	s.DryRun = &v
37937	return s
37938}
37939
37940type CreateDefaultSubnetOutput struct {
37941	_ struct{} `type:"structure"`
37942
37943	// Information about the subnet.
37944	Subnet *Subnet `locationName:"subnet" type:"structure"`
37945}
37946
37947// String returns the string representation
37948func (s CreateDefaultSubnetOutput) String() string {
37949	return awsutil.Prettify(s)
37950}
37951
37952// GoString returns the string representation
37953func (s CreateDefaultSubnetOutput) GoString() string {
37954	return s.String()
37955}
37956
37957// SetSubnet sets the Subnet field's value.
37958func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
37959	s.Subnet = v
37960	return s
37961}
37962
37963type CreateDefaultVpcInput struct {
37964	_ struct{} `type:"structure"`
37965
37966	// Checks whether you have the required permissions for the action, without
37967	// actually making the request, and provides an error response. If you have
37968	// the required permissions, the error response is DryRunOperation. Otherwise,
37969	// it is UnauthorizedOperation.
37970	DryRun *bool `type:"boolean"`
37971}
37972
37973// String returns the string representation
37974func (s CreateDefaultVpcInput) String() string {
37975	return awsutil.Prettify(s)
37976}
37977
37978// GoString returns the string representation
37979func (s CreateDefaultVpcInput) GoString() string {
37980	return s.String()
37981}
37982
37983// SetDryRun sets the DryRun field's value.
37984func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
37985	s.DryRun = &v
37986	return s
37987}
37988
37989type CreateDefaultVpcOutput struct {
37990	_ struct{} `type:"structure"`
37991
37992	// Information about the VPC.
37993	Vpc *Vpc `locationName:"vpc" type:"structure"`
37994}
37995
37996// String returns the string representation
37997func (s CreateDefaultVpcOutput) String() string {
37998	return awsutil.Prettify(s)
37999}
38000
38001// GoString returns the string representation
38002func (s CreateDefaultVpcOutput) GoString() string {
38003	return s.String()
38004}
38005
38006// SetVpc sets the Vpc field's value.
38007func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
38008	s.Vpc = v
38009	return s
38010}
38011
38012type CreateDhcpOptionsInput struct {
38013	_ struct{} `type:"structure"`
38014
38015	// A DHCP configuration option.
38016	//
38017	// DhcpConfigurations is a required field
38018	DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
38019
38020	// Checks whether you have the required permissions for the action, without
38021	// actually making the request, and provides an error response. If you have
38022	// the required permissions, the error response is DryRunOperation. Otherwise,
38023	// it is UnauthorizedOperation.
38024	DryRun *bool `locationName:"dryRun" type:"boolean"`
38025}
38026
38027// String returns the string representation
38028func (s CreateDhcpOptionsInput) String() string {
38029	return awsutil.Prettify(s)
38030}
38031
38032// GoString returns the string representation
38033func (s CreateDhcpOptionsInput) GoString() string {
38034	return s.String()
38035}
38036
38037// Validate inspects the fields of the type to determine if they are valid.
38038func (s *CreateDhcpOptionsInput) Validate() error {
38039	invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
38040	if s.DhcpConfigurations == nil {
38041		invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
38042	}
38043
38044	if invalidParams.Len() > 0 {
38045		return invalidParams
38046	}
38047	return nil
38048}
38049
38050// SetDhcpConfigurations sets the DhcpConfigurations field's value.
38051func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
38052	s.DhcpConfigurations = v
38053	return s
38054}
38055
38056// SetDryRun sets the DryRun field's value.
38057func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
38058	s.DryRun = &v
38059	return s
38060}
38061
38062type CreateDhcpOptionsOutput struct {
38063	_ struct{} `type:"structure"`
38064
38065	// A set of DHCP options.
38066	DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
38067}
38068
38069// String returns the string representation
38070func (s CreateDhcpOptionsOutput) String() string {
38071	return awsutil.Prettify(s)
38072}
38073
38074// GoString returns the string representation
38075func (s CreateDhcpOptionsOutput) GoString() string {
38076	return s.String()
38077}
38078
38079// SetDhcpOptions sets the DhcpOptions field's value.
38080func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
38081	s.DhcpOptions = v
38082	return s
38083}
38084
38085type CreateEgressOnlyInternetGatewayInput struct {
38086	_ struct{} `type:"structure"`
38087
38088	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38089	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
38090	ClientToken *string `type:"string"`
38091
38092	// Checks whether you have the required permissions for the action, without
38093	// actually making the request, and provides an error response. If you have
38094	// the required permissions, the error response is DryRunOperation. Otherwise,
38095	// it is UnauthorizedOperation.
38096	DryRun *bool `type:"boolean"`
38097
38098	// The ID of the VPC for which to create the egress-only internet gateway.
38099	//
38100	// VpcId is a required field
38101	VpcId *string `type:"string" required:"true"`
38102}
38103
38104// String returns the string representation
38105func (s CreateEgressOnlyInternetGatewayInput) String() string {
38106	return awsutil.Prettify(s)
38107}
38108
38109// GoString returns the string representation
38110func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
38111	return s.String()
38112}
38113
38114// Validate inspects the fields of the type to determine if they are valid.
38115func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
38116	invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
38117	if s.VpcId == nil {
38118		invalidParams.Add(request.NewErrParamRequired("VpcId"))
38119	}
38120
38121	if invalidParams.Len() > 0 {
38122		return invalidParams
38123	}
38124	return nil
38125}
38126
38127// SetClientToken sets the ClientToken field's value.
38128func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
38129	s.ClientToken = &v
38130	return s
38131}
38132
38133// SetDryRun sets the DryRun field's value.
38134func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
38135	s.DryRun = &v
38136	return s
38137}
38138
38139// SetVpcId sets the VpcId field's value.
38140func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
38141	s.VpcId = &v
38142	return s
38143}
38144
38145type CreateEgressOnlyInternetGatewayOutput struct {
38146	_ struct{} `type:"structure"`
38147
38148	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38149	// of the request.
38150	ClientToken *string `locationName:"clientToken" type:"string"`
38151
38152	// Information about the egress-only internet gateway.
38153	EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
38154}
38155
38156// String returns the string representation
38157func (s CreateEgressOnlyInternetGatewayOutput) String() string {
38158	return awsutil.Prettify(s)
38159}
38160
38161// GoString returns the string representation
38162func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
38163	return s.String()
38164}
38165
38166// SetClientToken sets the ClientToken field's value.
38167func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
38168	s.ClientToken = &v
38169	return s
38170}
38171
38172// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
38173func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
38174	s.EgressOnlyInternetGateway = v
38175	return s
38176}
38177
38178// Describes the instances that could not be launched by the fleet.
38179type CreateFleetError struct {
38180	_ struct{} `type:"structure"`
38181
38182	// The error code that indicates why the instance could not be launched. For
38183	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
38184	ErrorCode *string `locationName:"errorCode" type:"string"`
38185
38186	// The error message that describes why the instance could not be launched.
38187	// For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
38188	ErrorMessage *string `locationName:"errorMessage" type:"string"`
38189
38190	// The launch templates and overrides that were used for launching the instances.
38191	// Any parameters that you specify in the Overrides override the same parameters
38192	// in the launch template.
38193	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
38194
38195	// Indicates if the instance that could not be launched was a Spot Instance
38196	// or On-Demand Instance.
38197	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
38198}
38199
38200// String returns the string representation
38201func (s CreateFleetError) String() string {
38202	return awsutil.Prettify(s)
38203}
38204
38205// GoString returns the string representation
38206func (s CreateFleetError) GoString() string {
38207	return s.String()
38208}
38209
38210// SetErrorCode sets the ErrorCode field's value.
38211func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
38212	s.ErrorCode = &v
38213	return s
38214}
38215
38216// SetErrorMessage sets the ErrorMessage field's value.
38217func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
38218	s.ErrorMessage = &v
38219	return s
38220}
38221
38222// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
38223func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
38224	s.LaunchTemplateAndOverrides = v
38225	return s
38226}
38227
38228// SetLifecycle sets the Lifecycle field's value.
38229func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
38230	s.Lifecycle = &v
38231	return s
38232}
38233
38234type CreateFleetInput struct {
38235	_ struct{} `type:"structure"`
38236
38237	// Unique, case-sensitive identifier you provide to ensure the idempotency of
38238	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
38239	ClientToken *string `type:"string"`
38240
38241	// Checks whether you have the required permissions for the action, without
38242	// actually making the request, and provides an error response. If you have
38243	// the required permissions, the error response is DryRunOperation. Otherwise,
38244	// it is UnauthorizedOperation.
38245	DryRun *bool `type:"boolean"`
38246
38247	// Indicates whether running instances should be terminated if the total target
38248	// capacity of the EC2 Fleet is decreased below the current size of the EC2
38249	// Fleet.
38250	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
38251
38252	// The configuration for the EC2 Fleet.
38253	//
38254	// LaunchTemplateConfigs is a required field
38255	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
38256
38257	// The allocation strategy of On-Demand Instances in an EC2 Fleet.
38258	OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
38259
38260	// Indicates whether EC2 Fleet should replace unhealthy instances.
38261	ReplaceUnhealthyInstances *bool `type:"boolean"`
38262
38263	// Describes the configuration of Spot Instances in an EC2 Fleet.
38264	SpotOptions *SpotOptionsRequest `type:"structure"`
38265
38266	// The key-value pair for tagging the EC2 Fleet request on creation. The value
38267	// for ResourceType must be fleet, otherwise the fleet request fails. To tag
38268	// instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template).
38269	// For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
38270	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
38271
38272	// The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and
38273	// DefaultCapacityType structure.
38274	//
38275	// TargetCapacitySpecification is a required field
38276	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
38277
38278	// Indicates whether running instances should be terminated when the EC2 Fleet
38279	// expires.
38280	TerminateInstancesWithExpiration *bool `type:"boolean"`
38281
38282	// The type of the request. By default, the EC2 Fleet places an asynchronous
38283	// request for your desired capacity, and maintains it by replenishing interrupted
38284	// Spot Instances (maintain). A value of instant places a synchronous one-time
38285	// request, and returns errors for any instances that could not be launched.
38286	// A value of request places an asynchronous one-time request without maintaining
38287	// capacity or submitting requests in alternative capacity pools if capacity
38288	// is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type)
38289	// in the Amazon Elastic Compute Cloud User Guide.
38290	Type *string `type:"string" enum:"FleetType"`
38291
38292	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
38293	// The default is to start fulfilling the request immediately.
38294	ValidFrom *time.Time `type:"timestamp"`
38295
38296	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
38297	// At this point, no new EC2 Fleet requests are placed or able to fulfill the
38298	// request. If no value is specified, the request remains until you cancel it.
38299	ValidUntil *time.Time `type:"timestamp"`
38300}
38301
38302// String returns the string representation
38303func (s CreateFleetInput) String() string {
38304	return awsutil.Prettify(s)
38305}
38306
38307// GoString returns the string representation
38308func (s CreateFleetInput) GoString() string {
38309	return s.String()
38310}
38311
38312// Validate inspects the fields of the type to determine if they are valid.
38313func (s *CreateFleetInput) Validate() error {
38314	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
38315	if s.LaunchTemplateConfigs == nil {
38316		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
38317	}
38318	if s.TargetCapacitySpecification == nil {
38319		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
38320	}
38321	if s.LaunchTemplateConfigs != nil {
38322		for i, v := range s.LaunchTemplateConfigs {
38323			if v == nil {
38324				continue
38325			}
38326			if err := v.Validate(); err != nil {
38327				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
38328			}
38329		}
38330	}
38331	if s.TargetCapacitySpecification != nil {
38332		if err := s.TargetCapacitySpecification.Validate(); err != nil {
38333			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
38334		}
38335	}
38336
38337	if invalidParams.Len() > 0 {
38338		return invalidParams
38339	}
38340	return nil
38341}
38342
38343// SetClientToken sets the ClientToken field's value.
38344func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
38345	s.ClientToken = &v
38346	return s
38347}
38348
38349// SetDryRun sets the DryRun field's value.
38350func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
38351	s.DryRun = &v
38352	return s
38353}
38354
38355// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
38356func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
38357	s.ExcessCapacityTerminationPolicy = &v
38358	return s
38359}
38360
38361// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
38362func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
38363	s.LaunchTemplateConfigs = v
38364	return s
38365}
38366
38367// SetOnDemandOptions sets the OnDemandOptions field's value.
38368func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
38369	s.OnDemandOptions = v
38370	return s
38371}
38372
38373// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
38374func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
38375	s.ReplaceUnhealthyInstances = &v
38376	return s
38377}
38378
38379// SetSpotOptions sets the SpotOptions field's value.
38380func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
38381	s.SpotOptions = v
38382	return s
38383}
38384
38385// SetTagSpecifications sets the TagSpecifications field's value.
38386func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
38387	s.TagSpecifications = v
38388	return s
38389}
38390
38391// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
38392func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
38393	s.TargetCapacitySpecification = v
38394	return s
38395}
38396
38397// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
38398func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
38399	s.TerminateInstancesWithExpiration = &v
38400	return s
38401}
38402
38403// SetType sets the Type field's value.
38404func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
38405	s.Type = &v
38406	return s
38407}
38408
38409// SetValidFrom sets the ValidFrom field's value.
38410func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
38411	s.ValidFrom = &v
38412	return s
38413}
38414
38415// SetValidUntil sets the ValidUntil field's value.
38416func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
38417	s.ValidUntil = &v
38418	return s
38419}
38420
38421// Describes the instances that were launched by the fleet.
38422type CreateFleetInstance struct {
38423	_ struct{} `type:"structure"`
38424
38425	// The IDs of the instances.
38426	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
38427
38428	// The instance type.
38429	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
38430
38431	// The launch templates and overrides that were used for launching the instances.
38432	// Any parameters that you specify in the Overrides override the same parameters
38433	// in the launch template.
38434	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
38435
38436	// Indicates if the instance that was launched is a Spot Instance or On-Demand
38437	// Instance.
38438	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
38439
38440	// The value is Windows for Windows instances; otherwise blank.
38441	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
38442}
38443
38444// String returns the string representation
38445func (s CreateFleetInstance) String() string {
38446	return awsutil.Prettify(s)
38447}
38448
38449// GoString returns the string representation
38450func (s CreateFleetInstance) GoString() string {
38451	return s.String()
38452}
38453
38454// SetInstanceIds sets the InstanceIds field's value.
38455func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
38456	s.InstanceIds = v
38457	return s
38458}
38459
38460// SetInstanceType sets the InstanceType field's value.
38461func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
38462	s.InstanceType = &v
38463	return s
38464}
38465
38466// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
38467func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
38468	s.LaunchTemplateAndOverrides = v
38469	return s
38470}
38471
38472// SetLifecycle sets the Lifecycle field's value.
38473func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
38474	s.Lifecycle = &v
38475	return s
38476}
38477
38478// SetPlatform sets the Platform field's value.
38479func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
38480	s.Platform = &v
38481	return s
38482}
38483
38484type CreateFleetOutput struct {
38485	_ struct{} `type:"structure"`
38486
38487	// Information about the instances that could not be launched by the fleet.
38488	// Valid only when Type is set to instant.
38489	Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
38490
38491	// The ID of the EC2 Fleet.
38492	FleetId *string `locationName:"fleetId" type:"string"`
38493
38494	// Information about the instances that were launched by the fleet. Valid only
38495	// when Type is set to instant.
38496	Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
38497}
38498
38499// String returns the string representation
38500func (s CreateFleetOutput) String() string {
38501	return awsutil.Prettify(s)
38502}
38503
38504// GoString returns the string representation
38505func (s CreateFleetOutput) GoString() string {
38506	return s.String()
38507}
38508
38509// SetErrors sets the Errors field's value.
38510func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
38511	s.Errors = v
38512	return s
38513}
38514
38515// SetFleetId sets the FleetId field's value.
38516func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
38517	s.FleetId = &v
38518	return s
38519}
38520
38521// SetInstances sets the Instances field's value.
38522func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
38523	s.Instances = v
38524	return s
38525}
38526
38527type CreateFlowLogsInput struct {
38528	_ struct{} `type:"structure"`
38529
38530	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38531	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
38532	ClientToken *string `type:"string"`
38533
38534	// The ARN for the IAM role that permits Amazon EC2 to publish flow logs to
38535	// a CloudWatch Logs log group in your account.
38536	//
38537	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
38538	// or LogGroupName.
38539	DeliverLogsPermissionArn *string `type:"string"`
38540
38541	// Checks whether you have the required permissions for the action, without
38542	// actually making the request, and provides an error response. If you have
38543	// the required permissions, the error response is DryRunOperation. Otherwise,
38544	// it is UnauthorizedOperation.
38545	DryRun *bool `type:"boolean"`
38546
38547	// Specifies the destination to which the flow log data is to be published.
38548	// Flow log data can be published to a CloudWatch Logs log group or an Amazon
38549	// S3 bucket. The value specified for this parameter depends on the value specified
38550	// for LogDestinationType.
38551	//
38552	// If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
38553	// Resource Name (ARN) of the CloudWatch Logs log group.
38554	//
38555	// If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
38556	// can also specify a subfolder in the bucket. To specify a subfolder in the
38557	// bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
38558	// to specify a subfolder named my-logs in a bucket named my-bucket, use the
38559	// following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
38560	// a subfolder name. This is a reserved term.
38561	LogDestination *string `type:"string"`
38562
38563	// Specifies the type of destination to which the flow log data is to be published.
38564	// Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
38565	// flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
38566	// log data to Amazon S3, specify s3.
38567	//
38568	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
38569	// or LogGroupName.
38570	//
38571	// Default: cloud-watch-logs
38572	LogDestinationType *string `type:"string" enum:"LogDestinationType"`
38573
38574	// The name of a new or existing CloudWatch Logs log group where Amazon EC2
38575	// publishes your flow logs.
38576	//
38577	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
38578	// or LogGroupName.
38579	LogGroupName *string `type:"string"`
38580
38581	// The ID of the subnet, network interface, or VPC for which you want to create
38582	// a flow log.
38583	//
38584	// Constraints: Maximum of 1000 resources
38585	//
38586	// ResourceIds is a required field
38587	ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
38588
38589	// The type of resource for which to create the flow log. For example, if you
38590	// specified a VPC ID for the ResourceId property, specify VPC for this property.
38591	//
38592	// ResourceType is a required field
38593	ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
38594
38595	// The type of traffic to log. You can log traffic that the resource accepts
38596	// or rejects, or all traffic.
38597	//
38598	// TrafficType is a required field
38599	TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
38600}
38601
38602// String returns the string representation
38603func (s CreateFlowLogsInput) String() string {
38604	return awsutil.Prettify(s)
38605}
38606
38607// GoString returns the string representation
38608func (s CreateFlowLogsInput) GoString() string {
38609	return s.String()
38610}
38611
38612// Validate inspects the fields of the type to determine if they are valid.
38613func (s *CreateFlowLogsInput) Validate() error {
38614	invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
38615	if s.ResourceIds == nil {
38616		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
38617	}
38618	if s.ResourceType == nil {
38619		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
38620	}
38621	if s.TrafficType == nil {
38622		invalidParams.Add(request.NewErrParamRequired("TrafficType"))
38623	}
38624
38625	if invalidParams.Len() > 0 {
38626		return invalidParams
38627	}
38628	return nil
38629}
38630
38631// SetClientToken sets the ClientToken field's value.
38632func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
38633	s.ClientToken = &v
38634	return s
38635}
38636
38637// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
38638func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
38639	s.DeliverLogsPermissionArn = &v
38640	return s
38641}
38642
38643// SetDryRun sets the DryRun field's value.
38644func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
38645	s.DryRun = &v
38646	return s
38647}
38648
38649// SetLogDestination sets the LogDestination field's value.
38650func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
38651	s.LogDestination = &v
38652	return s
38653}
38654
38655// SetLogDestinationType sets the LogDestinationType field's value.
38656func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
38657	s.LogDestinationType = &v
38658	return s
38659}
38660
38661// SetLogGroupName sets the LogGroupName field's value.
38662func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
38663	s.LogGroupName = &v
38664	return s
38665}
38666
38667// SetResourceIds sets the ResourceIds field's value.
38668func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
38669	s.ResourceIds = v
38670	return s
38671}
38672
38673// SetResourceType sets the ResourceType field's value.
38674func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
38675	s.ResourceType = &v
38676	return s
38677}
38678
38679// SetTrafficType sets the TrafficType field's value.
38680func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
38681	s.TrafficType = &v
38682	return s
38683}
38684
38685type CreateFlowLogsOutput struct {
38686	_ struct{} `type:"structure"`
38687
38688	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38689	// of the request.
38690	ClientToken *string `locationName:"clientToken" type:"string"`
38691
38692	// The IDs of the flow logs.
38693	FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
38694
38695	// Information about the flow logs that could not be created successfully.
38696	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
38697}
38698
38699// String returns the string representation
38700func (s CreateFlowLogsOutput) String() string {
38701	return awsutil.Prettify(s)
38702}
38703
38704// GoString returns the string representation
38705func (s CreateFlowLogsOutput) GoString() string {
38706	return s.String()
38707}
38708
38709// SetClientToken sets the ClientToken field's value.
38710func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
38711	s.ClientToken = &v
38712	return s
38713}
38714
38715// SetFlowLogIds sets the FlowLogIds field's value.
38716func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
38717	s.FlowLogIds = v
38718	return s
38719}
38720
38721// SetUnsuccessful sets the Unsuccessful field's value.
38722func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
38723	s.Unsuccessful = v
38724	return s
38725}
38726
38727type CreateFpgaImageInput struct {
38728	_ struct{} `type:"structure"`
38729
38730	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38731	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
38732	ClientToken *string `type:"string"`
38733
38734	// A description for the AFI.
38735	Description *string `type:"string"`
38736
38737	// Checks whether you have the required permissions for the action, without
38738	// actually making the request, and provides an error response. If you have
38739	// the required permissions, the error response is DryRunOperation. Otherwise,
38740	// it is UnauthorizedOperation.
38741	DryRun *bool `type:"boolean"`
38742
38743	// The location of the encrypted design checkpoint in Amazon S3. The input must
38744	// be a tarball.
38745	//
38746	// InputStorageLocation is a required field
38747	InputStorageLocation *StorageLocation `type:"structure" required:"true"`
38748
38749	// The location in Amazon S3 for the output logs.
38750	LogsStorageLocation *StorageLocation `type:"structure"`
38751
38752	// A name for the AFI.
38753	Name *string `type:"string"`
38754}
38755
38756// String returns the string representation
38757func (s CreateFpgaImageInput) String() string {
38758	return awsutil.Prettify(s)
38759}
38760
38761// GoString returns the string representation
38762func (s CreateFpgaImageInput) GoString() string {
38763	return s.String()
38764}
38765
38766// Validate inspects the fields of the type to determine if they are valid.
38767func (s *CreateFpgaImageInput) Validate() error {
38768	invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
38769	if s.InputStorageLocation == nil {
38770		invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
38771	}
38772
38773	if invalidParams.Len() > 0 {
38774		return invalidParams
38775	}
38776	return nil
38777}
38778
38779// SetClientToken sets the ClientToken field's value.
38780func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
38781	s.ClientToken = &v
38782	return s
38783}
38784
38785// SetDescription sets the Description field's value.
38786func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
38787	s.Description = &v
38788	return s
38789}
38790
38791// SetDryRun sets the DryRun field's value.
38792func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
38793	s.DryRun = &v
38794	return s
38795}
38796
38797// SetInputStorageLocation sets the InputStorageLocation field's value.
38798func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
38799	s.InputStorageLocation = v
38800	return s
38801}
38802
38803// SetLogsStorageLocation sets the LogsStorageLocation field's value.
38804func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
38805	s.LogsStorageLocation = v
38806	return s
38807}
38808
38809// SetName sets the Name field's value.
38810func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
38811	s.Name = &v
38812	return s
38813}
38814
38815type CreateFpgaImageOutput struct {
38816	_ struct{} `type:"structure"`
38817
38818	// The global FPGA image identifier (AGFI ID).
38819	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
38820
38821	// The FPGA image identifier (AFI ID).
38822	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
38823}
38824
38825// String returns the string representation
38826func (s CreateFpgaImageOutput) String() string {
38827	return awsutil.Prettify(s)
38828}
38829
38830// GoString returns the string representation
38831func (s CreateFpgaImageOutput) GoString() string {
38832	return s.String()
38833}
38834
38835// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
38836func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
38837	s.FpgaImageGlobalId = &v
38838	return s
38839}
38840
38841// SetFpgaImageId sets the FpgaImageId field's value.
38842func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
38843	s.FpgaImageId = &v
38844	return s
38845}
38846
38847type CreateImageInput struct {
38848	_ struct{} `type:"structure"`
38849
38850	// Tthe block device mappings. This parameter cannot be used to modify the encryption
38851	// status of existing volumes or snapshots. To create an AMI with encrypted
38852	// snapshots, use the CopyImage action.
38853	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
38854
38855	// A description for the new image.
38856	Description *string `locationName:"description" type:"string"`
38857
38858	// Checks whether you have the required permissions for the action, without
38859	// actually making the request, and provides an error response. If you have
38860	// the required permissions, the error response is DryRunOperation. Otherwise,
38861	// it is UnauthorizedOperation.
38862	DryRun *bool `locationName:"dryRun" type:"boolean"`
38863
38864	// The ID of the instance.
38865	//
38866	// InstanceId is a required field
38867	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
38868
38869	// A name for the new image.
38870	//
38871	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
38872	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
38873	// at-signs (@), or underscores(_)
38874	//
38875	// Name is a required field
38876	Name *string `locationName:"name" type:"string" required:"true"`
38877
38878	// By default, Amazon EC2 attempts to shut down and reboot the instance before
38879	// creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
38880	// shut down the instance before creating the image. When this option is used,
38881	// file system integrity on the created image can't be guaranteed.
38882	NoReboot *bool `locationName:"noReboot" type:"boolean"`
38883}
38884
38885// String returns the string representation
38886func (s CreateImageInput) String() string {
38887	return awsutil.Prettify(s)
38888}
38889
38890// GoString returns the string representation
38891func (s CreateImageInput) GoString() string {
38892	return s.String()
38893}
38894
38895// Validate inspects the fields of the type to determine if they are valid.
38896func (s *CreateImageInput) Validate() error {
38897	invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
38898	if s.InstanceId == nil {
38899		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
38900	}
38901	if s.Name == nil {
38902		invalidParams.Add(request.NewErrParamRequired("Name"))
38903	}
38904
38905	if invalidParams.Len() > 0 {
38906		return invalidParams
38907	}
38908	return nil
38909}
38910
38911// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
38912func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
38913	s.BlockDeviceMappings = v
38914	return s
38915}
38916
38917// SetDescription sets the Description field's value.
38918func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
38919	s.Description = &v
38920	return s
38921}
38922
38923// SetDryRun sets the DryRun field's value.
38924func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
38925	s.DryRun = &v
38926	return s
38927}
38928
38929// SetInstanceId sets the InstanceId field's value.
38930func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
38931	s.InstanceId = &v
38932	return s
38933}
38934
38935// SetName sets the Name field's value.
38936func (s *CreateImageInput) SetName(v string) *CreateImageInput {
38937	s.Name = &v
38938	return s
38939}
38940
38941// SetNoReboot sets the NoReboot field's value.
38942func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
38943	s.NoReboot = &v
38944	return s
38945}
38946
38947type CreateImageOutput struct {
38948	_ struct{} `type:"structure"`
38949
38950	// The ID of the new AMI.
38951	ImageId *string `locationName:"imageId" type:"string"`
38952}
38953
38954// String returns the string representation
38955func (s CreateImageOutput) String() string {
38956	return awsutil.Prettify(s)
38957}
38958
38959// GoString returns the string representation
38960func (s CreateImageOutput) GoString() string {
38961	return s.String()
38962}
38963
38964// SetImageId sets the ImageId field's value.
38965func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
38966	s.ImageId = &v
38967	return s
38968}
38969
38970// Contains the parameters for CreateInstanceExportTask.
38971type CreateInstanceExportTaskInput struct {
38972	_ struct{} `type:"structure"`
38973
38974	// A description for the conversion task or the resource being exported. The
38975	// maximum length is 255 bytes.
38976	Description *string `locationName:"description" type:"string"`
38977
38978	// The format and location for an instance export task.
38979	ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
38980
38981	// The ID of the instance.
38982	//
38983	// InstanceId is a required field
38984	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
38985
38986	// The target virtualization environment.
38987	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
38988}
38989
38990// String returns the string representation
38991func (s CreateInstanceExportTaskInput) String() string {
38992	return awsutil.Prettify(s)
38993}
38994
38995// GoString returns the string representation
38996func (s CreateInstanceExportTaskInput) GoString() string {
38997	return s.String()
38998}
38999
39000// Validate inspects the fields of the type to determine if they are valid.
39001func (s *CreateInstanceExportTaskInput) Validate() error {
39002	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
39003	if s.InstanceId == nil {
39004		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
39005	}
39006
39007	if invalidParams.Len() > 0 {
39008		return invalidParams
39009	}
39010	return nil
39011}
39012
39013// SetDescription sets the Description field's value.
39014func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
39015	s.Description = &v
39016	return s
39017}
39018
39019// SetExportToS3Task sets the ExportToS3Task field's value.
39020func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
39021	s.ExportToS3Task = v
39022	return s
39023}
39024
39025// SetInstanceId sets the InstanceId field's value.
39026func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
39027	s.InstanceId = &v
39028	return s
39029}
39030
39031// SetTargetEnvironment sets the TargetEnvironment field's value.
39032func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
39033	s.TargetEnvironment = &v
39034	return s
39035}
39036
39037// Contains the output for CreateInstanceExportTask.
39038type CreateInstanceExportTaskOutput struct {
39039	_ struct{} `type:"structure"`
39040
39041	// Information about the instance export task.
39042	ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
39043}
39044
39045// String returns the string representation
39046func (s CreateInstanceExportTaskOutput) String() string {
39047	return awsutil.Prettify(s)
39048}
39049
39050// GoString returns the string representation
39051func (s CreateInstanceExportTaskOutput) GoString() string {
39052	return s.String()
39053}
39054
39055// SetExportTask sets the ExportTask field's value.
39056func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
39057	s.ExportTask = v
39058	return s
39059}
39060
39061type CreateInternetGatewayInput struct {
39062	_ struct{} `type:"structure"`
39063
39064	// Checks whether you have the required permissions for the action, without
39065	// actually making the request, and provides an error response. If you have
39066	// the required permissions, the error response is DryRunOperation. Otherwise,
39067	// it is UnauthorizedOperation.
39068	DryRun *bool `locationName:"dryRun" type:"boolean"`
39069}
39070
39071// String returns the string representation
39072func (s CreateInternetGatewayInput) String() string {
39073	return awsutil.Prettify(s)
39074}
39075
39076// GoString returns the string representation
39077func (s CreateInternetGatewayInput) GoString() string {
39078	return s.String()
39079}
39080
39081// SetDryRun sets the DryRun field's value.
39082func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
39083	s.DryRun = &v
39084	return s
39085}
39086
39087type CreateInternetGatewayOutput struct {
39088	_ struct{} `type:"structure"`
39089
39090	// Information about the internet gateway.
39091	InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
39092}
39093
39094// String returns the string representation
39095func (s CreateInternetGatewayOutput) String() string {
39096	return awsutil.Prettify(s)
39097}
39098
39099// GoString returns the string representation
39100func (s CreateInternetGatewayOutput) GoString() string {
39101	return s.String()
39102}
39103
39104// SetInternetGateway sets the InternetGateway field's value.
39105func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
39106	s.InternetGateway = v
39107	return s
39108}
39109
39110type CreateKeyPairInput struct {
39111	_ struct{} `type:"structure"`
39112
39113	// Checks whether you have the required permissions for the action, without
39114	// actually making the request, and provides an error response. If you have
39115	// the required permissions, the error response is DryRunOperation. Otherwise,
39116	// it is UnauthorizedOperation.
39117	DryRun *bool `locationName:"dryRun" type:"boolean"`
39118
39119	// A unique name for the key pair.
39120	//
39121	// Constraints: Up to 255 ASCII characters
39122	//
39123	// KeyName is a required field
39124	KeyName *string `type:"string" required:"true"`
39125}
39126
39127// String returns the string representation
39128func (s CreateKeyPairInput) String() string {
39129	return awsutil.Prettify(s)
39130}
39131
39132// GoString returns the string representation
39133func (s CreateKeyPairInput) GoString() string {
39134	return s.String()
39135}
39136
39137// Validate inspects the fields of the type to determine if they are valid.
39138func (s *CreateKeyPairInput) Validate() error {
39139	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
39140	if s.KeyName == nil {
39141		invalidParams.Add(request.NewErrParamRequired("KeyName"))
39142	}
39143
39144	if invalidParams.Len() > 0 {
39145		return invalidParams
39146	}
39147	return nil
39148}
39149
39150// SetDryRun sets the DryRun field's value.
39151func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
39152	s.DryRun = &v
39153	return s
39154}
39155
39156// SetKeyName sets the KeyName field's value.
39157func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
39158	s.KeyName = &v
39159	return s
39160}
39161
39162// Describes a key pair.
39163type CreateKeyPairOutput struct {
39164	_ struct{} `type:"structure"`
39165
39166	// The SHA-1 digest of the DER encoded private key.
39167	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
39168
39169	// An unencrypted PEM encoded RSA private key.
39170	KeyMaterial *string `locationName:"keyMaterial" type:"string"`
39171
39172	// The name of the key pair.
39173	KeyName *string `locationName:"keyName" type:"string"`
39174}
39175
39176// String returns the string representation
39177func (s CreateKeyPairOutput) String() string {
39178	return awsutil.Prettify(s)
39179}
39180
39181// GoString returns the string representation
39182func (s CreateKeyPairOutput) GoString() string {
39183	return s.String()
39184}
39185
39186// SetKeyFingerprint sets the KeyFingerprint field's value.
39187func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
39188	s.KeyFingerprint = &v
39189	return s
39190}
39191
39192// SetKeyMaterial sets the KeyMaterial field's value.
39193func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
39194	s.KeyMaterial = &v
39195	return s
39196}
39197
39198// SetKeyName sets the KeyName field's value.
39199func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
39200	s.KeyName = &v
39201	return s
39202}
39203
39204type CreateLaunchTemplateInput struct {
39205	_ struct{} `type:"structure"`
39206
39207	// Unique, case-sensitive identifier you provide to ensure the idempotency of
39208	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
39209	//
39210	// Constraint: Maximum 128 ASCII characters.
39211	ClientToken *string `type:"string"`
39212
39213	// Checks whether you have the required permissions for the action, without
39214	// actually making the request, and provides an error response. If you have
39215	// the required permissions, the error response is DryRunOperation. Otherwise,
39216	// it is UnauthorizedOperation.
39217	DryRun *bool `type:"boolean"`
39218
39219	// The information for the launch template.
39220	//
39221	// LaunchTemplateData is a required field
39222	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
39223
39224	// A name for the launch template.
39225	//
39226	// LaunchTemplateName is a required field
39227	LaunchTemplateName *string `min:"3" type:"string" required:"true"`
39228
39229	// A description for the first version of the launch template.
39230	VersionDescription *string `type:"string"`
39231}
39232
39233// String returns the string representation
39234func (s CreateLaunchTemplateInput) String() string {
39235	return awsutil.Prettify(s)
39236}
39237
39238// GoString returns the string representation
39239func (s CreateLaunchTemplateInput) GoString() string {
39240	return s.String()
39241}
39242
39243// Validate inspects the fields of the type to determine if they are valid.
39244func (s *CreateLaunchTemplateInput) Validate() error {
39245	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
39246	if s.LaunchTemplateData == nil {
39247		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
39248	}
39249	if s.LaunchTemplateName == nil {
39250		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
39251	}
39252	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
39253		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
39254	}
39255	if s.LaunchTemplateData != nil {
39256		if err := s.LaunchTemplateData.Validate(); err != nil {
39257			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
39258		}
39259	}
39260
39261	if invalidParams.Len() > 0 {
39262		return invalidParams
39263	}
39264	return nil
39265}
39266
39267// SetClientToken sets the ClientToken field's value.
39268func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
39269	s.ClientToken = &v
39270	return s
39271}
39272
39273// SetDryRun sets the DryRun field's value.
39274func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
39275	s.DryRun = &v
39276	return s
39277}
39278
39279// SetLaunchTemplateData sets the LaunchTemplateData field's value.
39280func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
39281	s.LaunchTemplateData = v
39282	return s
39283}
39284
39285// SetLaunchTemplateName sets the LaunchTemplateName field's value.
39286func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
39287	s.LaunchTemplateName = &v
39288	return s
39289}
39290
39291// SetVersionDescription sets the VersionDescription field's value.
39292func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
39293	s.VersionDescription = &v
39294	return s
39295}
39296
39297type CreateLaunchTemplateOutput struct {
39298	_ struct{} `type:"structure"`
39299
39300	// Information about the launch template.
39301	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
39302}
39303
39304// String returns the string representation
39305func (s CreateLaunchTemplateOutput) String() string {
39306	return awsutil.Prettify(s)
39307}
39308
39309// GoString returns the string representation
39310func (s CreateLaunchTemplateOutput) GoString() string {
39311	return s.String()
39312}
39313
39314// SetLaunchTemplate sets the LaunchTemplate field's value.
39315func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
39316	s.LaunchTemplate = v
39317	return s
39318}
39319
39320type CreateLaunchTemplateVersionInput struct {
39321	_ struct{} `type:"structure"`
39322
39323	// Unique, case-sensitive identifier you provide to ensure the idempotency of
39324	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
39325	//
39326	// Constraint: Maximum 128 ASCII characters.
39327	ClientToken *string `type:"string"`
39328
39329	// Checks whether you have the required permissions for the action, without
39330	// actually making the request, and provides an error response. If you have
39331	// the required permissions, the error response is DryRunOperation. Otherwise,
39332	// it is UnauthorizedOperation.
39333	DryRun *bool `type:"boolean"`
39334
39335	// The information for the launch template.
39336	//
39337	// LaunchTemplateData is a required field
39338	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
39339
39340	// The ID of the launch template. You must specify either the launch template
39341	// ID or launch template name in the request.
39342	LaunchTemplateId *string `type:"string"`
39343
39344	// The name of the launch template. You must specify either the launch template
39345	// ID or launch template name in the request.
39346	LaunchTemplateName *string `min:"3" type:"string"`
39347
39348	// The version number of the launch template version on which to base the new
39349	// version. The new version inherits the same launch parameters as the source
39350	// version, except for parameters that you specify in LaunchTemplateData.
39351	SourceVersion *string `type:"string"`
39352
39353	// A description for the version of the launch template.
39354	VersionDescription *string `type:"string"`
39355}
39356
39357// String returns the string representation
39358func (s CreateLaunchTemplateVersionInput) String() string {
39359	return awsutil.Prettify(s)
39360}
39361
39362// GoString returns the string representation
39363func (s CreateLaunchTemplateVersionInput) GoString() string {
39364	return s.String()
39365}
39366
39367// Validate inspects the fields of the type to determine if they are valid.
39368func (s *CreateLaunchTemplateVersionInput) Validate() error {
39369	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
39370	if s.LaunchTemplateData == nil {
39371		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
39372	}
39373	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
39374		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
39375	}
39376	if s.LaunchTemplateData != nil {
39377		if err := s.LaunchTemplateData.Validate(); err != nil {
39378			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
39379		}
39380	}
39381
39382	if invalidParams.Len() > 0 {
39383		return invalidParams
39384	}
39385	return nil
39386}
39387
39388// SetClientToken sets the ClientToken field's value.
39389func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
39390	s.ClientToken = &v
39391	return s
39392}
39393
39394// SetDryRun sets the DryRun field's value.
39395func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
39396	s.DryRun = &v
39397	return s
39398}
39399
39400// SetLaunchTemplateData sets the LaunchTemplateData field's value.
39401func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
39402	s.LaunchTemplateData = v
39403	return s
39404}
39405
39406// SetLaunchTemplateId sets the LaunchTemplateId field's value.
39407func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
39408	s.LaunchTemplateId = &v
39409	return s
39410}
39411
39412// SetLaunchTemplateName sets the LaunchTemplateName field's value.
39413func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
39414	s.LaunchTemplateName = &v
39415	return s
39416}
39417
39418// SetSourceVersion sets the SourceVersion field's value.
39419func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
39420	s.SourceVersion = &v
39421	return s
39422}
39423
39424// SetVersionDescription sets the VersionDescription field's value.
39425func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
39426	s.VersionDescription = &v
39427	return s
39428}
39429
39430type CreateLaunchTemplateVersionOutput struct {
39431	_ struct{} `type:"structure"`
39432
39433	// Information about the launch template version.
39434	LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
39435}
39436
39437// String returns the string representation
39438func (s CreateLaunchTemplateVersionOutput) String() string {
39439	return awsutil.Prettify(s)
39440}
39441
39442// GoString returns the string representation
39443func (s CreateLaunchTemplateVersionOutput) GoString() string {
39444	return s.String()
39445}
39446
39447// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
39448func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
39449	s.LaunchTemplateVersion = v
39450	return s
39451}
39452
39453type CreateNatGatewayInput struct {
39454	_ struct{} `type:"structure"`
39455
39456	// The allocation ID of an Elastic IP address to associate with the NAT gateway.
39457	// If the Elastic IP address is associated with another resource, you must first
39458	// disassociate it.
39459	//
39460	// AllocationId is a required field
39461	AllocationId *string `type:"string" required:"true"`
39462
39463	// Unique, case-sensitive identifier that you provide to ensure the idempotency
39464	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
39465	//
39466	// Constraint: Maximum 64 ASCII characters.
39467	ClientToken *string `type:"string"`
39468
39469	// The subnet in which to create the NAT gateway.
39470	//
39471	// SubnetId is a required field
39472	SubnetId *string `type:"string" required:"true"`
39473}
39474
39475// String returns the string representation
39476func (s CreateNatGatewayInput) String() string {
39477	return awsutil.Prettify(s)
39478}
39479
39480// GoString returns the string representation
39481func (s CreateNatGatewayInput) GoString() string {
39482	return s.String()
39483}
39484
39485// Validate inspects the fields of the type to determine if they are valid.
39486func (s *CreateNatGatewayInput) Validate() error {
39487	invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
39488	if s.AllocationId == nil {
39489		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
39490	}
39491	if s.SubnetId == nil {
39492		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
39493	}
39494
39495	if invalidParams.Len() > 0 {
39496		return invalidParams
39497	}
39498	return nil
39499}
39500
39501// SetAllocationId sets the AllocationId field's value.
39502func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
39503	s.AllocationId = &v
39504	return s
39505}
39506
39507// SetClientToken sets the ClientToken field's value.
39508func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
39509	s.ClientToken = &v
39510	return s
39511}
39512
39513// SetSubnetId sets the SubnetId field's value.
39514func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
39515	s.SubnetId = &v
39516	return s
39517}
39518
39519type CreateNatGatewayOutput struct {
39520	_ struct{} `type:"structure"`
39521
39522	// Unique, case-sensitive identifier to ensure the idempotency of the request.
39523	// Only returned if a client token was provided in the request.
39524	ClientToken *string `locationName:"clientToken" type:"string"`
39525
39526	// Information about the NAT gateway.
39527	NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
39528}
39529
39530// String returns the string representation
39531func (s CreateNatGatewayOutput) String() string {
39532	return awsutil.Prettify(s)
39533}
39534
39535// GoString returns the string representation
39536func (s CreateNatGatewayOutput) GoString() string {
39537	return s.String()
39538}
39539
39540// SetClientToken sets the ClientToken field's value.
39541func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
39542	s.ClientToken = &v
39543	return s
39544}
39545
39546// SetNatGateway sets the NatGateway field's value.
39547func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
39548	s.NatGateway = v
39549	return s
39550}
39551
39552type CreateNetworkAclEntryInput struct {
39553	_ struct{} `type:"structure"`
39554
39555	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
39556	CidrBlock *string `locationName:"cidrBlock" type:"string"`
39557
39558	// Checks whether you have the required permissions for the action, without
39559	// actually making the request, and provides an error response. If you have
39560	// the required permissions, the error response is DryRunOperation. Otherwise,
39561	// it is UnauthorizedOperation.
39562	DryRun *bool `locationName:"dryRun" type:"boolean"`
39563
39564	// Indicates whether this is an egress rule (rule is applied to traffic leaving
39565	// the subnet).
39566	//
39567	// Egress is a required field
39568	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
39569
39570	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
39571	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
39572	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
39573
39574	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
39575	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
39576
39577	// The ID of the network ACL.
39578	//
39579	// NetworkAclId is a required field
39580	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
39581
39582	// TCP or UDP protocols: The range of ports the rule applies to. Required if
39583	// specifying protocol 6 (TCP) or 17 (UDP).
39584	PortRange *PortRange `locationName:"portRange" type:"structure"`
39585
39586	// The protocol number. A value of "-1" means all protocols. If you specify
39587	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
39588	// traffic on all ports is allowed, regardless of any ports or ICMP types or
39589	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
39590	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
39591	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
39592	// an IPv6 CIDR block, you must specify an ICMP type and code.
39593	//
39594	// Protocol is a required field
39595	Protocol *string `locationName:"protocol" type:"string" required:"true"`
39596
39597	// Indicates whether to allow or deny the traffic that matches the rule.
39598	//
39599	// RuleAction is a required field
39600	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
39601
39602	// The rule number for the entry (for example, 100). ACL entries are processed
39603	// in ascending order by rule number.
39604	//
39605	// Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
39606	// reserved for internal use.
39607	//
39608	// RuleNumber is a required field
39609	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
39610}
39611
39612// String returns the string representation
39613func (s CreateNetworkAclEntryInput) String() string {
39614	return awsutil.Prettify(s)
39615}
39616
39617// GoString returns the string representation
39618func (s CreateNetworkAclEntryInput) GoString() string {
39619	return s.String()
39620}
39621
39622// Validate inspects the fields of the type to determine if they are valid.
39623func (s *CreateNetworkAclEntryInput) Validate() error {
39624	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
39625	if s.Egress == nil {
39626		invalidParams.Add(request.NewErrParamRequired("Egress"))
39627	}
39628	if s.NetworkAclId == nil {
39629		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
39630	}
39631	if s.Protocol == nil {
39632		invalidParams.Add(request.NewErrParamRequired("Protocol"))
39633	}
39634	if s.RuleAction == nil {
39635		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
39636	}
39637	if s.RuleNumber == nil {
39638		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
39639	}
39640
39641	if invalidParams.Len() > 0 {
39642		return invalidParams
39643	}
39644	return nil
39645}
39646
39647// SetCidrBlock sets the CidrBlock field's value.
39648func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
39649	s.CidrBlock = &v
39650	return s
39651}
39652
39653// SetDryRun sets the DryRun field's value.
39654func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
39655	s.DryRun = &v
39656	return s
39657}
39658
39659// SetEgress sets the Egress field's value.
39660func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
39661	s.Egress = &v
39662	return s
39663}
39664
39665// SetIcmpTypeCode sets the IcmpTypeCode field's value.
39666func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
39667	s.IcmpTypeCode = v
39668	return s
39669}
39670
39671// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
39672func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
39673	s.Ipv6CidrBlock = &v
39674	return s
39675}
39676
39677// SetNetworkAclId sets the NetworkAclId field's value.
39678func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
39679	s.NetworkAclId = &v
39680	return s
39681}
39682
39683// SetPortRange sets the PortRange field's value.
39684func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
39685	s.PortRange = v
39686	return s
39687}
39688
39689// SetProtocol sets the Protocol field's value.
39690func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
39691	s.Protocol = &v
39692	return s
39693}
39694
39695// SetRuleAction sets the RuleAction field's value.
39696func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
39697	s.RuleAction = &v
39698	return s
39699}
39700
39701// SetRuleNumber sets the RuleNumber field's value.
39702func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
39703	s.RuleNumber = &v
39704	return s
39705}
39706
39707type CreateNetworkAclEntryOutput struct {
39708	_ struct{} `type:"structure"`
39709}
39710
39711// String returns the string representation
39712func (s CreateNetworkAclEntryOutput) String() string {
39713	return awsutil.Prettify(s)
39714}
39715
39716// GoString returns the string representation
39717func (s CreateNetworkAclEntryOutput) GoString() string {
39718	return s.String()
39719}
39720
39721type CreateNetworkAclInput struct {
39722	_ struct{} `type:"structure"`
39723
39724	// Checks whether you have the required permissions for the action, without
39725	// actually making the request, and provides an error response. If you have
39726	// the required permissions, the error response is DryRunOperation. Otherwise,
39727	// it is UnauthorizedOperation.
39728	DryRun *bool `locationName:"dryRun" type:"boolean"`
39729
39730	// The ID of the VPC.
39731	//
39732	// VpcId is a required field
39733	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
39734}
39735
39736// String returns the string representation
39737func (s CreateNetworkAclInput) String() string {
39738	return awsutil.Prettify(s)
39739}
39740
39741// GoString returns the string representation
39742func (s CreateNetworkAclInput) GoString() string {
39743	return s.String()
39744}
39745
39746// Validate inspects the fields of the type to determine if they are valid.
39747func (s *CreateNetworkAclInput) Validate() error {
39748	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
39749	if s.VpcId == nil {
39750		invalidParams.Add(request.NewErrParamRequired("VpcId"))
39751	}
39752
39753	if invalidParams.Len() > 0 {
39754		return invalidParams
39755	}
39756	return nil
39757}
39758
39759// SetDryRun sets the DryRun field's value.
39760func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
39761	s.DryRun = &v
39762	return s
39763}
39764
39765// SetVpcId sets the VpcId field's value.
39766func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
39767	s.VpcId = &v
39768	return s
39769}
39770
39771type CreateNetworkAclOutput struct {
39772	_ struct{} `type:"structure"`
39773
39774	// Information about the network ACL.
39775	NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
39776}
39777
39778// String returns the string representation
39779func (s CreateNetworkAclOutput) String() string {
39780	return awsutil.Prettify(s)
39781}
39782
39783// GoString returns the string representation
39784func (s CreateNetworkAclOutput) GoString() string {
39785	return s.String()
39786}
39787
39788// SetNetworkAcl sets the NetworkAcl field's value.
39789func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
39790	s.NetworkAcl = v
39791	return s
39792}
39793
39794// Contains the parameters for CreateNetworkInterface.
39795type CreateNetworkInterfaceInput struct {
39796	_ struct{} `type:"structure"`
39797
39798	// A description for the network interface.
39799	Description *string `locationName:"description" type:"string"`
39800
39801	// Checks whether you have the required permissions for the action, without
39802	// actually making the request, and provides an error response. If you have
39803	// the required permissions, the error response is DryRunOperation. Otherwise,
39804	// it is UnauthorizedOperation.
39805	DryRun *bool `locationName:"dryRun" type:"boolean"`
39806
39807	// The IDs of one or more security groups.
39808	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
39809
39810	// Indicates the type of network interface. To create an Elastic Fabric Adapter
39811	// (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
39812	// in the Amazon Elastic Compute Cloud User Guide.
39813	//
39814	// If you are not creating an EFA, specify interface or omit this parameter.
39815	InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"`
39816
39817	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
39818	// automatically selects the IPv6 addresses from the subnet range. You can't
39819	// use this option if specifying specific IPv6 addresses. If your subnet has
39820	// the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
39821	// to override this setting.
39822	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
39823
39824	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
39825	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
39826	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
39827
39828	// The primary private IPv4 address of the network interface. If you don't specify
39829	// an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
39830	// range. If you specify an IP address, you cannot indicate any IP addresses
39831	// specified in privateIpAddresses as primary (only one IP address can be designated
39832	// as primary).
39833	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
39834
39835	// One or more private IPv4 addresses.
39836	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
39837
39838	// The number of secondary private IPv4 addresses to assign to a network interface.
39839	// When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
39840	// these IP addresses within the subnet's IPv4 CIDR range. You can't specify
39841	// this option and specify more than one private IP address using privateIpAddresses.
39842	//
39843	// The number of IP addresses you can assign to a network interface varies by
39844	// instance type. For more information, see IP Addresses Per ENI Per Instance
39845	// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
39846	// in the Amazon Virtual Private Cloud User Guide.
39847	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
39848
39849	// The ID of the subnet to associate with the network interface.
39850	//
39851	// SubnetId is a required field
39852	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
39853}
39854
39855// String returns the string representation
39856func (s CreateNetworkInterfaceInput) String() string {
39857	return awsutil.Prettify(s)
39858}
39859
39860// GoString returns the string representation
39861func (s CreateNetworkInterfaceInput) GoString() string {
39862	return s.String()
39863}
39864
39865// Validate inspects the fields of the type to determine if they are valid.
39866func (s *CreateNetworkInterfaceInput) Validate() error {
39867	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
39868	if s.SubnetId == nil {
39869		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
39870	}
39871
39872	if invalidParams.Len() > 0 {
39873		return invalidParams
39874	}
39875	return nil
39876}
39877
39878// SetDescription sets the Description field's value.
39879func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
39880	s.Description = &v
39881	return s
39882}
39883
39884// SetDryRun sets the DryRun field's value.
39885func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
39886	s.DryRun = &v
39887	return s
39888}
39889
39890// SetGroups sets the Groups field's value.
39891func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
39892	s.Groups = v
39893	return s
39894}
39895
39896// SetInterfaceType sets the InterfaceType field's value.
39897func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput {
39898	s.InterfaceType = &v
39899	return s
39900}
39901
39902// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
39903func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
39904	s.Ipv6AddressCount = &v
39905	return s
39906}
39907
39908// SetIpv6Addresses sets the Ipv6Addresses field's value.
39909func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
39910	s.Ipv6Addresses = v
39911	return s
39912}
39913
39914// SetPrivateIpAddress sets the PrivateIpAddress field's value.
39915func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
39916	s.PrivateIpAddress = &v
39917	return s
39918}
39919
39920// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
39921func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
39922	s.PrivateIpAddresses = v
39923	return s
39924}
39925
39926// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
39927func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
39928	s.SecondaryPrivateIpAddressCount = &v
39929	return s
39930}
39931
39932// SetSubnetId sets the SubnetId field's value.
39933func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
39934	s.SubnetId = &v
39935	return s
39936}
39937
39938// Contains the output of CreateNetworkInterface.
39939type CreateNetworkInterfaceOutput struct {
39940	_ struct{} `type:"structure"`
39941
39942	// Information about the network interface.
39943	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
39944}
39945
39946// String returns the string representation
39947func (s CreateNetworkInterfaceOutput) String() string {
39948	return awsutil.Prettify(s)
39949}
39950
39951// GoString returns the string representation
39952func (s CreateNetworkInterfaceOutput) GoString() string {
39953	return s.String()
39954}
39955
39956// SetNetworkInterface sets the NetworkInterface field's value.
39957func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
39958	s.NetworkInterface = v
39959	return s
39960}
39961
39962// Contains the parameters for CreateNetworkInterfacePermission.
39963type CreateNetworkInterfacePermissionInput struct {
39964	_ struct{} `type:"structure"`
39965
39966	// The AWS account ID.
39967	AwsAccountId *string `type:"string"`
39968
39969	// The AWS service. Currently not supported.
39970	AwsService *string `type:"string"`
39971
39972	// Checks whether you have the required permissions for the action, without
39973	// actually making the request, and provides an error response. If you have
39974	// the required permissions, the error response is DryRunOperation. Otherwise,
39975	// it is UnauthorizedOperation.
39976	DryRun *bool `type:"boolean"`
39977
39978	// The ID of the network interface.
39979	//
39980	// NetworkInterfaceId is a required field
39981	NetworkInterfaceId *string `type:"string" required:"true"`
39982
39983	// The type of permission to grant.
39984	//
39985	// Permission is a required field
39986	Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
39987}
39988
39989// String returns the string representation
39990func (s CreateNetworkInterfacePermissionInput) String() string {
39991	return awsutil.Prettify(s)
39992}
39993
39994// GoString returns the string representation
39995func (s CreateNetworkInterfacePermissionInput) GoString() string {
39996	return s.String()
39997}
39998
39999// Validate inspects the fields of the type to determine if they are valid.
40000func (s *CreateNetworkInterfacePermissionInput) Validate() error {
40001	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
40002	if s.NetworkInterfaceId == nil {
40003		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
40004	}
40005	if s.Permission == nil {
40006		invalidParams.Add(request.NewErrParamRequired("Permission"))
40007	}
40008
40009	if invalidParams.Len() > 0 {
40010		return invalidParams
40011	}
40012	return nil
40013}
40014
40015// SetAwsAccountId sets the AwsAccountId field's value.
40016func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
40017	s.AwsAccountId = &v
40018	return s
40019}
40020
40021// SetAwsService sets the AwsService field's value.
40022func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
40023	s.AwsService = &v
40024	return s
40025}
40026
40027// SetDryRun sets the DryRun field's value.
40028func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
40029	s.DryRun = &v
40030	return s
40031}
40032
40033// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
40034func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
40035	s.NetworkInterfaceId = &v
40036	return s
40037}
40038
40039// SetPermission sets the Permission field's value.
40040func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
40041	s.Permission = &v
40042	return s
40043}
40044
40045// Contains the output of CreateNetworkInterfacePermission.
40046type CreateNetworkInterfacePermissionOutput struct {
40047	_ struct{} `type:"structure"`
40048
40049	// Information about the permission for the network interface.
40050	InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
40051}
40052
40053// String returns the string representation
40054func (s CreateNetworkInterfacePermissionOutput) String() string {
40055	return awsutil.Prettify(s)
40056}
40057
40058// GoString returns the string representation
40059func (s CreateNetworkInterfacePermissionOutput) GoString() string {
40060	return s.String()
40061}
40062
40063// SetInterfacePermission sets the InterfacePermission field's value.
40064func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
40065	s.InterfacePermission = v
40066	return s
40067}
40068
40069type CreatePlacementGroupInput struct {
40070	_ struct{} `type:"structure"`
40071
40072	// Checks whether you have the required permissions for the action, without
40073	// actually making the request, and provides an error response. If you have
40074	// the required permissions, the error response is DryRunOperation. Otherwise,
40075	// it is UnauthorizedOperation.
40076	DryRun *bool `locationName:"dryRun" type:"boolean"`
40077
40078	// A name for the placement group. Must be unique within the scope of your account
40079	// for the Region.
40080	//
40081	// Constraints: Up to 255 ASCII characters
40082	GroupName *string `locationName:"groupName" type:"string"`
40083
40084	// The number of partitions. Valid only when Strategy is set to partition.
40085	PartitionCount *int64 `type:"integer"`
40086
40087	// The placement strategy.
40088	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
40089}
40090
40091// String returns the string representation
40092func (s CreatePlacementGroupInput) String() string {
40093	return awsutil.Prettify(s)
40094}
40095
40096// GoString returns the string representation
40097func (s CreatePlacementGroupInput) GoString() string {
40098	return s.String()
40099}
40100
40101// SetDryRun sets the DryRun field's value.
40102func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
40103	s.DryRun = &v
40104	return s
40105}
40106
40107// SetGroupName sets the GroupName field's value.
40108func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
40109	s.GroupName = &v
40110	return s
40111}
40112
40113// SetPartitionCount sets the PartitionCount field's value.
40114func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
40115	s.PartitionCount = &v
40116	return s
40117}
40118
40119// SetStrategy sets the Strategy field's value.
40120func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
40121	s.Strategy = &v
40122	return s
40123}
40124
40125type CreatePlacementGroupOutput struct {
40126	_ struct{} `type:"structure"`
40127}
40128
40129// String returns the string representation
40130func (s CreatePlacementGroupOutput) String() string {
40131	return awsutil.Prettify(s)
40132}
40133
40134// GoString returns the string representation
40135func (s CreatePlacementGroupOutput) GoString() string {
40136	return s.String()
40137}
40138
40139// Contains the parameters for CreateReservedInstancesListing.
40140type CreateReservedInstancesListingInput struct {
40141	_ struct{} `type:"structure"`
40142
40143	// Unique, case-sensitive identifier you provide to ensure idempotency of your
40144	// listings. This helps avoid duplicate listings. For more information, see
40145	// Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
40146	//
40147	// ClientToken is a required field
40148	ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
40149
40150	// The number of instances that are a part of a Reserved Instance account to
40151	// be listed in the Reserved Instance Marketplace. This number should be less
40152	// than or equal to the instance count associated with the Reserved Instance
40153	// ID specified in this call.
40154	//
40155	// InstanceCount is a required field
40156	InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
40157
40158	// A list specifying the price of the Standard Reserved Instance for each month
40159	// remaining in the Reserved Instance term.
40160	//
40161	// PriceSchedules is a required field
40162	PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
40163
40164	// The ID of the active Standard Reserved Instance.
40165	//
40166	// ReservedInstancesId is a required field
40167	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
40168}
40169
40170// String returns the string representation
40171func (s CreateReservedInstancesListingInput) String() string {
40172	return awsutil.Prettify(s)
40173}
40174
40175// GoString returns the string representation
40176func (s CreateReservedInstancesListingInput) GoString() string {
40177	return s.String()
40178}
40179
40180// Validate inspects the fields of the type to determine if they are valid.
40181func (s *CreateReservedInstancesListingInput) Validate() error {
40182	invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
40183	if s.ClientToken == nil {
40184		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
40185	}
40186	if s.InstanceCount == nil {
40187		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
40188	}
40189	if s.PriceSchedules == nil {
40190		invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
40191	}
40192	if s.ReservedInstancesId == nil {
40193		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
40194	}
40195
40196	if invalidParams.Len() > 0 {
40197		return invalidParams
40198	}
40199	return nil
40200}
40201
40202// SetClientToken sets the ClientToken field's value.
40203func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
40204	s.ClientToken = &v
40205	return s
40206}
40207
40208// SetInstanceCount sets the InstanceCount field's value.
40209func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
40210	s.InstanceCount = &v
40211	return s
40212}
40213
40214// SetPriceSchedules sets the PriceSchedules field's value.
40215func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
40216	s.PriceSchedules = v
40217	return s
40218}
40219
40220// SetReservedInstancesId sets the ReservedInstancesId field's value.
40221func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
40222	s.ReservedInstancesId = &v
40223	return s
40224}
40225
40226// Contains the output of CreateReservedInstancesListing.
40227type CreateReservedInstancesListingOutput struct {
40228	_ struct{} `type:"structure"`
40229
40230	// Information about the Standard Reserved Instance listing.
40231	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
40232}
40233
40234// String returns the string representation
40235func (s CreateReservedInstancesListingOutput) String() string {
40236	return awsutil.Prettify(s)
40237}
40238
40239// GoString returns the string representation
40240func (s CreateReservedInstancesListingOutput) GoString() string {
40241	return s.String()
40242}
40243
40244// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
40245func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
40246	s.ReservedInstancesListings = v
40247	return s
40248}
40249
40250type CreateRouteInput struct {
40251	_ struct{} `type:"structure"`
40252
40253	// The IPv4 CIDR address block used for the destination match. Routing decisions
40254	// are based on the most specific match.
40255	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
40256
40257	// The IPv6 CIDR block used for the destination match. Routing decisions are
40258	// based on the most specific match.
40259	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
40260
40261	// Checks whether you have the required permissions for the action, without
40262	// actually making the request, and provides an error response. If you have
40263	// the required permissions, the error response is DryRunOperation. Otherwise,
40264	// it is UnauthorizedOperation.
40265	DryRun *bool `locationName:"dryRun" type:"boolean"`
40266
40267	// [IPv6 traffic only] The ID of an egress-only internet gateway.
40268	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
40269
40270	// The ID of an internet gateway or virtual private gateway attached to your
40271	// VPC.
40272	GatewayId *string `locationName:"gatewayId" type:"string"`
40273
40274	// The ID of a NAT instance in your VPC. The operation fails if you specify
40275	// an instance ID unless exactly one network interface is attached.
40276	InstanceId *string `locationName:"instanceId" type:"string"`
40277
40278	// [IPv4 traffic only] The ID of a NAT gateway.
40279	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
40280
40281	// The ID of a network interface.
40282	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
40283
40284	// The ID of the route table for the route.
40285	//
40286	// RouteTableId is a required field
40287	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
40288
40289	// The ID of a transit gateway.
40290	TransitGatewayId *string `type:"string"`
40291
40292	// The ID of a VPC peering connection.
40293	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
40294}
40295
40296// String returns the string representation
40297func (s CreateRouteInput) String() string {
40298	return awsutil.Prettify(s)
40299}
40300
40301// GoString returns the string representation
40302func (s CreateRouteInput) GoString() string {
40303	return s.String()
40304}
40305
40306// Validate inspects the fields of the type to determine if they are valid.
40307func (s *CreateRouteInput) Validate() error {
40308	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
40309	if s.RouteTableId == nil {
40310		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
40311	}
40312
40313	if invalidParams.Len() > 0 {
40314		return invalidParams
40315	}
40316	return nil
40317}
40318
40319// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
40320func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
40321	s.DestinationCidrBlock = &v
40322	return s
40323}
40324
40325// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
40326func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
40327	s.DestinationIpv6CidrBlock = &v
40328	return s
40329}
40330
40331// SetDryRun sets the DryRun field's value.
40332func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
40333	s.DryRun = &v
40334	return s
40335}
40336
40337// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
40338func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
40339	s.EgressOnlyInternetGatewayId = &v
40340	return s
40341}
40342
40343// SetGatewayId sets the GatewayId field's value.
40344func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
40345	s.GatewayId = &v
40346	return s
40347}
40348
40349// SetInstanceId sets the InstanceId field's value.
40350func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
40351	s.InstanceId = &v
40352	return s
40353}
40354
40355// SetNatGatewayId sets the NatGatewayId field's value.
40356func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
40357	s.NatGatewayId = &v
40358	return s
40359}
40360
40361// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
40362func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
40363	s.NetworkInterfaceId = &v
40364	return s
40365}
40366
40367// SetRouteTableId sets the RouteTableId field's value.
40368func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
40369	s.RouteTableId = &v
40370	return s
40371}
40372
40373// SetTransitGatewayId sets the TransitGatewayId field's value.
40374func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
40375	s.TransitGatewayId = &v
40376	return s
40377}
40378
40379// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
40380func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
40381	s.VpcPeeringConnectionId = &v
40382	return s
40383}
40384
40385type CreateRouteOutput struct {
40386	_ struct{} `type:"structure"`
40387
40388	// Returns true if the request succeeds; otherwise, it returns an error.
40389	Return *bool `locationName:"return" type:"boolean"`
40390}
40391
40392// String returns the string representation
40393func (s CreateRouteOutput) String() string {
40394	return awsutil.Prettify(s)
40395}
40396
40397// GoString returns the string representation
40398func (s CreateRouteOutput) GoString() string {
40399	return s.String()
40400}
40401
40402// SetReturn sets the Return field's value.
40403func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
40404	s.Return = &v
40405	return s
40406}
40407
40408type CreateRouteTableInput struct {
40409	_ struct{} `type:"structure"`
40410
40411	// Checks whether you have the required permissions for the action, without
40412	// actually making the request, and provides an error response. If you have
40413	// the required permissions, the error response is DryRunOperation. Otherwise,
40414	// it is UnauthorizedOperation.
40415	DryRun *bool `locationName:"dryRun" type:"boolean"`
40416
40417	// The ID of the VPC.
40418	//
40419	// VpcId is a required field
40420	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
40421}
40422
40423// String returns the string representation
40424func (s CreateRouteTableInput) String() string {
40425	return awsutil.Prettify(s)
40426}
40427
40428// GoString returns the string representation
40429func (s CreateRouteTableInput) GoString() string {
40430	return s.String()
40431}
40432
40433// Validate inspects the fields of the type to determine if they are valid.
40434func (s *CreateRouteTableInput) Validate() error {
40435	invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
40436	if s.VpcId == nil {
40437		invalidParams.Add(request.NewErrParamRequired("VpcId"))
40438	}
40439
40440	if invalidParams.Len() > 0 {
40441		return invalidParams
40442	}
40443	return nil
40444}
40445
40446// SetDryRun sets the DryRun field's value.
40447func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
40448	s.DryRun = &v
40449	return s
40450}
40451
40452// SetVpcId sets the VpcId field's value.
40453func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
40454	s.VpcId = &v
40455	return s
40456}
40457
40458type CreateRouteTableOutput struct {
40459	_ struct{} `type:"structure"`
40460
40461	// Information about the route table.
40462	RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
40463}
40464
40465// String returns the string representation
40466func (s CreateRouteTableOutput) String() string {
40467	return awsutil.Prettify(s)
40468}
40469
40470// GoString returns the string representation
40471func (s CreateRouteTableOutput) GoString() string {
40472	return s.String()
40473}
40474
40475// SetRouteTable sets the RouteTable field's value.
40476func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
40477	s.RouteTable = v
40478	return s
40479}
40480
40481type CreateSecurityGroupInput struct {
40482	_ struct{} `type:"structure"`
40483
40484	// A description for the security group. This is informational only.
40485	//
40486	// Constraints: Up to 255 characters in length
40487	//
40488	// Constraints for EC2-Classic: ASCII characters
40489	//
40490	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
40491	//
40492	// Description is a required field
40493	Description *string `locationName:"GroupDescription" type:"string" required:"true"`
40494
40495	// Checks whether you have the required permissions for the action, without
40496	// actually making the request, and provides an error response. If you have
40497	// the required permissions, the error response is DryRunOperation. Otherwise,
40498	// it is UnauthorizedOperation.
40499	DryRun *bool `locationName:"dryRun" type:"boolean"`
40500
40501	// The name of the security group.
40502	//
40503	// Constraints: Up to 255 characters in length. Cannot start with sg-.
40504	//
40505	// Constraints for EC2-Classic: ASCII characters
40506	//
40507	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
40508	//
40509	// GroupName is a required field
40510	GroupName *string `type:"string" required:"true"`
40511
40512	// [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
40513	VpcId *string `type:"string"`
40514}
40515
40516// String returns the string representation
40517func (s CreateSecurityGroupInput) String() string {
40518	return awsutil.Prettify(s)
40519}
40520
40521// GoString returns the string representation
40522func (s CreateSecurityGroupInput) GoString() string {
40523	return s.String()
40524}
40525
40526// Validate inspects the fields of the type to determine if they are valid.
40527func (s *CreateSecurityGroupInput) Validate() error {
40528	invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
40529	if s.Description == nil {
40530		invalidParams.Add(request.NewErrParamRequired("Description"))
40531	}
40532	if s.GroupName == nil {
40533		invalidParams.Add(request.NewErrParamRequired("GroupName"))
40534	}
40535
40536	if invalidParams.Len() > 0 {
40537		return invalidParams
40538	}
40539	return nil
40540}
40541
40542// SetDescription sets the Description field's value.
40543func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
40544	s.Description = &v
40545	return s
40546}
40547
40548// SetDryRun sets the DryRun field's value.
40549func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
40550	s.DryRun = &v
40551	return s
40552}
40553
40554// SetGroupName sets the GroupName field's value.
40555func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
40556	s.GroupName = &v
40557	return s
40558}
40559
40560// SetVpcId sets the VpcId field's value.
40561func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
40562	s.VpcId = &v
40563	return s
40564}
40565
40566type CreateSecurityGroupOutput struct {
40567	_ struct{} `type:"structure"`
40568
40569	// The ID of the security group.
40570	GroupId *string `locationName:"groupId" type:"string"`
40571}
40572
40573// String returns the string representation
40574func (s CreateSecurityGroupOutput) String() string {
40575	return awsutil.Prettify(s)
40576}
40577
40578// GoString returns the string representation
40579func (s CreateSecurityGroupOutput) GoString() string {
40580	return s.String()
40581}
40582
40583// SetGroupId sets the GroupId field's value.
40584func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
40585	s.GroupId = &v
40586	return s
40587}
40588
40589// Contains the parameters for CreateSnapshot.
40590type CreateSnapshotInput struct {
40591	_ struct{} `type:"structure"`
40592
40593	// A description for the snapshot.
40594	Description *string `type:"string"`
40595
40596	// Checks whether you have the required permissions for the action, without
40597	// actually making the request, and provides an error response. If you have
40598	// the required permissions, the error response is DryRunOperation. Otherwise,
40599	// it is UnauthorizedOperation.
40600	DryRun *bool `locationName:"dryRun" type:"boolean"`
40601
40602	// The tags to apply to the snapshot during creation.
40603	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
40604
40605	// The ID of the EBS volume.
40606	//
40607	// VolumeId is a required field
40608	VolumeId *string `type:"string" required:"true"`
40609}
40610
40611// String returns the string representation
40612func (s CreateSnapshotInput) String() string {
40613	return awsutil.Prettify(s)
40614}
40615
40616// GoString returns the string representation
40617func (s CreateSnapshotInput) GoString() string {
40618	return s.String()
40619}
40620
40621// Validate inspects the fields of the type to determine if they are valid.
40622func (s *CreateSnapshotInput) Validate() error {
40623	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
40624	if s.VolumeId == nil {
40625		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
40626	}
40627
40628	if invalidParams.Len() > 0 {
40629		return invalidParams
40630	}
40631	return nil
40632}
40633
40634// SetDescription sets the Description field's value.
40635func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
40636	s.Description = &v
40637	return s
40638}
40639
40640// SetDryRun sets the DryRun field's value.
40641func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
40642	s.DryRun = &v
40643	return s
40644}
40645
40646// SetTagSpecifications sets the TagSpecifications field's value.
40647func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
40648	s.TagSpecifications = v
40649	return s
40650}
40651
40652// SetVolumeId sets the VolumeId field's value.
40653func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
40654	s.VolumeId = &v
40655	return s
40656}
40657
40658// Contains the parameters for CreateSpotDatafeedSubscription.
40659type CreateSpotDatafeedSubscriptionInput struct {
40660	_ struct{} `type:"structure"`
40661
40662	// The Amazon S3 bucket in which to store the Spot Instance data feed.
40663	//
40664	// Bucket is a required field
40665	Bucket *string `locationName:"bucket" type:"string" required:"true"`
40666
40667	// Checks whether you have the required permissions for the action, without
40668	// actually making the request, and provides an error response. If you have
40669	// the required permissions, the error response is DryRunOperation. Otherwise,
40670	// it is UnauthorizedOperation.
40671	DryRun *bool `locationName:"dryRun" type:"boolean"`
40672
40673	// A prefix for the data feed file names.
40674	Prefix *string `locationName:"prefix" type:"string"`
40675}
40676
40677// String returns the string representation
40678func (s CreateSpotDatafeedSubscriptionInput) String() string {
40679	return awsutil.Prettify(s)
40680}
40681
40682// GoString returns the string representation
40683func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
40684	return s.String()
40685}
40686
40687// Validate inspects the fields of the type to determine if they are valid.
40688func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
40689	invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
40690	if s.Bucket == nil {
40691		invalidParams.Add(request.NewErrParamRequired("Bucket"))
40692	}
40693
40694	if invalidParams.Len() > 0 {
40695		return invalidParams
40696	}
40697	return nil
40698}
40699
40700// SetBucket sets the Bucket field's value.
40701func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
40702	s.Bucket = &v
40703	return s
40704}
40705
40706// SetDryRun sets the DryRun field's value.
40707func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
40708	s.DryRun = &v
40709	return s
40710}
40711
40712// SetPrefix sets the Prefix field's value.
40713func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
40714	s.Prefix = &v
40715	return s
40716}
40717
40718// Contains the output of CreateSpotDatafeedSubscription.
40719type CreateSpotDatafeedSubscriptionOutput struct {
40720	_ struct{} `type:"structure"`
40721
40722	// The Spot Instance data feed subscription.
40723	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
40724}
40725
40726// String returns the string representation
40727func (s CreateSpotDatafeedSubscriptionOutput) String() string {
40728	return awsutil.Prettify(s)
40729}
40730
40731// GoString returns the string representation
40732func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
40733	return s.String()
40734}
40735
40736// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
40737func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
40738	s.SpotDatafeedSubscription = v
40739	return s
40740}
40741
40742type CreateSubnetInput struct {
40743	_ struct{} `type:"structure"`
40744
40745	// The Availability Zone for the subnet.
40746	//
40747	// Default: AWS selects one for you. If you create more than one subnet in your
40748	// VPC, we may not necessarily select a different zone for each subnet.
40749	AvailabilityZone *string `type:"string"`
40750
40751	// The AZ ID of the subnet.
40752	AvailabilityZoneId *string `type:"string"`
40753
40754	// The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
40755	//
40756	// CidrBlock is a required field
40757	CidrBlock *string `type:"string" required:"true"`
40758
40759	// Checks whether you have the required permissions for the action, without
40760	// actually making the request, and provides an error response. If you have
40761	// the required permissions, the error response is DryRunOperation. Otherwise,
40762	// it is UnauthorizedOperation.
40763	DryRun *bool `locationName:"dryRun" type:"boolean"`
40764
40765	// The IPv6 network range for the subnet, in CIDR notation. The subnet size
40766	// must use a /64 prefix length.
40767	Ipv6CidrBlock *string `type:"string"`
40768
40769	// The ID of the VPC.
40770	//
40771	// VpcId is a required field
40772	VpcId *string `type:"string" required:"true"`
40773}
40774
40775// String returns the string representation
40776func (s CreateSubnetInput) String() string {
40777	return awsutil.Prettify(s)
40778}
40779
40780// GoString returns the string representation
40781func (s CreateSubnetInput) GoString() string {
40782	return s.String()
40783}
40784
40785// Validate inspects the fields of the type to determine if they are valid.
40786func (s *CreateSubnetInput) Validate() error {
40787	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
40788	if s.CidrBlock == nil {
40789		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
40790	}
40791	if s.VpcId == nil {
40792		invalidParams.Add(request.NewErrParamRequired("VpcId"))
40793	}
40794
40795	if invalidParams.Len() > 0 {
40796		return invalidParams
40797	}
40798	return nil
40799}
40800
40801// SetAvailabilityZone sets the AvailabilityZone field's value.
40802func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
40803	s.AvailabilityZone = &v
40804	return s
40805}
40806
40807// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
40808func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
40809	s.AvailabilityZoneId = &v
40810	return s
40811}
40812
40813// SetCidrBlock sets the CidrBlock field's value.
40814func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
40815	s.CidrBlock = &v
40816	return s
40817}
40818
40819// SetDryRun sets the DryRun field's value.
40820func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
40821	s.DryRun = &v
40822	return s
40823}
40824
40825// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
40826func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
40827	s.Ipv6CidrBlock = &v
40828	return s
40829}
40830
40831// SetVpcId sets the VpcId field's value.
40832func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
40833	s.VpcId = &v
40834	return s
40835}
40836
40837type CreateSubnetOutput struct {
40838	_ struct{} `type:"structure"`
40839
40840	// Information about the subnet.
40841	Subnet *Subnet `locationName:"subnet" type:"structure"`
40842}
40843
40844// String returns the string representation
40845func (s CreateSubnetOutput) String() string {
40846	return awsutil.Prettify(s)
40847}
40848
40849// GoString returns the string representation
40850func (s CreateSubnetOutput) GoString() string {
40851	return s.String()
40852}
40853
40854// SetSubnet sets the Subnet field's value.
40855func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
40856	s.Subnet = v
40857	return s
40858}
40859
40860type CreateTagsInput struct {
40861	_ struct{} `type:"structure"`
40862
40863	// Checks whether you have the required permissions for the action, without
40864	// actually making the request, and provides an error response. If you have
40865	// the required permissions, the error response is DryRunOperation. Otherwise,
40866	// it is UnauthorizedOperation.
40867	DryRun *bool `locationName:"dryRun" type:"boolean"`
40868
40869	// The IDs of the resources, separated by spaces.
40870	//
40871	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
40872	// into smaller batches.
40873	//
40874	// Resources is a required field
40875	Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
40876
40877	// The tags. The value parameter is required, but if you don't want the tag
40878	// to have a value, specify the parameter with no value, and we set the value
40879	// to an empty string.
40880	//
40881	// Tags is a required field
40882	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
40883}
40884
40885// String returns the string representation
40886func (s CreateTagsInput) String() string {
40887	return awsutil.Prettify(s)
40888}
40889
40890// GoString returns the string representation
40891func (s CreateTagsInput) GoString() string {
40892	return s.String()
40893}
40894
40895// Validate inspects the fields of the type to determine if they are valid.
40896func (s *CreateTagsInput) Validate() error {
40897	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
40898	if s.Resources == nil {
40899		invalidParams.Add(request.NewErrParamRequired("Resources"))
40900	}
40901	if s.Tags == nil {
40902		invalidParams.Add(request.NewErrParamRequired("Tags"))
40903	}
40904
40905	if invalidParams.Len() > 0 {
40906		return invalidParams
40907	}
40908	return nil
40909}
40910
40911// SetDryRun sets the DryRun field's value.
40912func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
40913	s.DryRun = &v
40914	return s
40915}
40916
40917// SetResources sets the Resources field's value.
40918func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
40919	s.Resources = v
40920	return s
40921}
40922
40923// SetTags sets the Tags field's value.
40924func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
40925	s.Tags = v
40926	return s
40927}
40928
40929type CreateTagsOutput struct {
40930	_ struct{} `type:"structure"`
40931}
40932
40933// String returns the string representation
40934func (s CreateTagsOutput) String() string {
40935	return awsutil.Prettify(s)
40936}
40937
40938// GoString returns the string representation
40939func (s CreateTagsOutput) GoString() string {
40940	return s.String()
40941}
40942
40943type CreateTransitGatewayInput struct {
40944	_ struct{} `type:"structure"`
40945
40946	// A description of the transit gateway.
40947	Description *string `type:"string"`
40948
40949	// Checks whether you have the required permissions for the action, without
40950	// actually making the request, and provides an error response. If you have
40951	// the required permissions, the error response is DryRunOperation. Otherwise,
40952	// it is UnauthorizedOperation.
40953	DryRun *bool `type:"boolean"`
40954
40955	// The transit gateway options.
40956	Options *TransitGatewayRequestOptions `type:"structure"`
40957
40958	// The tags to apply to the transit gateway.
40959	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
40960}
40961
40962// String returns the string representation
40963func (s CreateTransitGatewayInput) String() string {
40964	return awsutil.Prettify(s)
40965}
40966
40967// GoString returns the string representation
40968func (s CreateTransitGatewayInput) GoString() string {
40969	return s.String()
40970}
40971
40972// SetDescription sets the Description field's value.
40973func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
40974	s.Description = &v
40975	return s
40976}
40977
40978// SetDryRun sets the DryRun field's value.
40979func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
40980	s.DryRun = &v
40981	return s
40982}
40983
40984// SetOptions sets the Options field's value.
40985func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
40986	s.Options = v
40987	return s
40988}
40989
40990// SetTagSpecifications sets the TagSpecifications field's value.
40991func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
40992	s.TagSpecifications = v
40993	return s
40994}
40995
40996type CreateTransitGatewayOutput struct {
40997	_ struct{} `type:"structure"`
40998
40999	// Information about the transit gateway.
41000	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
41001}
41002
41003// String returns the string representation
41004func (s CreateTransitGatewayOutput) String() string {
41005	return awsutil.Prettify(s)
41006}
41007
41008// GoString returns the string representation
41009func (s CreateTransitGatewayOutput) GoString() string {
41010	return s.String()
41011}
41012
41013// SetTransitGateway sets the TransitGateway field's value.
41014func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
41015	s.TransitGateway = v
41016	return s
41017}
41018
41019type CreateTransitGatewayRouteInput struct {
41020	_ struct{} `type:"structure"`
41021
41022	// Indicates whether to drop traffic that matches this route.
41023	Blackhole *bool `type:"boolean"`
41024
41025	// The CIDR range used for destination matches. Routing decisions are based
41026	// on the most specific match.
41027	//
41028	// DestinationCidrBlock is a required field
41029	DestinationCidrBlock *string `type:"string" required:"true"`
41030
41031	// Checks whether you have the required permissions for the action, without
41032	// actually making the request, and provides an error response. If you have
41033	// the required permissions, the error response is DryRunOperation. Otherwise,
41034	// it is UnauthorizedOperation.
41035	DryRun *bool `type:"boolean"`
41036
41037	// The ID of the attachment.
41038	TransitGatewayAttachmentId *string `type:"string"`
41039
41040	// The ID of the transit gateway route table.
41041	//
41042	// TransitGatewayRouteTableId is a required field
41043	TransitGatewayRouteTableId *string `type:"string" required:"true"`
41044}
41045
41046// String returns the string representation
41047func (s CreateTransitGatewayRouteInput) String() string {
41048	return awsutil.Prettify(s)
41049}
41050
41051// GoString returns the string representation
41052func (s CreateTransitGatewayRouteInput) GoString() string {
41053	return s.String()
41054}
41055
41056// Validate inspects the fields of the type to determine if they are valid.
41057func (s *CreateTransitGatewayRouteInput) Validate() error {
41058	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
41059	if s.DestinationCidrBlock == nil {
41060		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
41061	}
41062	if s.TransitGatewayRouteTableId == nil {
41063		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
41064	}
41065
41066	if invalidParams.Len() > 0 {
41067		return invalidParams
41068	}
41069	return nil
41070}
41071
41072// SetBlackhole sets the Blackhole field's value.
41073func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
41074	s.Blackhole = &v
41075	return s
41076}
41077
41078// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
41079func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
41080	s.DestinationCidrBlock = &v
41081	return s
41082}
41083
41084// SetDryRun sets the DryRun field's value.
41085func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
41086	s.DryRun = &v
41087	return s
41088}
41089
41090// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
41091func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
41092	s.TransitGatewayAttachmentId = &v
41093	return s
41094}
41095
41096// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
41097func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
41098	s.TransitGatewayRouteTableId = &v
41099	return s
41100}
41101
41102type CreateTransitGatewayRouteOutput struct {
41103	_ struct{} `type:"structure"`
41104
41105	// Information about the route.
41106	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
41107}
41108
41109// String returns the string representation
41110func (s CreateTransitGatewayRouteOutput) String() string {
41111	return awsutil.Prettify(s)
41112}
41113
41114// GoString returns the string representation
41115func (s CreateTransitGatewayRouteOutput) GoString() string {
41116	return s.String()
41117}
41118
41119// SetRoute sets the Route field's value.
41120func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
41121	s.Route = v
41122	return s
41123}
41124
41125type CreateTransitGatewayRouteTableInput struct {
41126	_ struct{} `type:"structure"`
41127
41128	// Checks whether you have the required permissions for the action, without
41129	// actually making the request, and provides an error response. If you have
41130	// the required permissions, the error response is DryRunOperation. Otherwise,
41131	// it is UnauthorizedOperation.
41132	DryRun *bool `type:"boolean"`
41133
41134	// The tags to apply to the transit gateway route table.
41135	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
41136
41137	// The ID of the transit gateway.
41138	//
41139	// TransitGatewayId is a required field
41140	TransitGatewayId *string `type:"string" required:"true"`
41141}
41142
41143// String returns the string representation
41144func (s CreateTransitGatewayRouteTableInput) String() string {
41145	return awsutil.Prettify(s)
41146}
41147
41148// GoString returns the string representation
41149func (s CreateTransitGatewayRouteTableInput) GoString() string {
41150	return s.String()
41151}
41152
41153// Validate inspects the fields of the type to determine if they are valid.
41154func (s *CreateTransitGatewayRouteTableInput) Validate() error {
41155	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
41156	if s.TransitGatewayId == nil {
41157		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
41158	}
41159
41160	if invalidParams.Len() > 0 {
41161		return invalidParams
41162	}
41163	return nil
41164}
41165
41166// SetDryRun sets the DryRun field's value.
41167func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
41168	s.DryRun = &v
41169	return s
41170}
41171
41172// SetTagSpecifications sets the TagSpecifications field's value.
41173func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
41174	s.TagSpecifications = v
41175	return s
41176}
41177
41178// SetTransitGatewayId sets the TransitGatewayId field's value.
41179func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
41180	s.TransitGatewayId = &v
41181	return s
41182}
41183
41184type CreateTransitGatewayRouteTableOutput struct {
41185	_ struct{} `type:"structure"`
41186
41187	// Information about the transit gateway route table.
41188	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
41189}
41190
41191// String returns the string representation
41192func (s CreateTransitGatewayRouteTableOutput) String() string {
41193	return awsutil.Prettify(s)
41194}
41195
41196// GoString returns the string representation
41197func (s CreateTransitGatewayRouteTableOutput) GoString() string {
41198	return s.String()
41199}
41200
41201// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
41202func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
41203	s.TransitGatewayRouteTable = v
41204	return s
41205}
41206
41207type CreateTransitGatewayVpcAttachmentInput struct {
41208	_ struct{} `type:"structure"`
41209
41210	// Checks whether you have the required permissions for the action, without
41211	// actually making the request, and provides an error response. If you have
41212	// the required permissions, the error response is DryRunOperation. Otherwise,
41213	// it is UnauthorizedOperation.
41214	DryRun *bool `type:"boolean"`
41215
41216	// The VPC attachment options.
41217	Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
41218
41219	// The IDs of one or more subnets. You can specify only one subnet per Availability
41220	// Zone. You must specify at least one subnet, but we recommend that you specify
41221	// two subnets for better availability. The transit gateway uses one IP address
41222	// from each specified subnet.
41223	//
41224	// SubnetIds is a required field
41225	SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
41226
41227	// The tags to apply to the VPC attachment.
41228	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
41229
41230	// The ID of the transit gateway.
41231	//
41232	// TransitGatewayId is a required field
41233	TransitGatewayId *string `type:"string" required:"true"`
41234
41235	// The ID of the VPC.
41236	//
41237	// VpcId is a required field
41238	VpcId *string `type:"string" required:"true"`
41239}
41240
41241// String returns the string representation
41242func (s CreateTransitGatewayVpcAttachmentInput) String() string {
41243	return awsutil.Prettify(s)
41244}
41245
41246// GoString returns the string representation
41247func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
41248	return s.String()
41249}
41250
41251// Validate inspects the fields of the type to determine if they are valid.
41252func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
41253	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
41254	if s.SubnetIds == nil {
41255		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
41256	}
41257	if s.TransitGatewayId == nil {
41258		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
41259	}
41260	if s.VpcId == nil {
41261		invalidParams.Add(request.NewErrParamRequired("VpcId"))
41262	}
41263
41264	if invalidParams.Len() > 0 {
41265		return invalidParams
41266	}
41267	return nil
41268}
41269
41270// SetDryRun sets the DryRun field's value.
41271func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
41272	s.DryRun = &v
41273	return s
41274}
41275
41276// SetOptions sets the Options field's value.
41277func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
41278	s.Options = v
41279	return s
41280}
41281
41282// SetSubnetIds sets the SubnetIds field's value.
41283func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
41284	s.SubnetIds = v
41285	return s
41286}
41287
41288// SetTagSpecifications sets the TagSpecifications field's value.
41289func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
41290	s.TagSpecifications = v
41291	return s
41292}
41293
41294// SetTransitGatewayId sets the TransitGatewayId field's value.
41295func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
41296	s.TransitGatewayId = &v
41297	return s
41298}
41299
41300// SetVpcId sets the VpcId field's value.
41301func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
41302	s.VpcId = &v
41303	return s
41304}
41305
41306type CreateTransitGatewayVpcAttachmentOutput struct {
41307	_ struct{} `type:"structure"`
41308
41309	// Information about the VPC attachment.
41310	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
41311}
41312
41313// String returns the string representation
41314func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
41315	return awsutil.Prettify(s)
41316}
41317
41318// GoString returns the string representation
41319func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
41320	return s.String()
41321}
41322
41323// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
41324func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
41325	s.TransitGatewayVpcAttachment = v
41326	return s
41327}
41328
41329// Describes the options for a VPC attachment.
41330type CreateTransitGatewayVpcAttachmentRequestOptions struct {
41331	_ struct{} `type:"structure"`
41332
41333	// Enable or disable DNS support. The default is enable.
41334	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
41335
41336	// Enable or disable IPv6 support. The default is enable.
41337	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
41338}
41339
41340// String returns the string representation
41341func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
41342	return awsutil.Prettify(s)
41343}
41344
41345// GoString returns the string representation
41346func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
41347	return s.String()
41348}
41349
41350// SetDnsSupport sets the DnsSupport field's value.
41351func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
41352	s.DnsSupport = &v
41353	return s
41354}
41355
41356// SetIpv6Support sets the Ipv6Support field's value.
41357func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
41358	s.Ipv6Support = &v
41359	return s
41360}
41361
41362// Contains the parameters for CreateVolume.
41363type CreateVolumeInput struct {
41364	_ struct{} `type:"structure"`
41365
41366	// The Availability Zone in which to create the volume.
41367	//
41368	// AvailabilityZone is a required field
41369	AvailabilityZone *string `type:"string" required:"true"`
41370
41371	// Checks whether you have the required permissions for the action, without
41372	// actually making the request, and provides an error response. If you have
41373	// the required permissions, the error response is DryRunOperation. Otherwise,
41374	// it is UnauthorizedOperation.
41375	DryRun *bool `locationName:"dryRun" type:"boolean"`
41376
41377	// Specifies the encryption state of the volume. The default effect of setting
41378	// the Encrypted parameter to true through the console, API, or CLI depends
41379	// on the volume's origin (new or from a snapshot), starting encryption state,
41380	// ownership, and whether account-level encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/account-level-encryption.html)
41381	// is enabled. Each default case can be overridden by specifying a customer
41382	// master key (CMK) with the KmsKeyId parameter in addition to setting Encrypted
41383	// to true. For a complete list of possible encryption cases, see Amazon EBS
41384	// Encryption (AWSEC2/latest/UserGuide/EBSEncryption.htm).
41385	//
41386	// Encrypted Amazon EBS volumes may only be attached to instances that support
41387	// Amazon EBS encryption. For more information, see Supported Instance Types
41388	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
41389	Encrypted *bool `locationName:"encrypted" type:"boolean"`
41390
41391	// The number of I/O operations per second (IOPS) to provision for the volume,
41392	// with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes
41393	// in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based
41394	// instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
41395	// Other instance families guarantee performance up to 32,000 IOPS. For more
41396	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
41397	// in the Amazon Elastic Compute Cloud User Guide.
41398	//
41399	// This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
41400	Iops *int64 `type:"integer"`
41401
41402	// An identifier for the AWS Key Management Service (AWS KMS) customer master
41403	// key (CMK) to use to encrypt the volume. This parameter is only required if
41404	// you want to use a non-default CMK; if this parameter is not specified, the
41405	// default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag
41406	// must also be set.
41407	//
41408	// The CMK identifier may be provided in any of the following formats:
41409	//
41410	//    * Key ID
41411	//
41412	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
41413	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
41414	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
41415	//
41416	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
41417	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
41418	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
41419	//
41420	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
41421	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
41422	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
41423	//
41424	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
41425	// appear to complete even though you provided an invalid identifier. The action
41426	// will eventually fail.
41427	KmsKeyId *string `type:"string"`
41428
41429	// The size of the volume, in GiBs.
41430	//
41431	// Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384
41432	// for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume
41433	// size must be equal to or larger than the snapshot size.
41434	//
41435	// Default: If you're creating the volume from a snapshot and don't specify
41436	// a volume size, the default is the snapshot size.
41437	//
41438	// At least one of Size or SnapshotId is required.
41439	Size *int64 `type:"integer"`
41440
41441	// The snapshot from which to create the volume.
41442	//
41443	// At least one of Size or SnapshotId are required.
41444	SnapshotId *string `type:"string"`
41445
41446	// The tags to apply to the volume during creation.
41447	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
41448
41449	// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
41450	// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
41451	// for Magnetic volumes.
41452	//
41453	// Defaults: If no volume type is specified, the default is standard in us-east-1,
41454	// eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1,
41455	// ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1,
41456	// and cn-north-1. In all other Regions, EBS defaults to gp2.
41457	VolumeType *string `type:"string" enum:"VolumeType"`
41458}
41459
41460// String returns the string representation
41461func (s CreateVolumeInput) String() string {
41462	return awsutil.Prettify(s)
41463}
41464
41465// GoString returns the string representation
41466func (s CreateVolumeInput) GoString() string {
41467	return s.String()
41468}
41469
41470// Validate inspects the fields of the type to determine if they are valid.
41471func (s *CreateVolumeInput) Validate() error {
41472	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
41473	if s.AvailabilityZone == nil {
41474		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
41475	}
41476
41477	if invalidParams.Len() > 0 {
41478		return invalidParams
41479	}
41480	return nil
41481}
41482
41483// SetAvailabilityZone sets the AvailabilityZone field's value.
41484func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
41485	s.AvailabilityZone = &v
41486	return s
41487}
41488
41489// SetDryRun sets the DryRun field's value.
41490func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
41491	s.DryRun = &v
41492	return s
41493}
41494
41495// SetEncrypted sets the Encrypted field's value.
41496func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
41497	s.Encrypted = &v
41498	return s
41499}
41500
41501// SetIops sets the Iops field's value.
41502func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
41503	s.Iops = &v
41504	return s
41505}
41506
41507// SetKmsKeyId sets the KmsKeyId field's value.
41508func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
41509	s.KmsKeyId = &v
41510	return s
41511}
41512
41513// SetSize sets the Size field's value.
41514func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
41515	s.Size = &v
41516	return s
41517}
41518
41519// SetSnapshotId sets the SnapshotId field's value.
41520func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
41521	s.SnapshotId = &v
41522	return s
41523}
41524
41525// SetTagSpecifications sets the TagSpecifications field's value.
41526func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
41527	s.TagSpecifications = v
41528	return s
41529}
41530
41531// SetVolumeType sets the VolumeType field's value.
41532func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
41533	s.VolumeType = &v
41534	return s
41535}
41536
41537// Describes the user or group to be added or removed from the list of create
41538// volume permissions for a volume.
41539type CreateVolumePermission struct {
41540	_ struct{} `type:"structure"`
41541
41542	// The group to be added or removed. The possible value is all.
41543	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
41544
41545	// The AWS account ID to be added or removed.
41546	UserId *string `locationName:"userId" type:"string"`
41547}
41548
41549// String returns the string representation
41550func (s CreateVolumePermission) String() string {
41551	return awsutil.Prettify(s)
41552}
41553
41554// GoString returns the string representation
41555func (s CreateVolumePermission) GoString() string {
41556	return s.String()
41557}
41558
41559// SetGroup sets the Group field's value.
41560func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
41561	s.Group = &v
41562	return s
41563}
41564
41565// SetUserId sets the UserId field's value.
41566func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
41567	s.UserId = &v
41568	return s
41569}
41570
41571// Describes modifications to the list of create volume permissions for a volume.
41572type CreateVolumePermissionModifications struct {
41573	_ struct{} `type:"structure"`
41574
41575	// Adds the specified AWS account ID or group to the list.
41576	Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
41577
41578	// Removes the specified AWS account ID or group from the list.
41579	Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
41580}
41581
41582// String returns the string representation
41583func (s CreateVolumePermissionModifications) String() string {
41584	return awsutil.Prettify(s)
41585}
41586
41587// GoString returns the string representation
41588func (s CreateVolumePermissionModifications) GoString() string {
41589	return s.String()
41590}
41591
41592// SetAdd sets the Add field's value.
41593func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
41594	s.Add = v
41595	return s
41596}
41597
41598// SetRemove sets the Remove field's value.
41599func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
41600	s.Remove = v
41601	return s
41602}
41603
41604type CreateVpcEndpointConnectionNotificationInput struct {
41605	_ struct{} `type:"structure"`
41606
41607	// Unique, case-sensitive identifier you provide to ensure the idempotency of
41608	// the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
41609	ClientToken *string `type:"string"`
41610
41611	// One or more endpoint events for which to receive notifications. Valid values
41612	// are Accept, Connect, Delete, and Reject.
41613	//
41614	// ConnectionEvents is a required field
41615	ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
41616
41617	// The ARN of the SNS topic for the notifications.
41618	//
41619	// ConnectionNotificationArn is a required field
41620	ConnectionNotificationArn *string `type:"string" required:"true"`
41621
41622	// Checks whether you have the required permissions for the action, without
41623	// actually making the request, and provides an error response. If you have
41624	// the required permissions, the error response is DryRunOperation. Otherwise,
41625	// it is UnauthorizedOperation.
41626	DryRun *bool `type:"boolean"`
41627
41628	// The ID of the endpoint service.
41629	ServiceId *string `type:"string"`
41630
41631	// The ID of the endpoint.
41632	VpcEndpointId *string `type:"string"`
41633}
41634
41635// String returns the string representation
41636func (s CreateVpcEndpointConnectionNotificationInput) String() string {
41637	return awsutil.Prettify(s)
41638}
41639
41640// GoString returns the string representation
41641func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
41642	return s.String()
41643}
41644
41645// Validate inspects the fields of the type to determine if they are valid.
41646func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
41647	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
41648	if s.ConnectionEvents == nil {
41649		invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
41650	}
41651	if s.ConnectionNotificationArn == nil {
41652		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
41653	}
41654
41655	if invalidParams.Len() > 0 {
41656		return invalidParams
41657	}
41658	return nil
41659}
41660
41661// SetClientToken sets the ClientToken field's value.
41662func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
41663	s.ClientToken = &v
41664	return s
41665}
41666
41667// SetConnectionEvents sets the ConnectionEvents field's value.
41668func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
41669	s.ConnectionEvents = v
41670	return s
41671}
41672
41673// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
41674func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
41675	s.ConnectionNotificationArn = &v
41676	return s
41677}
41678
41679// SetDryRun sets the DryRun field's value.
41680func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
41681	s.DryRun = &v
41682	return s
41683}
41684
41685// SetServiceId sets the ServiceId field's value.
41686func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
41687	s.ServiceId = &v
41688	return s
41689}
41690
41691// SetVpcEndpointId sets the VpcEndpointId field's value.
41692func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
41693	s.VpcEndpointId = &v
41694	return s
41695}
41696
41697type CreateVpcEndpointConnectionNotificationOutput struct {
41698	_ struct{} `type:"structure"`
41699
41700	// Unique, case-sensitive identifier you provide to ensure the idempotency of
41701	// the request.
41702	ClientToken *string `locationName:"clientToken" type:"string"`
41703
41704	// Information about the notification.
41705	ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
41706}
41707
41708// String returns the string representation
41709func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
41710	return awsutil.Prettify(s)
41711}
41712
41713// GoString returns the string representation
41714func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
41715	return s.String()
41716}
41717
41718// SetClientToken sets the ClientToken field's value.
41719func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
41720	s.ClientToken = &v
41721	return s
41722}
41723
41724// SetConnectionNotification sets the ConnectionNotification field's value.
41725func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
41726	s.ConnectionNotification = v
41727	return s
41728}
41729
41730// Contains the parameters for CreateVpcEndpoint.
41731type CreateVpcEndpointInput struct {
41732	_ struct{} `type:"structure"`
41733
41734	// Unique, case-sensitive identifier you provide to ensure the idempotency of
41735	// the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
41736	ClientToken *string `type:"string"`
41737
41738	// Checks whether you have the required permissions for the action, without
41739	// actually making the request, and provides an error response. If you have
41740	// the required permissions, the error response is DryRunOperation. Otherwise,
41741	// it is UnauthorizedOperation.
41742	DryRun *bool `type:"boolean"`
41743
41744	// A policy to attach to the endpoint that controls access to the service. The
41745	// policy must be in valid JSON format. If this parameter is not specified,
41746	// we attach a default policy that allows full access to the service.
41747	PolicyDocument *string `type:"string"`
41748
41749	// (Interface endpoint) Indicate whether to associate a private hosted zone
41750	// with the specified VPC. The private hosted zone contains a record set for
41751	// the default public DNS name for the service for the Region (for example,
41752	// kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses
41753	// of the endpoint network interfaces in the VPC. This enables you to make requests
41754	// to the default public DNS name for the service instead of the public DNS
41755	// names that are automatically generated by the VPC endpoint service.
41756	//
41757	// To use a private hosted zone, you must set the following VPC attributes to
41758	// true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
41759	// set the VPC attributes.
41760	//
41761	// Default: true
41762	PrivateDnsEnabled *bool `type:"boolean"`
41763
41764	// (Gateway endpoint) One or more route table IDs.
41765	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
41766
41767	// (Interface endpoint) The ID of one or more security groups to associate with
41768	// the endpoint network interface.
41769	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
41770
41771	// The service name. To get a list of available services, use the DescribeVpcEndpointServices
41772	// request, or get the name from the service provider.
41773	//
41774	// ServiceName is a required field
41775	ServiceName *string `type:"string" required:"true"`
41776
41777	// (Interface endpoint) The ID of one or more subnets in which to create an
41778	// endpoint network interface.
41779	SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
41780
41781	// The type of endpoint.
41782	//
41783	// Default: Gateway
41784	VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
41785
41786	// The ID of the VPC in which the endpoint will be used.
41787	//
41788	// VpcId is a required field
41789	VpcId *string `type:"string" required:"true"`
41790}
41791
41792// String returns the string representation
41793func (s CreateVpcEndpointInput) String() string {
41794	return awsutil.Prettify(s)
41795}
41796
41797// GoString returns the string representation
41798func (s CreateVpcEndpointInput) GoString() string {
41799	return s.String()
41800}
41801
41802// Validate inspects the fields of the type to determine if they are valid.
41803func (s *CreateVpcEndpointInput) Validate() error {
41804	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
41805	if s.ServiceName == nil {
41806		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
41807	}
41808	if s.VpcId == nil {
41809		invalidParams.Add(request.NewErrParamRequired("VpcId"))
41810	}
41811
41812	if invalidParams.Len() > 0 {
41813		return invalidParams
41814	}
41815	return nil
41816}
41817
41818// SetClientToken sets the ClientToken field's value.
41819func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
41820	s.ClientToken = &v
41821	return s
41822}
41823
41824// SetDryRun sets the DryRun field's value.
41825func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
41826	s.DryRun = &v
41827	return s
41828}
41829
41830// SetPolicyDocument sets the PolicyDocument field's value.
41831func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
41832	s.PolicyDocument = &v
41833	return s
41834}
41835
41836// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
41837func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
41838	s.PrivateDnsEnabled = &v
41839	return s
41840}
41841
41842// SetRouteTableIds sets the RouteTableIds field's value.
41843func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
41844	s.RouteTableIds = v
41845	return s
41846}
41847
41848// SetSecurityGroupIds sets the SecurityGroupIds field's value.
41849func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
41850	s.SecurityGroupIds = v
41851	return s
41852}
41853
41854// SetServiceName sets the ServiceName field's value.
41855func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
41856	s.ServiceName = &v
41857	return s
41858}
41859
41860// SetSubnetIds sets the SubnetIds field's value.
41861func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
41862	s.SubnetIds = v
41863	return s
41864}
41865
41866// SetVpcEndpointType sets the VpcEndpointType field's value.
41867func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
41868	s.VpcEndpointType = &v
41869	return s
41870}
41871
41872// SetVpcId sets the VpcId field's value.
41873func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
41874	s.VpcId = &v
41875	return s
41876}
41877
41878// Contains the output of CreateVpcEndpoint.
41879type CreateVpcEndpointOutput struct {
41880	_ struct{} `type:"structure"`
41881
41882	// Unique, case-sensitive identifier you provide to ensure the idempotency of
41883	// the request.
41884	ClientToken *string `locationName:"clientToken" type:"string"`
41885
41886	// Information about the endpoint.
41887	VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
41888}
41889
41890// String returns the string representation
41891func (s CreateVpcEndpointOutput) String() string {
41892	return awsutil.Prettify(s)
41893}
41894
41895// GoString returns the string representation
41896func (s CreateVpcEndpointOutput) GoString() string {
41897	return s.String()
41898}
41899
41900// SetClientToken sets the ClientToken field's value.
41901func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
41902	s.ClientToken = &v
41903	return s
41904}
41905
41906// SetVpcEndpoint sets the VpcEndpoint field's value.
41907func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
41908	s.VpcEndpoint = v
41909	return s
41910}
41911
41912type CreateVpcEndpointServiceConfigurationInput struct {
41913	_ struct{} `type:"structure"`
41914
41915	// Indicate whether requests from service consumers to create an endpoint to
41916	// your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
41917	AcceptanceRequired *bool `type:"boolean"`
41918
41919	// Unique, case-sensitive identifier you provide to ensure the idempotency of
41920	// the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
41921	ClientToken *string `type:"string"`
41922
41923	// Checks whether you have the required permissions for the action, without
41924	// actually making the request, and provides an error response. If you have
41925	// the required permissions, the error response is DryRunOperation. Otherwise,
41926	// it is UnauthorizedOperation.
41927	DryRun *bool `type:"boolean"`
41928
41929	// The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
41930	// your service.
41931	//
41932	// NetworkLoadBalancerArns is a required field
41933	NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
41934}
41935
41936// String returns the string representation
41937func (s CreateVpcEndpointServiceConfigurationInput) String() string {
41938	return awsutil.Prettify(s)
41939}
41940
41941// GoString returns the string representation
41942func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
41943	return s.String()
41944}
41945
41946// Validate inspects the fields of the type to determine if they are valid.
41947func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
41948	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
41949	if s.NetworkLoadBalancerArns == nil {
41950		invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
41951	}
41952
41953	if invalidParams.Len() > 0 {
41954		return invalidParams
41955	}
41956	return nil
41957}
41958
41959// SetAcceptanceRequired sets the AcceptanceRequired field's value.
41960func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
41961	s.AcceptanceRequired = &v
41962	return s
41963}
41964
41965// SetClientToken sets the ClientToken field's value.
41966func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
41967	s.ClientToken = &v
41968	return s
41969}
41970
41971// SetDryRun sets the DryRun field's value.
41972func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
41973	s.DryRun = &v
41974	return s
41975}
41976
41977// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
41978func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
41979	s.NetworkLoadBalancerArns = v
41980	return s
41981}
41982
41983type CreateVpcEndpointServiceConfigurationOutput struct {
41984	_ struct{} `type:"structure"`
41985
41986	// Unique, case-sensitive identifier you provide to ensure the idempotency of
41987	// the request.
41988	ClientToken *string `locationName:"clientToken" type:"string"`
41989
41990	// Information about the service configuration.
41991	ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
41992}
41993
41994// String returns the string representation
41995func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
41996	return awsutil.Prettify(s)
41997}
41998
41999// GoString returns the string representation
42000func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
42001	return s.String()
42002}
42003
42004// SetClientToken sets the ClientToken field's value.
42005func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
42006	s.ClientToken = &v
42007	return s
42008}
42009
42010// SetServiceConfiguration sets the ServiceConfiguration field's value.
42011func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
42012	s.ServiceConfiguration = v
42013	return s
42014}
42015
42016type CreateVpcInput struct {
42017	_ struct{} `type:"structure"`
42018
42019	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
42020	// the VPC. You cannot specify the range of IP addresses, or the size of the
42021	// CIDR block.
42022	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
42023
42024	// The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
42025	//
42026	// CidrBlock is a required field
42027	CidrBlock *string `type:"string" required:"true"`
42028
42029	// Checks whether you have the required permissions for the action, without
42030	// actually making the request, and provides an error response. If you have
42031	// the required permissions, the error response is DryRunOperation. Otherwise,
42032	// it is UnauthorizedOperation.
42033	DryRun *bool `locationName:"dryRun" type:"boolean"`
42034
42035	// The tenancy options for instances launched into the VPC. For default, instances
42036	// are launched with shared tenancy by default. You can launch instances with
42037	// any tenancy into a shared tenancy VPC. For dedicated, instances are launched
42038	// as dedicated tenancy instances by default. You can only launch instances
42039	// with a tenancy of dedicated or host into a dedicated tenancy VPC.
42040	//
42041	// Important: The host value cannot be used with this parameter. Use the default
42042	// or dedicated values only.
42043	//
42044	// Default: default
42045	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
42046}
42047
42048// String returns the string representation
42049func (s CreateVpcInput) String() string {
42050	return awsutil.Prettify(s)
42051}
42052
42053// GoString returns the string representation
42054func (s CreateVpcInput) GoString() string {
42055	return s.String()
42056}
42057
42058// Validate inspects the fields of the type to determine if they are valid.
42059func (s *CreateVpcInput) Validate() error {
42060	invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
42061	if s.CidrBlock == nil {
42062		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
42063	}
42064
42065	if invalidParams.Len() > 0 {
42066		return invalidParams
42067	}
42068	return nil
42069}
42070
42071// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
42072func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
42073	s.AmazonProvidedIpv6CidrBlock = &v
42074	return s
42075}
42076
42077// SetCidrBlock sets the CidrBlock field's value.
42078func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
42079	s.CidrBlock = &v
42080	return s
42081}
42082
42083// SetDryRun sets the DryRun field's value.
42084func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
42085	s.DryRun = &v
42086	return s
42087}
42088
42089// SetInstanceTenancy sets the InstanceTenancy field's value.
42090func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
42091	s.InstanceTenancy = &v
42092	return s
42093}
42094
42095type CreateVpcOutput struct {
42096	_ struct{} `type:"structure"`
42097
42098	// Information about the VPC.
42099	Vpc *Vpc `locationName:"vpc" type:"structure"`
42100}
42101
42102// String returns the string representation
42103func (s CreateVpcOutput) String() string {
42104	return awsutil.Prettify(s)
42105}
42106
42107// GoString returns the string representation
42108func (s CreateVpcOutput) GoString() string {
42109	return s.String()
42110}
42111
42112// SetVpc sets the Vpc field's value.
42113func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
42114	s.Vpc = v
42115	return s
42116}
42117
42118type CreateVpcPeeringConnectionInput struct {
42119	_ struct{} `type:"structure"`
42120
42121	// Checks whether you have the required permissions for the action, without
42122	// actually making the request, and provides an error response. If you have
42123	// the required permissions, the error response is DryRunOperation. Otherwise,
42124	// it is UnauthorizedOperation.
42125	DryRun *bool `locationName:"dryRun" type:"boolean"`
42126
42127	// The AWS account ID of the owner of the accepter VPC.
42128	//
42129	// Default: Your AWS account ID
42130	PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
42131
42132	// The Region code for the accepter VPC, if the accepter VPC is located in a
42133	// Region other than the Region in which you make the request.
42134	//
42135	// Default: The Region in which you make the request.
42136	PeerRegion *string `type:"string"`
42137
42138	// The ID of the VPC with which you are creating the VPC peering connection.
42139	// You must specify this parameter in the request.
42140	PeerVpcId *string `locationName:"peerVpcId" type:"string"`
42141
42142	// The ID of the requester VPC. You must specify this parameter in the request.
42143	VpcId *string `locationName:"vpcId" type:"string"`
42144}
42145
42146// String returns the string representation
42147func (s CreateVpcPeeringConnectionInput) String() string {
42148	return awsutil.Prettify(s)
42149}
42150
42151// GoString returns the string representation
42152func (s CreateVpcPeeringConnectionInput) GoString() string {
42153	return s.String()
42154}
42155
42156// SetDryRun sets the DryRun field's value.
42157func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
42158	s.DryRun = &v
42159	return s
42160}
42161
42162// SetPeerOwnerId sets the PeerOwnerId field's value.
42163func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
42164	s.PeerOwnerId = &v
42165	return s
42166}
42167
42168// SetPeerRegion sets the PeerRegion field's value.
42169func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
42170	s.PeerRegion = &v
42171	return s
42172}
42173
42174// SetPeerVpcId sets the PeerVpcId field's value.
42175func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
42176	s.PeerVpcId = &v
42177	return s
42178}
42179
42180// SetVpcId sets the VpcId field's value.
42181func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
42182	s.VpcId = &v
42183	return s
42184}
42185
42186type CreateVpcPeeringConnectionOutput struct {
42187	_ struct{} `type:"structure"`
42188
42189	// Information about the VPC peering connection.
42190	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
42191}
42192
42193// String returns the string representation
42194func (s CreateVpcPeeringConnectionOutput) String() string {
42195	return awsutil.Prettify(s)
42196}
42197
42198// GoString returns the string representation
42199func (s CreateVpcPeeringConnectionOutput) GoString() string {
42200	return s.String()
42201}
42202
42203// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
42204func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
42205	s.VpcPeeringConnection = v
42206	return s
42207}
42208
42209// Contains the parameters for CreateVpnConnection.
42210type CreateVpnConnectionInput struct {
42211	_ struct{} `type:"structure"`
42212
42213	// The ID of the customer gateway.
42214	//
42215	// CustomerGatewayId is a required field
42216	CustomerGatewayId *string `type:"string" required:"true"`
42217
42218	// Checks whether you have the required permissions for the action, without
42219	// actually making the request, and provides an error response. If you have
42220	// the required permissions, the error response is DryRunOperation. Otherwise,
42221	// it is UnauthorizedOperation.
42222	DryRun *bool `locationName:"dryRun" type:"boolean"`
42223
42224	// The options for the VPN connection.
42225	Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
42226
42227	// The ID of the transit gateway. If you specify a transit gateway, you cannot
42228	// specify a virtual private gateway.
42229	TransitGatewayId *string `type:"string"`
42230
42231	// The type of VPN connection (ipsec.1 | ipsec.2).
42232	//
42233	// Type is a required field
42234	Type *string `type:"string" required:"true"`
42235
42236	// The ID of the virtual private gateway. If you specify a virtual private gateway,
42237	// you cannot specify a transit gateway.
42238	VpnGatewayId *string `type:"string"`
42239}
42240
42241// String returns the string representation
42242func (s CreateVpnConnectionInput) String() string {
42243	return awsutil.Prettify(s)
42244}
42245
42246// GoString returns the string representation
42247func (s CreateVpnConnectionInput) GoString() string {
42248	return s.String()
42249}
42250
42251// Validate inspects the fields of the type to determine if they are valid.
42252func (s *CreateVpnConnectionInput) Validate() error {
42253	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
42254	if s.CustomerGatewayId == nil {
42255		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
42256	}
42257	if s.Type == nil {
42258		invalidParams.Add(request.NewErrParamRequired("Type"))
42259	}
42260
42261	if invalidParams.Len() > 0 {
42262		return invalidParams
42263	}
42264	return nil
42265}
42266
42267// SetCustomerGatewayId sets the CustomerGatewayId field's value.
42268func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
42269	s.CustomerGatewayId = &v
42270	return s
42271}
42272
42273// SetDryRun sets the DryRun field's value.
42274func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
42275	s.DryRun = &v
42276	return s
42277}
42278
42279// SetOptions sets the Options field's value.
42280func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
42281	s.Options = v
42282	return s
42283}
42284
42285// SetTransitGatewayId sets the TransitGatewayId field's value.
42286func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
42287	s.TransitGatewayId = &v
42288	return s
42289}
42290
42291// SetType sets the Type field's value.
42292func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
42293	s.Type = &v
42294	return s
42295}
42296
42297// SetVpnGatewayId sets the VpnGatewayId field's value.
42298func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
42299	s.VpnGatewayId = &v
42300	return s
42301}
42302
42303// Contains the output of CreateVpnConnection.
42304type CreateVpnConnectionOutput struct {
42305	_ struct{} `type:"structure"`
42306
42307	// Information about the VPN connection.
42308	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
42309}
42310
42311// String returns the string representation
42312func (s CreateVpnConnectionOutput) String() string {
42313	return awsutil.Prettify(s)
42314}
42315
42316// GoString returns the string representation
42317func (s CreateVpnConnectionOutput) GoString() string {
42318	return s.String()
42319}
42320
42321// SetVpnConnection sets the VpnConnection field's value.
42322func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
42323	s.VpnConnection = v
42324	return s
42325}
42326
42327// Contains the parameters for CreateVpnConnectionRoute.
42328type CreateVpnConnectionRouteInput struct {
42329	_ struct{} `type:"structure"`
42330
42331	// The CIDR block associated with the local subnet of the customer network.
42332	//
42333	// DestinationCidrBlock is a required field
42334	DestinationCidrBlock *string `type:"string" required:"true"`
42335
42336	// The ID of the VPN connection.
42337	//
42338	// VpnConnectionId is a required field
42339	VpnConnectionId *string `type:"string" required:"true"`
42340}
42341
42342// String returns the string representation
42343func (s CreateVpnConnectionRouteInput) String() string {
42344	return awsutil.Prettify(s)
42345}
42346
42347// GoString returns the string representation
42348func (s CreateVpnConnectionRouteInput) GoString() string {
42349	return s.String()
42350}
42351
42352// Validate inspects the fields of the type to determine if they are valid.
42353func (s *CreateVpnConnectionRouteInput) Validate() error {
42354	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
42355	if s.DestinationCidrBlock == nil {
42356		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
42357	}
42358	if s.VpnConnectionId == nil {
42359		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
42360	}
42361
42362	if invalidParams.Len() > 0 {
42363		return invalidParams
42364	}
42365	return nil
42366}
42367
42368// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
42369func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
42370	s.DestinationCidrBlock = &v
42371	return s
42372}
42373
42374// SetVpnConnectionId sets the VpnConnectionId field's value.
42375func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
42376	s.VpnConnectionId = &v
42377	return s
42378}
42379
42380type CreateVpnConnectionRouteOutput struct {
42381	_ struct{} `type:"structure"`
42382}
42383
42384// String returns the string representation
42385func (s CreateVpnConnectionRouteOutput) String() string {
42386	return awsutil.Prettify(s)
42387}
42388
42389// GoString returns the string representation
42390func (s CreateVpnConnectionRouteOutput) GoString() string {
42391	return s.String()
42392}
42393
42394// Contains the parameters for CreateVpnGateway.
42395type CreateVpnGatewayInput struct {
42396	_ struct{} `type:"structure"`
42397
42398	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
42399	// If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
42400	// you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
42401	//
42402	// Default: 64512
42403	AmazonSideAsn *int64 `type:"long"`
42404
42405	// The Availability Zone for the virtual private gateway.
42406	AvailabilityZone *string `type:"string"`
42407
42408	// Checks whether you have the required permissions for the action, without
42409	// actually making the request, and provides an error response. If you have
42410	// the required permissions, the error response is DryRunOperation. Otherwise,
42411	// it is UnauthorizedOperation.
42412	DryRun *bool `locationName:"dryRun" type:"boolean"`
42413
42414	// The type of VPN connection this virtual private gateway supports.
42415	//
42416	// Type is a required field
42417	Type *string `type:"string" required:"true" enum:"GatewayType"`
42418}
42419
42420// String returns the string representation
42421func (s CreateVpnGatewayInput) String() string {
42422	return awsutil.Prettify(s)
42423}
42424
42425// GoString returns the string representation
42426func (s CreateVpnGatewayInput) GoString() string {
42427	return s.String()
42428}
42429
42430// Validate inspects the fields of the type to determine if they are valid.
42431func (s *CreateVpnGatewayInput) Validate() error {
42432	invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
42433	if s.Type == nil {
42434		invalidParams.Add(request.NewErrParamRequired("Type"))
42435	}
42436
42437	if invalidParams.Len() > 0 {
42438		return invalidParams
42439	}
42440	return nil
42441}
42442
42443// SetAmazonSideAsn sets the AmazonSideAsn field's value.
42444func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
42445	s.AmazonSideAsn = &v
42446	return s
42447}
42448
42449// SetAvailabilityZone sets the AvailabilityZone field's value.
42450func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
42451	s.AvailabilityZone = &v
42452	return s
42453}
42454
42455// SetDryRun sets the DryRun field's value.
42456func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
42457	s.DryRun = &v
42458	return s
42459}
42460
42461// SetType sets the Type field's value.
42462func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
42463	s.Type = &v
42464	return s
42465}
42466
42467// Contains the output of CreateVpnGateway.
42468type CreateVpnGatewayOutput struct {
42469	_ struct{} `type:"structure"`
42470
42471	// Information about the virtual private gateway.
42472	VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
42473}
42474
42475// String returns the string representation
42476func (s CreateVpnGatewayOutput) String() string {
42477	return awsutil.Prettify(s)
42478}
42479
42480// GoString returns the string representation
42481func (s CreateVpnGatewayOutput) GoString() string {
42482	return s.String()
42483}
42484
42485// SetVpnGateway sets the VpnGateway field's value.
42486func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
42487	s.VpnGateway = v
42488	return s
42489}
42490
42491// Describes the credit option for CPU usage of a T2 or T3 instance.
42492type CreditSpecification struct {
42493	_ struct{} `type:"structure"`
42494
42495	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
42496	// standard and unlimited.
42497	CpuCredits *string `locationName:"cpuCredits" type:"string"`
42498}
42499
42500// String returns the string representation
42501func (s CreditSpecification) String() string {
42502	return awsutil.Prettify(s)
42503}
42504
42505// GoString returns the string representation
42506func (s CreditSpecification) GoString() string {
42507	return s.String()
42508}
42509
42510// SetCpuCredits sets the CpuCredits field's value.
42511func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
42512	s.CpuCredits = &v
42513	return s
42514}
42515
42516// The credit option for CPU usage of a T2 or T3 instance.
42517type CreditSpecificationRequest struct {
42518	_ struct{} `type:"structure"`
42519
42520	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
42521	// standard and unlimited.
42522	//
42523	// CpuCredits is a required field
42524	CpuCredits *string `type:"string" required:"true"`
42525}
42526
42527// String returns the string representation
42528func (s CreditSpecificationRequest) String() string {
42529	return awsutil.Prettify(s)
42530}
42531
42532// GoString returns the string representation
42533func (s CreditSpecificationRequest) GoString() string {
42534	return s.String()
42535}
42536
42537// Validate inspects the fields of the type to determine if they are valid.
42538func (s *CreditSpecificationRequest) Validate() error {
42539	invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
42540	if s.CpuCredits == nil {
42541		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
42542	}
42543
42544	if invalidParams.Len() > 0 {
42545		return invalidParams
42546	}
42547	return nil
42548}
42549
42550// SetCpuCredits sets the CpuCredits field's value.
42551func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
42552	s.CpuCredits = &v
42553	return s
42554}
42555
42556// Describes a customer gateway.
42557type CustomerGateway struct {
42558	_ struct{} `type:"structure"`
42559
42560	// The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
42561	// (ASN).
42562	BgpAsn *string `locationName:"bgpAsn" type:"string"`
42563
42564	// The ID of the customer gateway.
42565	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
42566
42567	// The Internet-routable IP address of the customer gateway's outside interface.
42568	IpAddress *string `locationName:"ipAddress" type:"string"`
42569
42570	// The current state of the customer gateway (pending | available | deleting
42571	// | deleted).
42572	State *string `locationName:"state" type:"string"`
42573
42574	// Any tags assigned to the customer gateway.
42575	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
42576
42577	// The type of VPN connection the customer gateway supports (ipsec.1).
42578	Type *string `locationName:"type" type:"string"`
42579}
42580
42581// String returns the string representation
42582func (s CustomerGateway) String() string {
42583	return awsutil.Prettify(s)
42584}
42585
42586// GoString returns the string representation
42587func (s CustomerGateway) GoString() string {
42588	return s.String()
42589}
42590
42591// SetBgpAsn sets the BgpAsn field's value.
42592func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
42593	s.BgpAsn = &v
42594	return s
42595}
42596
42597// SetCustomerGatewayId sets the CustomerGatewayId field's value.
42598func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
42599	s.CustomerGatewayId = &v
42600	return s
42601}
42602
42603// SetIpAddress sets the IpAddress field's value.
42604func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
42605	s.IpAddress = &v
42606	return s
42607}
42608
42609// SetState sets the State field's value.
42610func (s *CustomerGateway) SetState(v string) *CustomerGateway {
42611	s.State = &v
42612	return s
42613}
42614
42615// SetTags sets the Tags field's value.
42616func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
42617	s.Tags = v
42618	return s
42619}
42620
42621// SetType sets the Type field's value.
42622func (s *CustomerGateway) SetType(v string) *CustomerGateway {
42623	s.Type = &v
42624	return s
42625}
42626
42627type DeleteClientVpnEndpointInput struct {
42628	_ struct{} `type:"structure"`
42629
42630	// The ID of the Client VPN to be deleted.
42631	//
42632	// ClientVpnEndpointId is a required field
42633	ClientVpnEndpointId *string `type:"string" required:"true"`
42634
42635	// Checks whether you have the required permissions for the action, without
42636	// actually making the request, and provides an error response. If you have
42637	// the required permissions, the error response is DryRunOperation. Otherwise,
42638	// it is UnauthorizedOperation.
42639	DryRun *bool `type:"boolean"`
42640}
42641
42642// String returns the string representation
42643func (s DeleteClientVpnEndpointInput) String() string {
42644	return awsutil.Prettify(s)
42645}
42646
42647// GoString returns the string representation
42648func (s DeleteClientVpnEndpointInput) GoString() string {
42649	return s.String()
42650}
42651
42652// Validate inspects the fields of the type to determine if they are valid.
42653func (s *DeleteClientVpnEndpointInput) Validate() error {
42654	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
42655	if s.ClientVpnEndpointId == nil {
42656		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
42657	}
42658
42659	if invalidParams.Len() > 0 {
42660		return invalidParams
42661	}
42662	return nil
42663}
42664
42665// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
42666func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
42667	s.ClientVpnEndpointId = &v
42668	return s
42669}
42670
42671// SetDryRun sets the DryRun field's value.
42672func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
42673	s.DryRun = &v
42674	return s
42675}
42676
42677type DeleteClientVpnEndpointOutput struct {
42678	_ struct{} `type:"structure"`
42679
42680	// The current state of the Client VPN endpoint.
42681	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
42682}
42683
42684// String returns the string representation
42685func (s DeleteClientVpnEndpointOutput) String() string {
42686	return awsutil.Prettify(s)
42687}
42688
42689// GoString returns the string representation
42690func (s DeleteClientVpnEndpointOutput) GoString() string {
42691	return s.String()
42692}
42693
42694// SetStatus sets the Status field's value.
42695func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
42696	s.Status = v
42697	return s
42698}
42699
42700type DeleteClientVpnRouteInput struct {
42701	_ struct{} `type:"structure"`
42702
42703	// The ID of the Client VPN endpoint from which the route is to be deleted.
42704	//
42705	// ClientVpnEndpointId is a required field
42706	ClientVpnEndpointId *string `type:"string" required:"true"`
42707
42708	// The IPv4 address range, in CIDR notation, of the route to be deleted.
42709	//
42710	// DestinationCidrBlock is a required field
42711	DestinationCidrBlock *string `type:"string" required:"true"`
42712
42713	// Checks whether you have the required permissions for the action, without
42714	// actually making the request, and provides an error response. If you have
42715	// the required permissions, the error response is DryRunOperation. Otherwise,
42716	// it is UnauthorizedOperation.
42717	DryRun *bool `type:"boolean"`
42718
42719	// The ID of the target subnet used by the route.
42720	TargetVpcSubnetId *string `type:"string"`
42721}
42722
42723// String returns the string representation
42724func (s DeleteClientVpnRouteInput) String() string {
42725	return awsutil.Prettify(s)
42726}
42727
42728// GoString returns the string representation
42729func (s DeleteClientVpnRouteInput) GoString() string {
42730	return s.String()
42731}
42732
42733// Validate inspects the fields of the type to determine if they are valid.
42734func (s *DeleteClientVpnRouteInput) Validate() error {
42735	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
42736	if s.ClientVpnEndpointId == nil {
42737		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
42738	}
42739	if s.DestinationCidrBlock == nil {
42740		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
42741	}
42742
42743	if invalidParams.Len() > 0 {
42744		return invalidParams
42745	}
42746	return nil
42747}
42748
42749// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
42750func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
42751	s.ClientVpnEndpointId = &v
42752	return s
42753}
42754
42755// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
42756func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
42757	s.DestinationCidrBlock = &v
42758	return s
42759}
42760
42761// SetDryRun sets the DryRun field's value.
42762func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
42763	s.DryRun = &v
42764	return s
42765}
42766
42767// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
42768func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
42769	s.TargetVpcSubnetId = &v
42770	return s
42771}
42772
42773type DeleteClientVpnRouteOutput struct {
42774	_ struct{} `type:"structure"`
42775
42776	// The current state of the route.
42777	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
42778}
42779
42780// String returns the string representation
42781func (s DeleteClientVpnRouteOutput) String() string {
42782	return awsutil.Prettify(s)
42783}
42784
42785// GoString returns the string representation
42786func (s DeleteClientVpnRouteOutput) GoString() string {
42787	return s.String()
42788}
42789
42790// SetStatus sets the Status field's value.
42791func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
42792	s.Status = v
42793	return s
42794}
42795
42796// Contains the parameters for DeleteCustomerGateway.
42797type DeleteCustomerGatewayInput struct {
42798	_ struct{} `type:"structure"`
42799
42800	// The ID of the customer gateway.
42801	//
42802	// CustomerGatewayId is a required field
42803	CustomerGatewayId *string `type:"string" required:"true"`
42804
42805	// Checks whether you have the required permissions for the action, without
42806	// actually making the request, and provides an error response. If you have
42807	// the required permissions, the error response is DryRunOperation. Otherwise,
42808	// it is UnauthorizedOperation.
42809	DryRun *bool `locationName:"dryRun" type:"boolean"`
42810}
42811
42812// String returns the string representation
42813func (s DeleteCustomerGatewayInput) String() string {
42814	return awsutil.Prettify(s)
42815}
42816
42817// GoString returns the string representation
42818func (s DeleteCustomerGatewayInput) GoString() string {
42819	return s.String()
42820}
42821
42822// Validate inspects the fields of the type to determine if they are valid.
42823func (s *DeleteCustomerGatewayInput) Validate() error {
42824	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
42825	if s.CustomerGatewayId == nil {
42826		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
42827	}
42828
42829	if invalidParams.Len() > 0 {
42830		return invalidParams
42831	}
42832	return nil
42833}
42834
42835// SetCustomerGatewayId sets the CustomerGatewayId field's value.
42836func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
42837	s.CustomerGatewayId = &v
42838	return s
42839}
42840
42841// SetDryRun sets the DryRun field's value.
42842func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
42843	s.DryRun = &v
42844	return s
42845}
42846
42847type DeleteCustomerGatewayOutput struct {
42848	_ struct{} `type:"structure"`
42849}
42850
42851// String returns the string representation
42852func (s DeleteCustomerGatewayOutput) String() string {
42853	return awsutil.Prettify(s)
42854}
42855
42856// GoString returns the string representation
42857func (s DeleteCustomerGatewayOutput) GoString() string {
42858	return s.String()
42859}
42860
42861type DeleteDhcpOptionsInput struct {
42862	_ struct{} `type:"structure"`
42863
42864	// The ID of the DHCP options set.
42865	//
42866	// DhcpOptionsId is a required field
42867	DhcpOptionsId *string `type:"string" required:"true"`
42868
42869	// Checks whether you have the required permissions for the action, without
42870	// actually making the request, and provides an error response. If you have
42871	// the required permissions, the error response is DryRunOperation. Otherwise,
42872	// it is UnauthorizedOperation.
42873	DryRun *bool `locationName:"dryRun" type:"boolean"`
42874}
42875
42876// String returns the string representation
42877func (s DeleteDhcpOptionsInput) String() string {
42878	return awsutil.Prettify(s)
42879}
42880
42881// GoString returns the string representation
42882func (s DeleteDhcpOptionsInput) GoString() string {
42883	return s.String()
42884}
42885
42886// Validate inspects the fields of the type to determine if they are valid.
42887func (s *DeleteDhcpOptionsInput) Validate() error {
42888	invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
42889	if s.DhcpOptionsId == nil {
42890		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
42891	}
42892
42893	if invalidParams.Len() > 0 {
42894		return invalidParams
42895	}
42896	return nil
42897}
42898
42899// SetDhcpOptionsId sets the DhcpOptionsId field's value.
42900func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
42901	s.DhcpOptionsId = &v
42902	return s
42903}
42904
42905// SetDryRun sets the DryRun field's value.
42906func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
42907	s.DryRun = &v
42908	return s
42909}
42910
42911type DeleteDhcpOptionsOutput struct {
42912	_ struct{} `type:"structure"`
42913}
42914
42915// String returns the string representation
42916func (s DeleteDhcpOptionsOutput) String() string {
42917	return awsutil.Prettify(s)
42918}
42919
42920// GoString returns the string representation
42921func (s DeleteDhcpOptionsOutput) GoString() string {
42922	return s.String()
42923}
42924
42925type DeleteEgressOnlyInternetGatewayInput struct {
42926	_ struct{} `type:"structure"`
42927
42928	// Checks whether you have the required permissions for the action, without
42929	// actually making the request, and provides an error response. If you have
42930	// the required permissions, the error response is DryRunOperation. Otherwise,
42931	// it is UnauthorizedOperation.
42932	DryRun *bool `type:"boolean"`
42933
42934	// The ID of the egress-only internet gateway.
42935	//
42936	// EgressOnlyInternetGatewayId is a required field
42937	EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
42938}
42939
42940// String returns the string representation
42941func (s DeleteEgressOnlyInternetGatewayInput) String() string {
42942	return awsutil.Prettify(s)
42943}
42944
42945// GoString returns the string representation
42946func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
42947	return s.String()
42948}
42949
42950// Validate inspects the fields of the type to determine if they are valid.
42951func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
42952	invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
42953	if s.EgressOnlyInternetGatewayId == nil {
42954		invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
42955	}
42956
42957	if invalidParams.Len() > 0 {
42958		return invalidParams
42959	}
42960	return nil
42961}
42962
42963// SetDryRun sets the DryRun field's value.
42964func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
42965	s.DryRun = &v
42966	return s
42967}
42968
42969// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
42970func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
42971	s.EgressOnlyInternetGatewayId = &v
42972	return s
42973}
42974
42975type DeleteEgressOnlyInternetGatewayOutput struct {
42976	_ struct{} `type:"structure"`
42977
42978	// Returns true if the request succeeds; otherwise, it returns an error.
42979	ReturnCode *bool `locationName:"returnCode" type:"boolean"`
42980}
42981
42982// String returns the string representation
42983func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
42984	return awsutil.Prettify(s)
42985}
42986
42987// GoString returns the string representation
42988func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
42989	return s.String()
42990}
42991
42992// SetReturnCode sets the ReturnCode field's value.
42993func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
42994	s.ReturnCode = &v
42995	return s
42996}
42997
42998// Describes an EC2 Fleet error.
42999type DeleteFleetError struct {
43000	_ struct{} `type:"structure"`
43001
43002	// The error code.
43003	Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
43004
43005	// The description for the error code.
43006	Message *string `locationName:"message" type:"string"`
43007}
43008
43009// String returns the string representation
43010func (s DeleteFleetError) String() string {
43011	return awsutil.Prettify(s)
43012}
43013
43014// GoString returns the string representation
43015func (s DeleteFleetError) GoString() string {
43016	return s.String()
43017}
43018
43019// SetCode sets the Code field's value.
43020func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
43021	s.Code = &v
43022	return s
43023}
43024
43025// SetMessage sets the Message field's value.
43026func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
43027	s.Message = &v
43028	return s
43029}
43030
43031// Describes an EC2 Fleet that was not successfully deleted.
43032type DeleteFleetErrorItem struct {
43033	_ struct{} `type:"structure"`
43034
43035	// The error.
43036	Error *DeleteFleetError `locationName:"error" type:"structure"`
43037
43038	// The ID of the EC2 Fleet.
43039	FleetId *string `locationName:"fleetId" type:"string"`
43040}
43041
43042// String returns the string representation
43043func (s DeleteFleetErrorItem) String() string {
43044	return awsutil.Prettify(s)
43045}
43046
43047// GoString returns the string representation
43048func (s DeleteFleetErrorItem) GoString() string {
43049	return s.String()
43050}
43051
43052// SetError sets the Error field's value.
43053func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
43054	s.Error = v
43055	return s
43056}
43057
43058// SetFleetId sets the FleetId field's value.
43059func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
43060	s.FleetId = &v
43061	return s
43062}
43063
43064// Describes an EC2 Fleet that was successfully deleted.
43065type DeleteFleetSuccessItem struct {
43066	_ struct{} `type:"structure"`
43067
43068	// The current state of the EC2 Fleet.
43069	CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
43070
43071	// The ID of the EC2 Fleet.
43072	FleetId *string `locationName:"fleetId" type:"string"`
43073
43074	// The previous state of the EC2 Fleet.
43075	PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
43076}
43077
43078// String returns the string representation
43079func (s DeleteFleetSuccessItem) String() string {
43080	return awsutil.Prettify(s)
43081}
43082
43083// GoString returns the string representation
43084func (s DeleteFleetSuccessItem) GoString() string {
43085	return s.String()
43086}
43087
43088// SetCurrentFleetState sets the CurrentFleetState field's value.
43089func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
43090	s.CurrentFleetState = &v
43091	return s
43092}
43093
43094// SetFleetId sets the FleetId field's value.
43095func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
43096	s.FleetId = &v
43097	return s
43098}
43099
43100// SetPreviousFleetState sets the PreviousFleetState field's value.
43101func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
43102	s.PreviousFleetState = &v
43103	return s
43104}
43105
43106type DeleteFleetsInput struct {
43107	_ struct{} `type:"structure"`
43108
43109	// Checks whether you have the required permissions for the action, without
43110	// actually making the request, and provides an error response. If you have
43111	// the required permissions, the error response is DryRunOperation. Otherwise,
43112	// it is UnauthorizedOperation.
43113	DryRun *bool `type:"boolean"`
43114
43115	// The IDs of the EC2 Fleets.
43116	//
43117	// FleetIds is a required field
43118	FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
43119
43120	// Indicates whether to terminate instances for an EC2 Fleet if it is deleted
43121	// successfully.
43122	//
43123	// TerminateInstances is a required field
43124	TerminateInstances *bool `type:"boolean" required:"true"`
43125}
43126
43127// String returns the string representation
43128func (s DeleteFleetsInput) String() string {
43129	return awsutil.Prettify(s)
43130}
43131
43132// GoString returns the string representation
43133func (s DeleteFleetsInput) GoString() string {
43134	return s.String()
43135}
43136
43137// Validate inspects the fields of the type to determine if they are valid.
43138func (s *DeleteFleetsInput) Validate() error {
43139	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
43140	if s.FleetIds == nil {
43141		invalidParams.Add(request.NewErrParamRequired("FleetIds"))
43142	}
43143	if s.TerminateInstances == nil {
43144		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
43145	}
43146
43147	if invalidParams.Len() > 0 {
43148		return invalidParams
43149	}
43150	return nil
43151}
43152
43153// SetDryRun sets the DryRun field's value.
43154func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
43155	s.DryRun = &v
43156	return s
43157}
43158
43159// SetFleetIds sets the FleetIds field's value.
43160func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
43161	s.FleetIds = v
43162	return s
43163}
43164
43165// SetTerminateInstances sets the TerminateInstances field's value.
43166func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
43167	s.TerminateInstances = &v
43168	return s
43169}
43170
43171type DeleteFleetsOutput struct {
43172	_ struct{} `type:"structure"`
43173
43174	// Information about the EC2 Fleets that are successfully deleted.
43175	SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
43176
43177	// Information about the EC2 Fleets that are not successfully deleted.
43178	UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
43179}
43180
43181// String returns the string representation
43182func (s DeleteFleetsOutput) String() string {
43183	return awsutil.Prettify(s)
43184}
43185
43186// GoString returns the string representation
43187func (s DeleteFleetsOutput) GoString() string {
43188	return s.String()
43189}
43190
43191// SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
43192func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
43193	s.SuccessfulFleetDeletions = v
43194	return s
43195}
43196
43197// SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
43198func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
43199	s.UnsuccessfulFleetDeletions = v
43200	return s
43201}
43202
43203type DeleteFlowLogsInput struct {
43204	_ struct{} `type:"structure"`
43205
43206	// Checks whether you have the required permissions for the action, without
43207	// actually making the request, and provides an error response. If you have
43208	// the required permissions, the error response is DryRunOperation. Otherwise,
43209	// it is UnauthorizedOperation.
43210	DryRun *bool `type:"boolean"`
43211
43212	// One or more flow log IDs.
43213	//
43214	// FlowLogIds is a required field
43215	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
43216}
43217
43218// String returns the string representation
43219func (s DeleteFlowLogsInput) String() string {
43220	return awsutil.Prettify(s)
43221}
43222
43223// GoString returns the string representation
43224func (s DeleteFlowLogsInput) GoString() string {
43225	return s.String()
43226}
43227
43228// Validate inspects the fields of the type to determine if they are valid.
43229func (s *DeleteFlowLogsInput) Validate() error {
43230	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
43231	if s.FlowLogIds == nil {
43232		invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
43233	}
43234
43235	if invalidParams.Len() > 0 {
43236		return invalidParams
43237	}
43238	return nil
43239}
43240
43241// SetDryRun sets the DryRun field's value.
43242func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
43243	s.DryRun = &v
43244	return s
43245}
43246
43247// SetFlowLogIds sets the FlowLogIds field's value.
43248func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
43249	s.FlowLogIds = v
43250	return s
43251}
43252
43253type DeleteFlowLogsOutput struct {
43254	_ struct{} `type:"structure"`
43255
43256	// Information about the flow logs that could not be deleted successfully.
43257	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
43258}
43259
43260// String returns the string representation
43261func (s DeleteFlowLogsOutput) String() string {
43262	return awsutil.Prettify(s)
43263}
43264
43265// GoString returns the string representation
43266func (s DeleteFlowLogsOutput) GoString() string {
43267	return s.String()
43268}
43269
43270// SetUnsuccessful sets the Unsuccessful field's value.
43271func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
43272	s.Unsuccessful = v
43273	return s
43274}
43275
43276type DeleteFpgaImageInput struct {
43277	_ struct{} `type:"structure"`
43278
43279	// Checks whether you have the required permissions for the action, without
43280	// actually making the request, and provides an error response. If you have
43281	// the required permissions, the error response is DryRunOperation. Otherwise,
43282	// it is UnauthorizedOperation.
43283	DryRun *bool `type:"boolean"`
43284
43285	// The ID of the AFI.
43286	//
43287	// FpgaImageId is a required field
43288	FpgaImageId *string `type:"string" required:"true"`
43289}
43290
43291// String returns the string representation
43292func (s DeleteFpgaImageInput) String() string {
43293	return awsutil.Prettify(s)
43294}
43295
43296// GoString returns the string representation
43297func (s DeleteFpgaImageInput) GoString() string {
43298	return s.String()
43299}
43300
43301// Validate inspects the fields of the type to determine if they are valid.
43302func (s *DeleteFpgaImageInput) Validate() error {
43303	invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
43304	if s.FpgaImageId == nil {
43305		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
43306	}
43307
43308	if invalidParams.Len() > 0 {
43309		return invalidParams
43310	}
43311	return nil
43312}
43313
43314// SetDryRun sets the DryRun field's value.
43315func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
43316	s.DryRun = &v
43317	return s
43318}
43319
43320// SetFpgaImageId sets the FpgaImageId field's value.
43321func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
43322	s.FpgaImageId = &v
43323	return s
43324}
43325
43326type DeleteFpgaImageOutput struct {
43327	_ struct{} `type:"structure"`
43328
43329	// Is true if the request succeeds, and an error otherwise.
43330	Return *bool `locationName:"return" type:"boolean"`
43331}
43332
43333// String returns the string representation
43334func (s DeleteFpgaImageOutput) String() string {
43335	return awsutil.Prettify(s)
43336}
43337
43338// GoString returns the string representation
43339func (s DeleteFpgaImageOutput) GoString() string {
43340	return s.String()
43341}
43342
43343// SetReturn sets the Return field's value.
43344func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
43345	s.Return = &v
43346	return s
43347}
43348
43349type DeleteInternetGatewayInput struct {
43350	_ struct{} `type:"structure"`
43351
43352	// Checks whether you have the required permissions for the action, without
43353	// actually making the request, and provides an error response. If you have
43354	// the required permissions, the error response is DryRunOperation. Otherwise,
43355	// it is UnauthorizedOperation.
43356	DryRun *bool `locationName:"dryRun" type:"boolean"`
43357
43358	// The ID of the internet gateway.
43359	//
43360	// InternetGatewayId is a required field
43361	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
43362}
43363
43364// String returns the string representation
43365func (s DeleteInternetGatewayInput) String() string {
43366	return awsutil.Prettify(s)
43367}
43368
43369// GoString returns the string representation
43370func (s DeleteInternetGatewayInput) GoString() string {
43371	return s.String()
43372}
43373
43374// Validate inspects the fields of the type to determine if they are valid.
43375func (s *DeleteInternetGatewayInput) Validate() error {
43376	invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
43377	if s.InternetGatewayId == nil {
43378		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
43379	}
43380
43381	if invalidParams.Len() > 0 {
43382		return invalidParams
43383	}
43384	return nil
43385}
43386
43387// SetDryRun sets the DryRun field's value.
43388func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
43389	s.DryRun = &v
43390	return s
43391}
43392
43393// SetInternetGatewayId sets the InternetGatewayId field's value.
43394func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
43395	s.InternetGatewayId = &v
43396	return s
43397}
43398
43399type DeleteInternetGatewayOutput struct {
43400	_ struct{} `type:"structure"`
43401}
43402
43403// String returns the string representation
43404func (s DeleteInternetGatewayOutput) String() string {
43405	return awsutil.Prettify(s)
43406}
43407
43408// GoString returns the string representation
43409func (s DeleteInternetGatewayOutput) GoString() string {
43410	return s.String()
43411}
43412
43413type DeleteKeyPairInput struct {
43414	_ struct{} `type:"structure"`
43415
43416	// Checks whether you have the required permissions for the action, without
43417	// actually making the request, and provides an error response. If you have
43418	// the required permissions, the error response is DryRunOperation. Otherwise,
43419	// it is UnauthorizedOperation.
43420	DryRun *bool `locationName:"dryRun" type:"boolean"`
43421
43422	// The name of the key pair.
43423	//
43424	// KeyName is a required field
43425	KeyName *string `type:"string" required:"true"`
43426}
43427
43428// String returns the string representation
43429func (s DeleteKeyPairInput) String() string {
43430	return awsutil.Prettify(s)
43431}
43432
43433// GoString returns the string representation
43434func (s DeleteKeyPairInput) GoString() string {
43435	return s.String()
43436}
43437
43438// Validate inspects the fields of the type to determine if they are valid.
43439func (s *DeleteKeyPairInput) Validate() error {
43440	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
43441	if s.KeyName == nil {
43442		invalidParams.Add(request.NewErrParamRequired("KeyName"))
43443	}
43444
43445	if invalidParams.Len() > 0 {
43446		return invalidParams
43447	}
43448	return nil
43449}
43450
43451// SetDryRun sets the DryRun field's value.
43452func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
43453	s.DryRun = &v
43454	return s
43455}
43456
43457// SetKeyName sets the KeyName field's value.
43458func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
43459	s.KeyName = &v
43460	return s
43461}
43462
43463type DeleteKeyPairOutput struct {
43464	_ struct{} `type:"structure"`
43465}
43466
43467// String returns the string representation
43468func (s DeleteKeyPairOutput) String() string {
43469	return awsutil.Prettify(s)
43470}
43471
43472// GoString returns the string representation
43473func (s DeleteKeyPairOutput) GoString() string {
43474	return s.String()
43475}
43476
43477type DeleteLaunchTemplateInput struct {
43478	_ struct{} `type:"structure"`
43479
43480	// Checks whether you have the required permissions for the action, without
43481	// actually making the request, and provides an error response. If you have
43482	// the required permissions, the error response is DryRunOperation. Otherwise,
43483	// it is UnauthorizedOperation.
43484	DryRun *bool `type:"boolean"`
43485
43486	// The ID of the launch template. You must specify either the launch template
43487	// ID or launch template name in the request.
43488	LaunchTemplateId *string `type:"string"`
43489
43490	// The name of the launch template. You must specify either the launch template
43491	// ID or launch template name in the request.
43492	LaunchTemplateName *string `min:"3" type:"string"`
43493}
43494
43495// String returns the string representation
43496func (s DeleteLaunchTemplateInput) String() string {
43497	return awsutil.Prettify(s)
43498}
43499
43500// GoString returns the string representation
43501func (s DeleteLaunchTemplateInput) GoString() string {
43502	return s.String()
43503}
43504
43505// Validate inspects the fields of the type to determine if they are valid.
43506func (s *DeleteLaunchTemplateInput) Validate() error {
43507	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
43508	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
43509		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
43510	}
43511
43512	if invalidParams.Len() > 0 {
43513		return invalidParams
43514	}
43515	return nil
43516}
43517
43518// SetDryRun sets the DryRun field's value.
43519func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
43520	s.DryRun = &v
43521	return s
43522}
43523
43524// SetLaunchTemplateId sets the LaunchTemplateId field's value.
43525func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
43526	s.LaunchTemplateId = &v
43527	return s
43528}
43529
43530// SetLaunchTemplateName sets the LaunchTemplateName field's value.
43531func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
43532	s.LaunchTemplateName = &v
43533	return s
43534}
43535
43536type DeleteLaunchTemplateOutput struct {
43537	_ struct{} `type:"structure"`
43538
43539	// Information about the launch template.
43540	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
43541}
43542
43543// String returns the string representation
43544func (s DeleteLaunchTemplateOutput) String() string {
43545	return awsutil.Prettify(s)
43546}
43547
43548// GoString returns the string representation
43549func (s DeleteLaunchTemplateOutput) GoString() string {
43550	return s.String()
43551}
43552
43553// SetLaunchTemplate sets the LaunchTemplate field's value.
43554func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
43555	s.LaunchTemplate = v
43556	return s
43557}
43558
43559type DeleteLaunchTemplateVersionsInput struct {
43560	_ struct{} `type:"structure"`
43561
43562	// Checks whether you have the required permissions for the action, without
43563	// actually making the request, and provides an error response. If you have
43564	// the required permissions, the error response is DryRunOperation. Otherwise,
43565	// it is UnauthorizedOperation.
43566	DryRun *bool `type:"boolean"`
43567
43568	// The ID of the launch template. You must specify either the launch template
43569	// ID or launch template name in the request.
43570	LaunchTemplateId *string `type:"string"`
43571
43572	// The name of the launch template. You must specify either the launch template
43573	// ID or launch template name in the request.
43574	LaunchTemplateName *string `min:"3" type:"string"`
43575
43576	// The version numbers of one or more launch template versions to delete.
43577	//
43578	// Versions is a required field
43579	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
43580}
43581
43582// String returns the string representation
43583func (s DeleteLaunchTemplateVersionsInput) String() string {
43584	return awsutil.Prettify(s)
43585}
43586
43587// GoString returns the string representation
43588func (s DeleteLaunchTemplateVersionsInput) GoString() string {
43589	return s.String()
43590}
43591
43592// Validate inspects the fields of the type to determine if they are valid.
43593func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
43594	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
43595	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
43596		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
43597	}
43598	if s.Versions == nil {
43599		invalidParams.Add(request.NewErrParamRequired("Versions"))
43600	}
43601
43602	if invalidParams.Len() > 0 {
43603		return invalidParams
43604	}
43605	return nil
43606}
43607
43608// SetDryRun sets the DryRun field's value.
43609func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
43610	s.DryRun = &v
43611	return s
43612}
43613
43614// SetLaunchTemplateId sets the LaunchTemplateId field's value.
43615func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
43616	s.LaunchTemplateId = &v
43617	return s
43618}
43619
43620// SetLaunchTemplateName sets the LaunchTemplateName field's value.
43621func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
43622	s.LaunchTemplateName = &v
43623	return s
43624}
43625
43626// SetVersions sets the Versions field's value.
43627func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
43628	s.Versions = v
43629	return s
43630}
43631
43632type DeleteLaunchTemplateVersionsOutput struct {
43633	_ struct{} `type:"structure"`
43634
43635	// Information about the launch template versions that were successfully deleted.
43636	SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
43637
43638	// Information about the launch template versions that could not be deleted.
43639	UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
43640}
43641
43642// String returns the string representation
43643func (s DeleteLaunchTemplateVersionsOutput) String() string {
43644	return awsutil.Prettify(s)
43645}
43646
43647// GoString returns the string representation
43648func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
43649	return s.String()
43650}
43651
43652// SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
43653func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
43654	s.SuccessfullyDeletedLaunchTemplateVersions = v
43655	return s
43656}
43657
43658// SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
43659func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
43660	s.UnsuccessfullyDeletedLaunchTemplateVersions = v
43661	return s
43662}
43663
43664// Describes a launch template version that could not be deleted.
43665type DeleteLaunchTemplateVersionsResponseErrorItem struct {
43666	_ struct{} `type:"structure"`
43667
43668	// The ID of the launch template.
43669	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
43670
43671	// The name of the launch template.
43672	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
43673
43674	// Information about the error.
43675	ResponseError *ResponseError `locationName:"responseError" type:"structure"`
43676
43677	// The version number of the launch template.
43678	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
43679}
43680
43681// String returns the string representation
43682func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
43683	return awsutil.Prettify(s)
43684}
43685
43686// GoString returns the string representation
43687func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
43688	return s.String()
43689}
43690
43691// SetLaunchTemplateId sets the LaunchTemplateId field's value.
43692func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
43693	s.LaunchTemplateId = &v
43694	return s
43695}
43696
43697// SetLaunchTemplateName sets the LaunchTemplateName field's value.
43698func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
43699	s.LaunchTemplateName = &v
43700	return s
43701}
43702
43703// SetResponseError sets the ResponseError field's value.
43704func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
43705	s.ResponseError = v
43706	return s
43707}
43708
43709// SetVersionNumber sets the VersionNumber field's value.
43710func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
43711	s.VersionNumber = &v
43712	return s
43713}
43714
43715// Describes a launch template version that was successfully deleted.
43716type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
43717	_ struct{} `type:"structure"`
43718
43719	// The ID of the launch template.
43720	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
43721
43722	// The name of the launch template.
43723	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
43724
43725	// The version number of the launch template.
43726	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
43727}
43728
43729// String returns the string representation
43730func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
43731	return awsutil.Prettify(s)
43732}
43733
43734// GoString returns the string representation
43735func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
43736	return s.String()
43737}
43738
43739// SetLaunchTemplateId sets the LaunchTemplateId field's value.
43740func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
43741	s.LaunchTemplateId = &v
43742	return s
43743}
43744
43745// SetLaunchTemplateName sets the LaunchTemplateName field's value.
43746func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
43747	s.LaunchTemplateName = &v
43748	return s
43749}
43750
43751// SetVersionNumber sets the VersionNumber field's value.
43752func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
43753	s.VersionNumber = &v
43754	return s
43755}
43756
43757type DeleteNatGatewayInput struct {
43758	_ struct{} `type:"structure"`
43759
43760	// The ID of the NAT gateway.
43761	//
43762	// NatGatewayId is a required field
43763	NatGatewayId *string `type:"string" required:"true"`
43764}
43765
43766// String returns the string representation
43767func (s DeleteNatGatewayInput) String() string {
43768	return awsutil.Prettify(s)
43769}
43770
43771// GoString returns the string representation
43772func (s DeleteNatGatewayInput) GoString() string {
43773	return s.String()
43774}
43775
43776// Validate inspects the fields of the type to determine if they are valid.
43777func (s *DeleteNatGatewayInput) Validate() error {
43778	invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
43779	if s.NatGatewayId == nil {
43780		invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
43781	}
43782
43783	if invalidParams.Len() > 0 {
43784		return invalidParams
43785	}
43786	return nil
43787}
43788
43789// SetNatGatewayId sets the NatGatewayId field's value.
43790func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
43791	s.NatGatewayId = &v
43792	return s
43793}
43794
43795type DeleteNatGatewayOutput struct {
43796	_ struct{} `type:"structure"`
43797
43798	// The ID of the NAT gateway.
43799	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
43800}
43801
43802// String returns the string representation
43803func (s DeleteNatGatewayOutput) String() string {
43804	return awsutil.Prettify(s)
43805}
43806
43807// GoString returns the string representation
43808func (s DeleteNatGatewayOutput) GoString() string {
43809	return s.String()
43810}
43811
43812// SetNatGatewayId sets the NatGatewayId field's value.
43813func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
43814	s.NatGatewayId = &v
43815	return s
43816}
43817
43818type DeleteNetworkAclEntryInput struct {
43819	_ struct{} `type:"structure"`
43820
43821	// Checks whether you have the required permissions for the action, without
43822	// actually making the request, and provides an error response. If you have
43823	// the required permissions, the error response is DryRunOperation. Otherwise,
43824	// it is UnauthorizedOperation.
43825	DryRun *bool `locationName:"dryRun" type:"boolean"`
43826
43827	// Indicates whether the rule is an egress rule.
43828	//
43829	// Egress is a required field
43830	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
43831
43832	// The ID of the network ACL.
43833	//
43834	// NetworkAclId is a required field
43835	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
43836
43837	// The rule number of the entry to delete.
43838	//
43839	// RuleNumber is a required field
43840	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
43841}
43842
43843// String returns the string representation
43844func (s DeleteNetworkAclEntryInput) String() string {
43845	return awsutil.Prettify(s)
43846}
43847
43848// GoString returns the string representation
43849func (s DeleteNetworkAclEntryInput) GoString() string {
43850	return s.String()
43851}
43852
43853// Validate inspects the fields of the type to determine if they are valid.
43854func (s *DeleteNetworkAclEntryInput) Validate() error {
43855	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
43856	if s.Egress == nil {
43857		invalidParams.Add(request.NewErrParamRequired("Egress"))
43858	}
43859	if s.NetworkAclId == nil {
43860		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
43861	}
43862	if s.RuleNumber == nil {
43863		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
43864	}
43865
43866	if invalidParams.Len() > 0 {
43867		return invalidParams
43868	}
43869	return nil
43870}
43871
43872// SetDryRun sets the DryRun field's value.
43873func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
43874	s.DryRun = &v
43875	return s
43876}
43877
43878// SetEgress sets the Egress field's value.
43879func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
43880	s.Egress = &v
43881	return s
43882}
43883
43884// SetNetworkAclId sets the NetworkAclId field's value.
43885func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
43886	s.NetworkAclId = &v
43887	return s
43888}
43889
43890// SetRuleNumber sets the RuleNumber field's value.
43891func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
43892	s.RuleNumber = &v
43893	return s
43894}
43895
43896type DeleteNetworkAclEntryOutput struct {
43897	_ struct{} `type:"structure"`
43898}
43899
43900// String returns the string representation
43901func (s DeleteNetworkAclEntryOutput) String() string {
43902	return awsutil.Prettify(s)
43903}
43904
43905// GoString returns the string representation
43906func (s DeleteNetworkAclEntryOutput) GoString() string {
43907	return s.String()
43908}
43909
43910type DeleteNetworkAclInput struct {
43911	_ struct{} `type:"structure"`
43912
43913	// Checks whether you have the required permissions for the action, without
43914	// actually making the request, and provides an error response. If you have
43915	// the required permissions, the error response is DryRunOperation. Otherwise,
43916	// it is UnauthorizedOperation.
43917	DryRun *bool `locationName:"dryRun" type:"boolean"`
43918
43919	// The ID of the network ACL.
43920	//
43921	// NetworkAclId is a required field
43922	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
43923}
43924
43925// String returns the string representation
43926func (s DeleteNetworkAclInput) String() string {
43927	return awsutil.Prettify(s)
43928}
43929
43930// GoString returns the string representation
43931func (s DeleteNetworkAclInput) GoString() string {
43932	return s.String()
43933}
43934
43935// Validate inspects the fields of the type to determine if they are valid.
43936func (s *DeleteNetworkAclInput) Validate() error {
43937	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
43938	if s.NetworkAclId == nil {
43939		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
43940	}
43941
43942	if invalidParams.Len() > 0 {
43943		return invalidParams
43944	}
43945	return nil
43946}
43947
43948// SetDryRun sets the DryRun field's value.
43949func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
43950	s.DryRun = &v
43951	return s
43952}
43953
43954// SetNetworkAclId sets the NetworkAclId field's value.
43955func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
43956	s.NetworkAclId = &v
43957	return s
43958}
43959
43960type DeleteNetworkAclOutput struct {
43961	_ struct{} `type:"structure"`
43962}
43963
43964// String returns the string representation
43965func (s DeleteNetworkAclOutput) String() string {
43966	return awsutil.Prettify(s)
43967}
43968
43969// GoString returns the string representation
43970func (s DeleteNetworkAclOutput) GoString() string {
43971	return s.String()
43972}
43973
43974// Contains the parameters for DeleteNetworkInterface.
43975type DeleteNetworkInterfaceInput struct {
43976	_ struct{} `type:"structure"`
43977
43978	// Checks whether you have the required permissions for the action, without
43979	// actually making the request, and provides an error response. If you have
43980	// the required permissions, the error response is DryRunOperation. Otherwise,
43981	// it is UnauthorizedOperation.
43982	DryRun *bool `locationName:"dryRun" type:"boolean"`
43983
43984	// The ID of the network interface.
43985	//
43986	// NetworkInterfaceId is a required field
43987	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
43988}
43989
43990// String returns the string representation
43991func (s DeleteNetworkInterfaceInput) String() string {
43992	return awsutil.Prettify(s)
43993}
43994
43995// GoString returns the string representation
43996func (s DeleteNetworkInterfaceInput) GoString() string {
43997	return s.String()
43998}
43999
44000// Validate inspects the fields of the type to determine if they are valid.
44001func (s *DeleteNetworkInterfaceInput) Validate() error {
44002	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
44003	if s.NetworkInterfaceId == nil {
44004		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
44005	}
44006
44007	if invalidParams.Len() > 0 {
44008		return invalidParams
44009	}
44010	return nil
44011}
44012
44013// SetDryRun sets the DryRun field's value.
44014func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
44015	s.DryRun = &v
44016	return s
44017}
44018
44019// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
44020func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
44021	s.NetworkInterfaceId = &v
44022	return s
44023}
44024
44025type DeleteNetworkInterfaceOutput struct {
44026	_ struct{} `type:"structure"`
44027}
44028
44029// String returns the string representation
44030func (s DeleteNetworkInterfaceOutput) String() string {
44031	return awsutil.Prettify(s)
44032}
44033
44034// GoString returns the string representation
44035func (s DeleteNetworkInterfaceOutput) GoString() string {
44036	return s.String()
44037}
44038
44039// Contains the parameters for DeleteNetworkInterfacePermission.
44040type DeleteNetworkInterfacePermissionInput struct {
44041	_ struct{} `type:"structure"`
44042
44043	// Checks whether you have the required permissions for the action, without
44044	// actually making the request, and provides an error response. If you have
44045	// the required permissions, the error response is DryRunOperation. Otherwise,
44046	// it is UnauthorizedOperation.
44047	DryRun *bool `type:"boolean"`
44048
44049	// Specify true to remove the permission even if the network interface is attached
44050	// to an instance.
44051	Force *bool `type:"boolean"`
44052
44053	// The ID of the network interface permission.
44054	//
44055	// NetworkInterfacePermissionId is a required field
44056	NetworkInterfacePermissionId *string `type:"string" required:"true"`
44057}
44058
44059// String returns the string representation
44060func (s DeleteNetworkInterfacePermissionInput) String() string {
44061	return awsutil.Prettify(s)
44062}
44063
44064// GoString returns the string representation
44065func (s DeleteNetworkInterfacePermissionInput) GoString() string {
44066	return s.String()
44067}
44068
44069// Validate inspects the fields of the type to determine if they are valid.
44070func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
44071	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
44072	if s.NetworkInterfacePermissionId == nil {
44073		invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
44074	}
44075
44076	if invalidParams.Len() > 0 {
44077		return invalidParams
44078	}
44079	return nil
44080}
44081
44082// SetDryRun sets the DryRun field's value.
44083func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
44084	s.DryRun = &v
44085	return s
44086}
44087
44088// SetForce sets the Force field's value.
44089func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
44090	s.Force = &v
44091	return s
44092}
44093
44094// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
44095func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
44096	s.NetworkInterfacePermissionId = &v
44097	return s
44098}
44099
44100// Contains the output for DeleteNetworkInterfacePermission.
44101type DeleteNetworkInterfacePermissionOutput struct {
44102	_ struct{} `type:"structure"`
44103
44104	// Returns true if the request succeeds, otherwise returns an error.
44105	Return *bool `locationName:"return" type:"boolean"`
44106}
44107
44108// String returns the string representation
44109func (s DeleteNetworkInterfacePermissionOutput) String() string {
44110	return awsutil.Prettify(s)
44111}
44112
44113// GoString returns the string representation
44114func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
44115	return s.String()
44116}
44117
44118// SetReturn sets the Return field's value.
44119func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
44120	s.Return = &v
44121	return s
44122}
44123
44124type DeletePlacementGroupInput struct {
44125	_ struct{} `type:"structure"`
44126
44127	// Checks whether you have the required permissions for the action, without
44128	// actually making the request, and provides an error response. If you have
44129	// the required permissions, the error response is DryRunOperation. Otherwise,
44130	// it is UnauthorizedOperation.
44131	DryRun *bool `locationName:"dryRun" type:"boolean"`
44132
44133	// The name of the placement group.
44134	//
44135	// GroupName is a required field
44136	GroupName *string `locationName:"groupName" type:"string" required:"true"`
44137}
44138
44139// String returns the string representation
44140func (s DeletePlacementGroupInput) String() string {
44141	return awsutil.Prettify(s)
44142}
44143
44144// GoString returns the string representation
44145func (s DeletePlacementGroupInput) GoString() string {
44146	return s.String()
44147}
44148
44149// Validate inspects the fields of the type to determine if they are valid.
44150func (s *DeletePlacementGroupInput) Validate() error {
44151	invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
44152	if s.GroupName == nil {
44153		invalidParams.Add(request.NewErrParamRequired("GroupName"))
44154	}
44155
44156	if invalidParams.Len() > 0 {
44157		return invalidParams
44158	}
44159	return nil
44160}
44161
44162// SetDryRun sets the DryRun field's value.
44163func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
44164	s.DryRun = &v
44165	return s
44166}
44167
44168// SetGroupName sets the GroupName field's value.
44169func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
44170	s.GroupName = &v
44171	return s
44172}
44173
44174type DeletePlacementGroupOutput struct {
44175	_ struct{} `type:"structure"`
44176}
44177
44178// String returns the string representation
44179func (s DeletePlacementGroupOutput) String() string {
44180	return awsutil.Prettify(s)
44181}
44182
44183// GoString returns the string representation
44184func (s DeletePlacementGroupOutput) GoString() string {
44185	return s.String()
44186}
44187
44188type DeleteRouteInput struct {
44189	_ struct{} `type:"structure"`
44190
44191	// The IPv4 CIDR range for the route. The value you specify must match the CIDR
44192	// for the route exactly.
44193	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
44194
44195	// The IPv6 CIDR range for the route. The value you specify must match the CIDR
44196	// for the route exactly.
44197	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
44198
44199	// Checks whether you have the required permissions for the action, without
44200	// actually making the request, and provides an error response. If you have
44201	// the required permissions, the error response is DryRunOperation. Otherwise,
44202	// it is UnauthorizedOperation.
44203	DryRun *bool `locationName:"dryRun" type:"boolean"`
44204
44205	// The ID of the route table.
44206	//
44207	// RouteTableId is a required field
44208	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
44209}
44210
44211// String returns the string representation
44212func (s DeleteRouteInput) String() string {
44213	return awsutil.Prettify(s)
44214}
44215
44216// GoString returns the string representation
44217func (s DeleteRouteInput) GoString() string {
44218	return s.String()
44219}
44220
44221// Validate inspects the fields of the type to determine if they are valid.
44222func (s *DeleteRouteInput) Validate() error {
44223	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
44224	if s.RouteTableId == nil {
44225		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
44226	}
44227
44228	if invalidParams.Len() > 0 {
44229		return invalidParams
44230	}
44231	return nil
44232}
44233
44234// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
44235func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
44236	s.DestinationCidrBlock = &v
44237	return s
44238}
44239
44240// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
44241func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
44242	s.DestinationIpv6CidrBlock = &v
44243	return s
44244}
44245
44246// SetDryRun sets the DryRun field's value.
44247func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
44248	s.DryRun = &v
44249	return s
44250}
44251
44252// SetRouteTableId sets the RouteTableId field's value.
44253func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
44254	s.RouteTableId = &v
44255	return s
44256}
44257
44258type DeleteRouteOutput struct {
44259	_ struct{} `type:"structure"`
44260}
44261
44262// String returns the string representation
44263func (s DeleteRouteOutput) String() string {
44264	return awsutil.Prettify(s)
44265}
44266
44267// GoString returns the string representation
44268func (s DeleteRouteOutput) GoString() string {
44269	return s.String()
44270}
44271
44272type DeleteRouteTableInput struct {
44273	_ struct{} `type:"structure"`
44274
44275	// Checks whether you have the required permissions for the action, without
44276	// actually making the request, and provides an error response. If you have
44277	// the required permissions, the error response is DryRunOperation. Otherwise,
44278	// it is UnauthorizedOperation.
44279	DryRun *bool `locationName:"dryRun" type:"boolean"`
44280
44281	// The ID of the route table.
44282	//
44283	// RouteTableId is a required field
44284	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
44285}
44286
44287// String returns the string representation
44288func (s DeleteRouteTableInput) String() string {
44289	return awsutil.Prettify(s)
44290}
44291
44292// GoString returns the string representation
44293func (s DeleteRouteTableInput) GoString() string {
44294	return s.String()
44295}
44296
44297// Validate inspects the fields of the type to determine if they are valid.
44298func (s *DeleteRouteTableInput) Validate() error {
44299	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
44300	if s.RouteTableId == nil {
44301		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
44302	}
44303
44304	if invalidParams.Len() > 0 {
44305		return invalidParams
44306	}
44307	return nil
44308}
44309
44310// SetDryRun sets the DryRun field's value.
44311func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
44312	s.DryRun = &v
44313	return s
44314}
44315
44316// SetRouteTableId sets the RouteTableId field's value.
44317func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
44318	s.RouteTableId = &v
44319	return s
44320}
44321
44322type DeleteRouteTableOutput struct {
44323	_ struct{} `type:"structure"`
44324}
44325
44326// String returns the string representation
44327func (s DeleteRouteTableOutput) String() string {
44328	return awsutil.Prettify(s)
44329}
44330
44331// GoString returns the string representation
44332func (s DeleteRouteTableOutput) GoString() string {
44333	return s.String()
44334}
44335
44336type DeleteSecurityGroupInput struct {
44337	_ struct{} `type:"structure"`
44338
44339	// Checks whether you have the required permissions for the action, without
44340	// actually making the request, and provides an error response. If you have
44341	// the required permissions, the error response is DryRunOperation. Otherwise,
44342	// it is UnauthorizedOperation.
44343	DryRun *bool `locationName:"dryRun" type:"boolean"`
44344
44345	// The ID of the security group. Required for a nondefault VPC.
44346	GroupId *string `type:"string"`
44347
44348	// [EC2-Classic, default VPC] The name of the security group. You can specify
44349	// either the security group name or the security group ID.
44350	GroupName *string `type:"string"`
44351}
44352
44353// String returns the string representation
44354func (s DeleteSecurityGroupInput) String() string {
44355	return awsutil.Prettify(s)
44356}
44357
44358// GoString returns the string representation
44359func (s DeleteSecurityGroupInput) GoString() string {
44360	return s.String()
44361}
44362
44363// SetDryRun sets the DryRun field's value.
44364func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
44365	s.DryRun = &v
44366	return s
44367}
44368
44369// SetGroupId sets the GroupId field's value.
44370func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
44371	s.GroupId = &v
44372	return s
44373}
44374
44375// SetGroupName sets the GroupName field's value.
44376func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
44377	s.GroupName = &v
44378	return s
44379}
44380
44381type DeleteSecurityGroupOutput struct {
44382	_ struct{} `type:"structure"`
44383}
44384
44385// String returns the string representation
44386func (s DeleteSecurityGroupOutput) String() string {
44387	return awsutil.Prettify(s)
44388}
44389
44390// GoString returns the string representation
44391func (s DeleteSecurityGroupOutput) GoString() string {
44392	return s.String()
44393}
44394
44395// Contains the parameters for DeleteSnapshot.
44396type DeleteSnapshotInput struct {
44397	_ struct{} `type:"structure"`
44398
44399	// Checks whether you have the required permissions for the action, without
44400	// actually making the request, and provides an error response. If you have
44401	// the required permissions, the error response is DryRunOperation. Otherwise,
44402	// it is UnauthorizedOperation.
44403	DryRun *bool `locationName:"dryRun" type:"boolean"`
44404
44405	// The ID of the EBS snapshot.
44406	//
44407	// SnapshotId is a required field
44408	SnapshotId *string `type:"string" required:"true"`
44409}
44410
44411// String returns the string representation
44412func (s DeleteSnapshotInput) String() string {
44413	return awsutil.Prettify(s)
44414}
44415
44416// GoString returns the string representation
44417func (s DeleteSnapshotInput) GoString() string {
44418	return s.String()
44419}
44420
44421// Validate inspects the fields of the type to determine if they are valid.
44422func (s *DeleteSnapshotInput) Validate() error {
44423	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
44424	if s.SnapshotId == nil {
44425		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
44426	}
44427
44428	if invalidParams.Len() > 0 {
44429		return invalidParams
44430	}
44431	return nil
44432}
44433
44434// SetDryRun sets the DryRun field's value.
44435func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
44436	s.DryRun = &v
44437	return s
44438}
44439
44440// SetSnapshotId sets the SnapshotId field's value.
44441func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
44442	s.SnapshotId = &v
44443	return s
44444}
44445
44446type DeleteSnapshotOutput struct {
44447	_ struct{} `type:"structure"`
44448}
44449
44450// String returns the string representation
44451func (s DeleteSnapshotOutput) String() string {
44452	return awsutil.Prettify(s)
44453}
44454
44455// GoString returns the string representation
44456func (s DeleteSnapshotOutput) GoString() string {
44457	return s.String()
44458}
44459
44460// Contains the parameters for DeleteSpotDatafeedSubscription.
44461type DeleteSpotDatafeedSubscriptionInput struct {
44462	_ struct{} `type:"structure"`
44463
44464	// Checks whether you have the required permissions for the action, without
44465	// actually making the request, and provides an error response. If you have
44466	// the required permissions, the error response is DryRunOperation. Otherwise,
44467	// it is UnauthorizedOperation.
44468	DryRun *bool `locationName:"dryRun" type:"boolean"`
44469}
44470
44471// String returns the string representation
44472func (s DeleteSpotDatafeedSubscriptionInput) String() string {
44473	return awsutil.Prettify(s)
44474}
44475
44476// GoString returns the string representation
44477func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
44478	return s.String()
44479}
44480
44481// SetDryRun sets the DryRun field's value.
44482func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
44483	s.DryRun = &v
44484	return s
44485}
44486
44487type DeleteSpotDatafeedSubscriptionOutput struct {
44488	_ struct{} `type:"structure"`
44489}
44490
44491// String returns the string representation
44492func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
44493	return awsutil.Prettify(s)
44494}
44495
44496// GoString returns the string representation
44497func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
44498	return s.String()
44499}
44500
44501type DeleteSubnetInput struct {
44502	_ struct{} `type:"structure"`
44503
44504	// Checks whether you have the required permissions for the action, without
44505	// actually making the request, and provides an error response. If you have
44506	// the required permissions, the error response is DryRunOperation. Otherwise,
44507	// it is UnauthorizedOperation.
44508	DryRun *bool `locationName:"dryRun" type:"boolean"`
44509
44510	// The ID of the subnet.
44511	//
44512	// SubnetId is a required field
44513	SubnetId *string `type:"string" required:"true"`
44514}
44515
44516// String returns the string representation
44517func (s DeleteSubnetInput) String() string {
44518	return awsutil.Prettify(s)
44519}
44520
44521// GoString returns the string representation
44522func (s DeleteSubnetInput) GoString() string {
44523	return s.String()
44524}
44525
44526// Validate inspects the fields of the type to determine if they are valid.
44527func (s *DeleteSubnetInput) Validate() error {
44528	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
44529	if s.SubnetId == nil {
44530		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
44531	}
44532
44533	if invalidParams.Len() > 0 {
44534		return invalidParams
44535	}
44536	return nil
44537}
44538
44539// SetDryRun sets the DryRun field's value.
44540func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
44541	s.DryRun = &v
44542	return s
44543}
44544
44545// SetSubnetId sets the SubnetId field's value.
44546func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
44547	s.SubnetId = &v
44548	return s
44549}
44550
44551type DeleteSubnetOutput struct {
44552	_ struct{} `type:"structure"`
44553}
44554
44555// String returns the string representation
44556func (s DeleteSubnetOutput) String() string {
44557	return awsutil.Prettify(s)
44558}
44559
44560// GoString returns the string representation
44561func (s DeleteSubnetOutput) GoString() string {
44562	return s.String()
44563}
44564
44565type DeleteTagsInput struct {
44566	_ struct{} `type:"structure"`
44567
44568	// Checks whether you have the required permissions for the action, without
44569	// actually making the request, and provides an error response. If you have
44570	// the required permissions, the error response is DryRunOperation. Otherwise,
44571	// it is UnauthorizedOperation.
44572	DryRun *bool `locationName:"dryRun" type:"boolean"`
44573
44574	// The IDs of the resources, separated by spaces.
44575	//
44576	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
44577	// into smaller batches.
44578	//
44579	// Resources is a required field
44580	Resources []*string `locationName:"resourceId" type:"list" required:"true"`
44581
44582	// The tags to delete. Specify a tag key and an optional tag value to delete
44583	// specific tags. If you specify a tag key without a tag value, we delete any
44584	// tag with this key regardless of its value. If you specify a tag key with
44585	// an empty string as the tag value, we delete the tag only if its value is
44586	// an empty string.
44587	//
44588	// If you omit this parameter, we delete all user-defined tags for the specified
44589	// resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
44590	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
44591}
44592
44593// String returns the string representation
44594func (s DeleteTagsInput) String() string {
44595	return awsutil.Prettify(s)
44596}
44597
44598// GoString returns the string representation
44599func (s DeleteTagsInput) GoString() string {
44600	return s.String()
44601}
44602
44603// Validate inspects the fields of the type to determine if they are valid.
44604func (s *DeleteTagsInput) Validate() error {
44605	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
44606	if s.Resources == nil {
44607		invalidParams.Add(request.NewErrParamRequired("Resources"))
44608	}
44609
44610	if invalidParams.Len() > 0 {
44611		return invalidParams
44612	}
44613	return nil
44614}
44615
44616// SetDryRun sets the DryRun field's value.
44617func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
44618	s.DryRun = &v
44619	return s
44620}
44621
44622// SetResources sets the Resources field's value.
44623func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
44624	s.Resources = v
44625	return s
44626}
44627
44628// SetTags sets the Tags field's value.
44629func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
44630	s.Tags = v
44631	return s
44632}
44633
44634type DeleteTagsOutput struct {
44635	_ struct{} `type:"structure"`
44636}
44637
44638// String returns the string representation
44639func (s DeleteTagsOutput) String() string {
44640	return awsutil.Prettify(s)
44641}
44642
44643// GoString returns the string representation
44644func (s DeleteTagsOutput) GoString() string {
44645	return s.String()
44646}
44647
44648type DeleteTransitGatewayInput struct {
44649	_ struct{} `type:"structure"`
44650
44651	// Checks whether you have the required permissions for the action, without
44652	// actually making the request, and provides an error response. If you have
44653	// the required permissions, the error response is DryRunOperation. Otherwise,
44654	// it is UnauthorizedOperation.
44655	DryRun *bool `type:"boolean"`
44656
44657	// The ID of the transit gateway.
44658	//
44659	// TransitGatewayId is a required field
44660	TransitGatewayId *string `type:"string" required:"true"`
44661}
44662
44663// String returns the string representation
44664func (s DeleteTransitGatewayInput) String() string {
44665	return awsutil.Prettify(s)
44666}
44667
44668// GoString returns the string representation
44669func (s DeleteTransitGatewayInput) GoString() string {
44670	return s.String()
44671}
44672
44673// Validate inspects the fields of the type to determine if they are valid.
44674func (s *DeleteTransitGatewayInput) Validate() error {
44675	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
44676	if s.TransitGatewayId == nil {
44677		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
44678	}
44679
44680	if invalidParams.Len() > 0 {
44681		return invalidParams
44682	}
44683	return nil
44684}
44685
44686// SetDryRun sets the DryRun field's value.
44687func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
44688	s.DryRun = &v
44689	return s
44690}
44691
44692// SetTransitGatewayId sets the TransitGatewayId field's value.
44693func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
44694	s.TransitGatewayId = &v
44695	return s
44696}
44697
44698type DeleteTransitGatewayOutput struct {
44699	_ struct{} `type:"structure"`
44700
44701	// Information about the deleted transit gateway.
44702	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
44703}
44704
44705// String returns the string representation
44706func (s DeleteTransitGatewayOutput) String() string {
44707	return awsutil.Prettify(s)
44708}
44709
44710// GoString returns the string representation
44711func (s DeleteTransitGatewayOutput) GoString() string {
44712	return s.String()
44713}
44714
44715// SetTransitGateway sets the TransitGateway field's value.
44716func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
44717	s.TransitGateway = v
44718	return s
44719}
44720
44721type DeleteTransitGatewayRouteInput struct {
44722	_ struct{} `type:"structure"`
44723
44724	// The CIDR range for the route. This must match the CIDR for the route exactly.
44725	//
44726	// DestinationCidrBlock is a required field
44727	DestinationCidrBlock *string `type:"string" required:"true"`
44728
44729	// Checks whether you have the required permissions for the action, without
44730	// actually making the request, and provides an error response. If you have
44731	// the required permissions, the error response is DryRunOperation. Otherwise,
44732	// it is UnauthorizedOperation.
44733	DryRun *bool `type:"boolean"`
44734
44735	// The ID of the transit gateway route table.
44736	//
44737	// TransitGatewayRouteTableId is a required field
44738	TransitGatewayRouteTableId *string `type:"string" required:"true"`
44739}
44740
44741// String returns the string representation
44742func (s DeleteTransitGatewayRouteInput) String() string {
44743	return awsutil.Prettify(s)
44744}
44745
44746// GoString returns the string representation
44747func (s DeleteTransitGatewayRouteInput) GoString() string {
44748	return s.String()
44749}
44750
44751// Validate inspects the fields of the type to determine if they are valid.
44752func (s *DeleteTransitGatewayRouteInput) Validate() error {
44753	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
44754	if s.DestinationCidrBlock == nil {
44755		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
44756	}
44757	if s.TransitGatewayRouteTableId == nil {
44758		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
44759	}
44760
44761	if invalidParams.Len() > 0 {
44762		return invalidParams
44763	}
44764	return nil
44765}
44766
44767// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
44768func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
44769	s.DestinationCidrBlock = &v
44770	return s
44771}
44772
44773// SetDryRun sets the DryRun field's value.
44774func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
44775	s.DryRun = &v
44776	return s
44777}
44778
44779// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
44780func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
44781	s.TransitGatewayRouteTableId = &v
44782	return s
44783}
44784
44785type DeleteTransitGatewayRouteOutput struct {
44786	_ struct{} `type:"structure"`
44787
44788	// Information about the route.
44789	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
44790}
44791
44792// String returns the string representation
44793func (s DeleteTransitGatewayRouteOutput) String() string {
44794	return awsutil.Prettify(s)
44795}
44796
44797// GoString returns the string representation
44798func (s DeleteTransitGatewayRouteOutput) GoString() string {
44799	return s.String()
44800}
44801
44802// SetRoute sets the Route field's value.
44803func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
44804	s.Route = v
44805	return s
44806}
44807
44808type DeleteTransitGatewayRouteTableInput struct {
44809	_ struct{} `type:"structure"`
44810
44811	// Checks whether you have the required permissions for the action, without
44812	// actually making the request, and provides an error response. If you have
44813	// the required permissions, the error response is DryRunOperation. Otherwise,
44814	// it is UnauthorizedOperation.
44815	DryRun *bool `type:"boolean"`
44816
44817	// The ID of the transit gateway route table.
44818	//
44819	// TransitGatewayRouteTableId is a required field
44820	TransitGatewayRouteTableId *string `type:"string" required:"true"`
44821}
44822
44823// String returns the string representation
44824func (s DeleteTransitGatewayRouteTableInput) String() string {
44825	return awsutil.Prettify(s)
44826}
44827
44828// GoString returns the string representation
44829func (s DeleteTransitGatewayRouteTableInput) GoString() string {
44830	return s.String()
44831}
44832
44833// Validate inspects the fields of the type to determine if they are valid.
44834func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
44835	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
44836	if s.TransitGatewayRouteTableId == nil {
44837		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
44838	}
44839
44840	if invalidParams.Len() > 0 {
44841		return invalidParams
44842	}
44843	return nil
44844}
44845
44846// SetDryRun sets the DryRun field's value.
44847func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
44848	s.DryRun = &v
44849	return s
44850}
44851
44852// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
44853func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
44854	s.TransitGatewayRouteTableId = &v
44855	return s
44856}
44857
44858type DeleteTransitGatewayRouteTableOutput struct {
44859	_ struct{} `type:"structure"`
44860
44861	// Information about the deleted transit gateway route table.
44862	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
44863}
44864
44865// String returns the string representation
44866func (s DeleteTransitGatewayRouteTableOutput) String() string {
44867	return awsutil.Prettify(s)
44868}
44869
44870// GoString returns the string representation
44871func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
44872	return s.String()
44873}
44874
44875// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
44876func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
44877	s.TransitGatewayRouteTable = v
44878	return s
44879}
44880
44881type DeleteTransitGatewayVpcAttachmentInput struct {
44882	_ struct{} `type:"structure"`
44883
44884	// Checks whether you have the required permissions for the action, without
44885	// actually making the request, and provides an error response. If you have
44886	// the required permissions, the error response is DryRunOperation. Otherwise,
44887	// it is UnauthorizedOperation.
44888	DryRun *bool `type:"boolean"`
44889
44890	// The ID of the attachment.
44891	//
44892	// TransitGatewayAttachmentId is a required field
44893	TransitGatewayAttachmentId *string `type:"string" required:"true"`
44894}
44895
44896// String returns the string representation
44897func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
44898	return awsutil.Prettify(s)
44899}
44900
44901// GoString returns the string representation
44902func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
44903	return s.String()
44904}
44905
44906// Validate inspects the fields of the type to determine if they are valid.
44907func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
44908	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
44909	if s.TransitGatewayAttachmentId == nil {
44910		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
44911	}
44912
44913	if invalidParams.Len() > 0 {
44914		return invalidParams
44915	}
44916	return nil
44917}
44918
44919// SetDryRun sets the DryRun field's value.
44920func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
44921	s.DryRun = &v
44922	return s
44923}
44924
44925// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
44926func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
44927	s.TransitGatewayAttachmentId = &v
44928	return s
44929}
44930
44931type DeleteTransitGatewayVpcAttachmentOutput struct {
44932	_ struct{} `type:"structure"`
44933
44934	// Information about the deleted VPC attachment.
44935	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
44936}
44937
44938// String returns the string representation
44939func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
44940	return awsutil.Prettify(s)
44941}
44942
44943// GoString returns the string representation
44944func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
44945	return s.String()
44946}
44947
44948// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
44949func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
44950	s.TransitGatewayVpcAttachment = v
44951	return s
44952}
44953
44954// Contains the parameters for DeleteVolume.
44955type DeleteVolumeInput struct {
44956	_ struct{} `type:"structure"`
44957
44958	// Checks whether you have the required permissions for the action, without
44959	// actually making the request, and provides an error response. If you have
44960	// the required permissions, the error response is DryRunOperation. Otherwise,
44961	// it is UnauthorizedOperation.
44962	DryRun *bool `locationName:"dryRun" type:"boolean"`
44963
44964	// The ID of the volume.
44965	//
44966	// VolumeId is a required field
44967	VolumeId *string `type:"string" required:"true"`
44968}
44969
44970// String returns the string representation
44971func (s DeleteVolumeInput) String() string {
44972	return awsutil.Prettify(s)
44973}
44974
44975// GoString returns the string representation
44976func (s DeleteVolumeInput) GoString() string {
44977	return s.String()
44978}
44979
44980// Validate inspects the fields of the type to determine if they are valid.
44981func (s *DeleteVolumeInput) Validate() error {
44982	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
44983	if s.VolumeId == nil {
44984		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
44985	}
44986
44987	if invalidParams.Len() > 0 {
44988		return invalidParams
44989	}
44990	return nil
44991}
44992
44993// SetDryRun sets the DryRun field's value.
44994func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
44995	s.DryRun = &v
44996	return s
44997}
44998
44999// SetVolumeId sets the VolumeId field's value.
45000func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
45001	s.VolumeId = &v
45002	return s
45003}
45004
45005type DeleteVolumeOutput struct {
45006	_ struct{} `type:"structure"`
45007}
45008
45009// String returns the string representation
45010func (s DeleteVolumeOutput) String() string {
45011	return awsutil.Prettify(s)
45012}
45013
45014// GoString returns the string representation
45015func (s DeleteVolumeOutput) GoString() string {
45016	return s.String()
45017}
45018
45019type DeleteVpcEndpointConnectionNotificationsInput struct {
45020	_ struct{} `type:"structure"`
45021
45022	// One or more notification IDs.
45023	//
45024	// ConnectionNotificationIds is a required field
45025	ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
45026
45027	// Checks whether you have the required permissions for the action, without
45028	// actually making the request, and provides an error response. If you have
45029	// the required permissions, the error response is DryRunOperation. Otherwise,
45030	// it is UnauthorizedOperation.
45031	DryRun *bool `type:"boolean"`
45032}
45033
45034// String returns the string representation
45035func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
45036	return awsutil.Prettify(s)
45037}
45038
45039// GoString returns the string representation
45040func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
45041	return s.String()
45042}
45043
45044// Validate inspects the fields of the type to determine if they are valid.
45045func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
45046	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
45047	if s.ConnectionNotificationIds == nil {
45048		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
45049	}
45050
45051	if invalidParams.Len() > 0 {
45052		return invalidParams
45053	}
45054	return nil
45055}
45056
45057// SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
45058func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
45059	s.ConnectionNotificationIds = v
45060	return s
45061}
45062
45063// SetDryRun sets the DryRun field's value.
45064func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
45065	s.DryRun = &v
45066	return s
45067}
45068
45069type DeleteVpcEndpointConnectionNotificationsOutput struct {
45070	_ struct{} `type:"structure"`
45071
45072	// Information about the notifications that could not be deleted successfully.
45073	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
45074}
45075
45076// String returns the string representation
45077func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
45078	return awsutil.Prettify(s)
45079}
45080
45081// GoString returns the string representation
45082func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
45083	return s.String()
45084}
45085
45086// SetUnsuccessful sets the Unsuccessful field's value.
45087func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
45088	s.Unsuccessful = v
45089	return s
45090}
45091
45092type DeleteVpcEndpointServiceConfigurationsInput struct {
45093	_ struct{} `type:"structure"`
45094
45095	// Checks whether you have the required permissions for the action, without
45096	// actually making the request, and provides an error response. If you have
45097	// the required permissions, the error response is DryRunOperation. Otherwise,
45098	// it is UnauthorizedOperation.
45099	DryRun *bool `type:"boolean"`
45100
45101	// The IDs of one or more services.
45102	//
45103	// ServiceIds is a required field
45104	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
45105}
45106
45107// String returns the string representation
45108func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
45109	return awsutil.Prettify(s)
45110}
45111
45112// GoString returns the string representation
45113func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
45114	return s.String()
45115}
45116
45117// Validate inspects the fields of the type to determine if they are valid.
45118func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
45119	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
45120	if s.ServiceIds == nil {
45121		invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
45122	}
45123
45124	if invalidParams.Len() > 0 {
45125		return invalidParams
45126	}
45127	return nil
45128}
45129
45130// SetDryRun sets the DryRun field's value.
45131func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
45132	s.DryRun = &v
45133	return s
45134}
45135
45136// SetServiceIds sets the ServiceIds field's value.
45137func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
45138	s.ServiceIds = v
45139	return s
45140}
45141
45142type DeleteVpcEndpointServiceConfigurationsOutput struct {
45143	_ struct{} `type:"structure"`
45144
45145	// Information about the service configurations that were not deleted, if applicable.
45146	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
45147}
45148
45149// String returns the string representation
45150func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
45151	return awsutil.Prettify(s)
45152}
45153
45154// GoString returns the string representation
45155func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
45156	return s.String()
45157}
45158
45159// SetUnsuccessful sets the Unsuccessful field's value.
45160func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
45161	s.Unsuccessful = v
45162	return s
45163}
45164
45165// Contains the parameters for DeleteVpcEndpoints.
45166type DeleteVpcEndpointsInput struct {
45167	_ struct{} `type:"structure"`
45168
45169	// Checks whether you have the required permissions for the action, without
45170	// actually making the request, and provides an error response. If you have
45171	// the required permissions, the error response is DryRunOperation. Otherwise,
45172	// it is UnauthorizedOperation.
45173	DryRun *bool `type:"boolean"`
45174
45175	// One or more VPC endpoint IDs.
45176	//
45177	// VpcEndpointIds is a required field
45178	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
45179}
45180
45181// String returns the string representation
45182func (s DeleteVpcEndpointsInput) String() string {
45183	return awsutil.Prettify(s)
45184}
45185
45186// GoString returns the string representation
45187func (s DeleteVpcEndpointsInput) GoString() string {
45188	return s.String()
45189}
45190
45191// Validate inspects the fields of the type to determine if they are valid.
45192func (s *DeleteVpcEndpointsInput) Validate() error {
45193	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
45194	if s.VpcEndpointIds == nil {
45195		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
45196	}
45197
45198	if invalidParams.Len() > 0 {
45199		return invalidParams
45200	}
45201	return nil
45202}
45203
45204// SetDryRun sets the DryRun field's value.
45205func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
45206	s.DryRun = &v
45207	return s
45208}
45209
45210// SetVpcEndpointIds sets the VpcEndpointIds field's value.
45211func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
45212	s.VpcEndpointIds = v
45213	return s
45214}
45215
45216// Contains the output of DeleteVpcEndpoints.
45217type DeleteVpcEndpointsOutput struct {
45218	_ struct{} `type:"structure"`
45219
45220	// Information about the VPC endpoints that were not successfully deleted.
45221	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
45222}
45223
45224// String returns the string representation
45225func (s DeleteVpcEndpointsOutput) String() string {
45226	return awsutil.Prettify(s)
45227}
45228
45229// GoString returns the string representation
45230func (s DeleteVpcEndpointsOutput) GoString() string {
45231	return s.String()
45232}
45233
45234// SetUnsuccessful sets the Unsuccessful field's value.
45235func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
45236	s.Unsuccessful = v
45237	return s
45238}
45239
45240type DeleteVpcInput struct {
45241	_ struct{} `type:"structure"`
45242
45243	// Checks whether you have the required permissions for the action, without
45244	// actually making the request, and provides an error response. If you have
45245	// the required permissions, the error response is DryRunOperation. Otherwise,
45246	// it is UnauthorizedOperation.
45247	DryRun *bool `locationName:"dryRun" type:"boolean"`
45248
45249	// The ID of the VPC.
45250	//
45251	// VpcId is a required field
45252	VpcId *string `type:"string" required:"true"`
45253}
45254
45255// String returns the string representation
45256func (s DeleteVpcInput) String() string {
45257	return awsutil.Prettify(s)
45258}
45259
45260// GoString returns the string representation
45261func (s DeleteVpcInput) GoString() string {
45262	return s.String()
45263}
45264
45265// Validate inspects the fields of the type to determine if they are valid.
45266func (s *DeleteVpcInput) Validate() error {
45267	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
45268	if s.VpcId == nil {
45269		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45270	}
45271
45272	if invalidParams.Len() > 0 {
45273		return invalidParams
45274	}
45275	return nil
45276}
45277
45278// SetDryRun sets the DryRun field's value.
45279func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
45280	s.DryRun = &v
45281	return s
45282}
45283
45284// SetVpcId sets the VpcId field's value.
45285func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
45286	s.VpcId = &v
45287	return s
45288}
45289
45290type DeleteVpcOutput struct {
45291	_ struct{} `type:"structure"`
45292}
45293
45294// String returns the string representation
45295func (s DeleteVpcOutput) String() string {
45296	return awsutil.Prettify(s)
45297}
45298
45299// GoString returns the string representation
45300func (s DeleteVpcOutput) GoString() string {
45301	return s.String()
45302}
45303
45304type DeleteVpcPeeringConnectionInput struct {
45305	_ struct{} `type:"structure"`
45306
45307	// Checks whether you have the required permissions for the action, without
45308	// actually making the request, and provides an error response. If you have
45309	// the required permissions, the error response is DryRunOperation. Otherwise,
45310	// it is UnauthorizedOperation.
45311	DryRun *bool `locationName:"dryRun" type:"boolean"`
45312
45313	// The ID of the VPC peering connection.
45314	//
45315	// VpcPeeringConnectionId is a required field
45316	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
45317}
45318
45319// String returns the string representation
45320func (s DeleteVpcPeeringConnectionInput) String() string {
45321	return awsutil.Prettify(s)
45322}
45323
45324// GoString returns the string representation
45325func (s DeleteVpcPeeringConnectionInput) GoString() string {
45326	return s.String()
45327}
45328
45329// Validate inspects the fields of the type to determine if they are valid.
45330func (s *DeleteVpcPeeringConnectionInput) Validate() error {
45331	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
45332	if s.VpcPeeringConnectionId == nil {
45333		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
45334	}
45335
45336	if invalidParams.Len() > 0 {
45337		return invalidParams
45338	}
45339	return nil
45340}
45341
45342// SetDryRun sets the DryRun field's value.
45343func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
45344	s.DryRun = &v
45345	return s
45346}
45347
45348// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
45349func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
45350	s.VpcPeeringConnectionId = &v
45351	return s
45352}
45353
45354type DeleteVpcPeeringConnectionOutput struct {
45355	_ struct{} `type:"structure"`
45356
45357	// Returns true if the request succeeds; otherwise, it returns an error.
45358	Return *bool `locationName:"return" type:"boolean"`
45359}
45360
45361// String returns the string representation
45362func (s DeleteVpcPeeringConnectionOutput) String() string {
45363	return awsutil.Prettify(s)
45364}
45365
45366// GoString returns the string representation
45367func (s DeleteVpcPeeringConnectionOutput) GoString() string {
45368	return s.String()
45369}
45370
45371// SetReturn sets the Return field's value.
45372func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
45373	s.Return = &v
45374	return s
45375}
45376
45377// Contains the parameters for DeleteVpnConnection.
45378type DeleteVpnConnectionInput struct {
45379	_ struct{} `type:"structure"`
45380
45381	// Checks whether you have the required permissions for the action, without
45382	// actually making the request, and provides an error response. If you have
45383	// the required permissions, the error response is DryRunOperation. Otherwise,
45384	// it is UnauthorizedOperation.
45385	DryRun *bool `locationName:"dryRun" type:"boolean"`
45386
45387	// The ID of the VPN connection.
45388	//
45389	// VpnConnectionId is a required field
45390	VpnConnectionId *string `type:"string" required:"true"`
45391}
45392
45393// String returns the string representation
45394func (s DeleteVpnConnectionInput) String() string {
45395	return awsutil.Prettify(s)
45396}
45397
45398// GoString returns the string representation
45399func (s DeleteVpnConnectionInput) GoString() string {
45400	return s.String()
45401}
45402
45403// Validate inspects the fields of the type to determine if they are valid.
45404func (s *DeleteVpnConnectionInput) Validate() error {
45405	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
45406	if s.VpnConnectionId == nil {
45407		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
45408	}
45409
45410	if invalidParams.Len() > 0 {
45411		return invalidParams
45412	}
45413	return nil
45414}
45415
45416// SetDryRun sets the DryRun field's value.
45417func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
45418	s.DryRun = &v
45419	return s
45420}
45421
45422// SetVpnConnectionId sets the VpnConnectionId field's value.
45423func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
45424	s.VpnConnectionId = &v
45425	return s
45426}
45427
45428type DeleteVpnConnectionOutput struct {
45429	_ struct{} `type:"structure"`
45430}
45431
45432// String returns the string representation
45433func (s DeleteVpnConnectionOutput) String() string {
45434	return awsutil.Prettify(s)
45435}
45436
45437// GoString returns the string representation
45438func (s DeleteVpnConnectionOutput) GoString() string {
45439	return s.String()
45440}
45441
45442// Contains the parameters for DeleteVpnConnectionRoute.
45443type DeleteVpnConnectionRouteInput struct {
45444	_ struct{} `type:"structure"`
45445
45446	// The CIDR block associated with the local subnet of the customer network.
45447	//
45448	// DestinationCidrBlock is a required field
45449	DestinationCidrBlock *string `type:"string" required:"true"`
45450
45451	// The ID of the VPN connection.
45452	//
45453	// VpnConnectionId is a required field
45454	VpnConnectionId *string `type:"string" required:"true"`
45455}
45456
45457// String returns the string representation
45458func (s DeleteVpnConnectionRouteInput) String() string {
45459	return awsutil.Prettify(s)
45460}
45461
45462// GoString returns the string representation
45463func (s DeleteVpnConnectionRouteInput) GoString() string {
45464	return s.String()
45465}
45466
45467// Validate inspects the fields of the type to determine if they are valid.
45468func (s *DeleteVpnConnectionRouteInput) Validate() error {
45469	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
45470	if s.DestinationCidrBlock == nil {
45471		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
45472	}
45473	if s.VpnConnectionId == nil {
45474		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
45475	}
45476
45477	if invalidParams.Len() > 0 {
45478		return invalidParams
45479	}
45480	return nil
45481}
45482
45483// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
45484func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
45485	s.DestinationCidrBlock = &v
45486	return s
45487}
45488
45489// SetVpnConnectionId sets the VpnConnectionId field's value.
45490func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
45491	s.VpnConnectionId = &v
45492	return s
45493}
45494
45495type DeleteVpnConnectionRouteOutput struct {
45496	_ struct{} `type:"structure"`
45497}
45498
45499// String returns the string representation
45500func (s DeleteVpnConnectionRouteOutput) String() string {
45501	return awsutil.Prettify(s)
45502}
45503
45504// GoString returns the string representation
45505func (s DeleteVpnConnectionRouteOutput) GoString() string {
45506	return s.String()
45507}
45508
45509// Contains the parameters for DeleteVpnGateway.
45510type DeleteVpnGatewayInput struct {
45511	_ struct{} `type:"structure"`
45512
45513	// Checks whether you have the required permissions for the action, without
45514	// actually making the request, and provides an error response. If you have
45515	// the required permissions, the error response is DryRunOperation. Otherwise,
45516	// it is UnauthorizedOperation.
45517	DryRun *bool `locationName:"dryRun" type:"boolean"`
45518
45519	// The ID of the virtual private gateway.
45520	//
45521	// VpnGatewayId is a required field
45522	VpnGatewayId *string `type:"string" required:"true"`
45523}
45524
45525// String returns the string representation
45526func (s DeleteVpnGatewayInput) String() string {
45527	return awsutil.Prettify(s)
45528}
45529
45530// GoString returns the string representation
45531func (s DeleteVpnGatewayInput) GoString() string {
45532	return s.String()
45533}
45534
45535// Validate inspects the fields of the type to determine if they are valid.
45536func (s *DeleteVpnGatewayInput) Validate() error {
45537	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
45538	if s.VpnGatewayId == nil {
45539		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
45540	}
45541
45542	if invalidParams.Len() > 0 {
45543		return invalidParams
45544	}
45545	return nil
45546}
45547
45548// SetDryRun sets the DryRun field's value.
45549func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
45550	s.DryRun = &v
45551	return s
45552}
45553
45554// SetVpnGatewayId sets the VpnGatewayId field's value.
45555func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
45556	s.VpnGatewayId = &v
45557	return s
45558}
45559
45560type DeleteVpnGatewayOutput struct {
45561	_ struct{} `type:"structure"`
45562}
45563
45564// String returns the string representation
45565func (s DeleteVpnGatewayOutput) String() string {
45566	return awsutil.Prettify(s)
45567}
45568
45569// GoString returns the string representation
45570func (s DeleteVpnGatewayOutput) GoString() string {
45571	return s.String()
45572}
45573
45574type DeprovisionByoipCidrInput struct {
45575	_ struct{} `type:"structure"`
45576
45577	// The public IPv4 address range, in CIDR notation. The prefix must be the same
45578	// prefix that you specified when you provisioned the address range.
45579	//
45580	// Cidr is a required field
45581	Cidr *string `type:"string" required:"true"`
45582
45583	// Checks whether you have the required permissions for the action, without
45584	// actually making the request, and provides an error response. If you have
45585	// the required permissions, the error response is DryRunOperation. Otherwise,
45586	// it is UnauthorizedOperation.
45587	DryRun *bool `type:"boolean"`
45588}
45589
45590// String returns the string representation
45591func (s DeprovisionByoipCidrInput) String() string {
45592	return awsutil.Prettify(s)
45593}
45594
45595// GoString returns the string representation
45596func (s DeprovisionByoipCidrInput) GoString() string {
45597	return s.String()
45598}
45599
45600// Validate inspects the fields of the type to determine if they are valid.
45601func (s *DeprovisionByoipCidrInput) Validate() error {
45602	invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
45603	if s.Cidr == nil {
45604		invalidParams.Add(request.NewErrParamRequired("Cidr"))
45605	}
45606
45607	if invalidParams.Len() > 0 {
45608		return invalidParams
45609	}
45610	return nil
45611}
45612
45613// SetCidr sets the Cidr field's value.
45614func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
45615	s.Cidr = &v
45616	return s
45617}
45618
45619// SetDryRun sets the DryRun field's value.
45620func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
45621	s.DryRun = &v
45622	return s
45623}
45624
45625type DeprovisionByoipCidrOutput struct {
45626	_ struct{} `type:"structure"`
45627
45628	// Information about the address range.
45629	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
45630}
45631
45632// String returns the string representation
45633func (s DeprovisionByoipCidrOutput) String() string {
45634	return awsutil.Prettify(s)
45635}
45636
45637// GoString returns the string representation
45638func (s DeprovisionByoipCidrOutput) GoString() string {
45639	return s.String()
45640}
45641
45642// SetByoipCidr sets the ByoipCidr field's value.
45643func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
45644	s.ByoipCidr = v
45645	return s
45646}
45647
45648// Contains the parameters for DeregisterImage.
45649type DeregisterImageInput struct {
45650	_ struct{} `type:"structure"`
45651
45652	// Checks whether you have the required permissions for the action, without
45653	// actually making the request, and provides an error response. If you have
45654	// the required permissions, the error response is DryRunOperation. Otherwise,
45655	// it is UnauthorizedOperation.
45656	DryRun *bool `locationName:"dryRun" type:"boolean"`
45657
45658	// The ID of the AMI.
45659	//
45660	// ImageId is a required field
45661	ImageId *string `type:"string" required:"true"`
45662}
45663
45664// String returns the string representation
45665func (s DeregisterImageInput) String() string {
45666	return awsutil.Prettify(s)
45667}
45668
45669// GoString returns the string representation
45670func (s DeregisterImageInput) GoString() string {
45671	return s.String()
45672}
45673
45674// Validate inspects the fields of the type to determine if they are valid.
45675func (s *DeregisterImageInput) Validate() error {
45676	invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
45677	if s.ImageId == nil {
45678		invalidParams.Add(request.NewErrParamRequired("ImageId"))
45679	}
45680
45681	if invalidParams.Len() > 0 {
45682		return invalidParams
45683	}
45684	return nil
45685}
45686
45687// SetDryRun sets the DryRun field's value.
45688func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
45689	s.DryRun = &v
45690	return s
45691}
45692
45693// SetImageId sets the ImageId field's value.
45694func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
45695	s.ImageId = &v
45696	return s
45697}
45698
45699type DeregisterImageOutput struct {
45700	_ struct{} `type:"structure"`
45701}
45702
45703// String returns the string representation
45704func (s DeregisterImageOutput) String() string {
45705	return awsutil.Prettify(s)
45706}
45707
45708// GoString returns the string representation
45709func (s DeregisterImageOutput) GoString() string {
45710	return s.String()
45711}
45712
45713type DescribeAccountAttributesInput struct {
45714	_ struct{} `type:"structure"`
45715
45716	// The account attribute names.
45717	AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
45718
45719	// Checks whether you have the required permissions for the action, without
45720	// actually making the request, and provides an error response. If you have
45721	// the required permissions, the error response is DryRunOperation. Otherwise,
45722	// it is UnauthorizedOperation.
45723	DryRun *bool `locationName:"dryRun" type:"boolean"`
45724}
45725
45726// String returns the string representation
45727func (s DescribeAccountAttributesInput) String() string {
45728	return awsutil.Prettify(s)
45729}
45730
45731// GoString returns the string representation
45732func (s DescribeAccountAttributesInput) GoString() string {
45733	return s.String()
45734}
45735
45736// SetAttributeNames sets the AttributeNames field's value.
45737func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
45738	s.AttributeNames = v
45739	return s
45740}
45741
45742// SetDryRun sets the DryRun field's value.
45743func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
45744	s.DryRun = &v
45745	return s
45746}
45747
45748type DescribeAccountAttributesOutput struct {
45749	_ struct{} `type:"structure"`
45750
45751	// Information about the account attributes.
45752	AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
45753}
45754
45755// String returns the string representation
45756func (s DescribeAccountAttributesOutput) String() string {
45757	return awsutil.Prettify(s)
45758}
45759
45760// GoString returns the string representation
45761func (s DescribeAccountAttributesOutput) GoString() string {
45762	return s.String()
45763}
45764
45765// SetAccountAttributes sets the AccountAttributes field's value.
45766func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
45767	s.AccountAttributes = v
45768	return s
45769}
45770
45771type DescribeAddressesInput struct {
45772	_ struct{} `type:"structure"`
45773
45774	// [EC2-VPC] Information about the allocation IDs.
45775	AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
45776
45777	// Checks whether you have the required permissions for the action, without
45778	// actually making the request, and provides an error response. If you have
45779	// the required permissions, the error response is DryRunOperation. Otherwise,
45780	// it is UnauthorizedOperation.
45781	DryRun *bool `locationName:"dryRun" type:"boolean"`
45782
45783	// One or more filters. Filter names and values are case-sensitive.
45784	//
45785	//    * allocation-id - [EC2-VPC] The allocation ID for the address.
45786	//
45787	//    * association-id - [EC2-VPC] The association ID for the address.
45788	//
45789	//    * domain - Indicates whether the address is for use in EC2-Classic (standard)
45790	//    or in a VPC (vpc).
45791	//
45792	//    * instance-id - The ID of the instance the address is associated with,
45793	//    if any.
45794	//
45795	//    * network-interface-id - [EC2-VPC] The ID of the network interface that
45796	//    the address is associated with, if any.
45797	//
45798	//    * network-interface-owner-id - The AWS account ID of the owner.
45799	//
45800	//    * private-ip-address - [EC2-VPC] The private IP address associated with
45801	//    the Elastic IP address.
45802	//
45803	//    * public-ip - The Elastic IP address.
45804	//
45805	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
45806	//    Use the tag key in the filter name and the tag value as the filter value.
45807	//    For example, to find all resources that have a tag with the key Owner
45808	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
45809	//    the filter value.
45810	//
45811	//    * tag-key - The key of a tag assigned to the resource. Use this filter
45812	//    to find all resources assigned a tag with a specific key, regardless of
45813	//    the tag value.
45814	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
45815
45816	// One or more Elastic IP addresses.
45817	//
45818	// Default: Describes all your Elastic IP addresses.
45819	PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
45820}
45821
45822// String returns the string representation
45823func (s DescribeAddressesInput) String() string {
45824	return awsutil.Prettify(s)
45825}
45826
45827// GoString returns the string representation
45828func (s DescribeAddressesInput) GoString() string {
45829	return s.String()
45830}
45831
45832// SetAllocationIds sets the AllocationIds field's value.
45833func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
45834	s.AllocationIds = v
45835	return s
45836}
45837
45838// SetDryRun sets the DryRun field's value.
45839func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
45840	s.DryRun = &v
45841	return s
45842}
45843
45844// SetFilters sets the Filters field's value.
45845func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
45846	s.Filters = v
45847	return s
45848}
45849
45850// SetPublicIps sets the PublicIps field's value.
45851func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
45852	s.PublicIps = v
45853	return s
45854}
45855
45856type DescribeAddressesOutput struct {
45857	_ struct{} `type:"structure"`
45858
45859	// Information about the Elastic IP addresses.
45860	Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
45861}
45862
45863// String returns the string representation
45864func (s DescribeAddressesOutput) String() string {
45865	return awsutil.Prettify(s)
45866}
45867
45868// GoString returns the string representation
45869func (s DescribeAddressesOutput) GoString() string {
45870	return s.String()
45871}
45872
45873// SetAddresses sets the Addresses field's value.
45874func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
45875	s.Addresses = v
45876	return s
45877}
45878
45879type DescribeAggregateIdFormatInput struct {
45880	_ struct{} `type:"structure"`
45881
45882	// Checks whether you have the required permissions for the action, without
45883	// actually making the request, and provides an error response. If you have
45884	// the required permissions, the error response is DryRunOperation. Otherwise,
45885	// it is UnauthorizedOperation.
45886	DryRun *bool `type:"boolean"`
45887}
45888
45889// String returns the string representation
45890func (s DescribeAggregateIdFormatInput) String() string {
45891	return awsutil.Prettify(s)
45892}
45893
45894// GoString returns the string representation
45895func (s DescribeAggregateIdFormatInput) GoString() string {
45896	return s.String()
45897}
45898
45899// SetDryRun sets the DryRun field's value.
45900func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
45901	s.DryRun = &v
45902	return s
45903}
45904
45905type DescribeAggregateIdFormatOutput struct {
45906	_ struct{} `type:"structure"`
45907
45908	// Information about each resource's ID format.
45909	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
45910
45911	// Indicates whether all resource types in the Region are configured to use
45912	// longer IDs. This value is only true if all users are configured to use longer
45913	// IDs for all resources types in the Region.
45914	UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
45915}
45916
45917// String returns the string representation
45918func (s DescribeAggregateIdFormatOutput) String() string {
45919	return awsutil.Prettify(s)
45920}
45921
45922// GoString returns the string representation
45923func (s DescribeAggregateIdFormatOutput) GoString() string {
45924	return s.String()
45925}
45926
45927// SetStatuses sets the Statuses field's value.
45928func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
45929	s.Statuses = v
45930	return s
45931}
45932
45933// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
45934func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
45935	s.UseLongIdsAggregated = &v
45936	return s
45937}
45938
45939type DescribeAvailabilityZonesInput struct {
45940	_ struct{} `type:"structure"`
45941
45942	// Checks whether you have the required permissions for the action, without
45943	// actually making the request, and provides an error response. If you have
45944	// the required permissions, the error response is DryRunOperation. Otherwise,
45945	// it is UnauthorizedOperation.
45946	DryRun *bool `locationName:"dryRun" type:"boolean"`
45947
45948	// The filters.
45949	//
45950	//    * message - Information about the Availability Zone.
45951	//
45952	//    * region-name - The name of the Region for the Availability Zone (for
45953	//    example, us-east-1).
45954	//
45955	//    * state - The state of the Availability Zone (available | information
45956	//    | impaired | unavailable).
45957	//
45958	//    * zone-id - The ID of the Availability Zone (for example, use1-az1).
45959	//
45960	//    * zone-name - The name of the Availability Zone (for example, us-east-1a).
45961	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
45962
45963	// The IDs of the Availability Zones.
45964	ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
45965
45966	// The names of the Availability Zones.
45967	ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
45968}
45969
45970// String returns the string representation
45971func (s DescribeAvailabilityZonesInput) String() string {
45972	return awsutil.Prettify(s)
45973}
45974
45975// GoString returns the string representation
45976func (s DescribeAvailabilityZonesInput) GoString() string {
45977	return s.String()
45978}
45979
45980// SetDryRun sets the DryRun field's value.
45981func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
45982	s.DryRun = &v
45983	return s
45984}
45985
45986// SetFilters sets the Filters field's value.
45987func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
45988	s.Filters = v
45989	return s
45990}
45991
45992// SetZoneIds sets the ZoneIds field's value.
45993func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
45994	s.ZoneIds = v
45995	return s
45996}
45997
45998// SetZoneNames sets the ZoneNames field's value.
45999func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
46000	s.ZoneNames = v
46001	return s
46002}
46003
46004type DescribeAvailabilityZonesOutput struct {
46005	_ struct{} `type:"structure"`
46006
46007	// Information about the Availability Zones.
46008	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
46009}
46010
46011// String returns the string representation
46012func (s DescribeAvailabilityZonesOutput) String() string {
46013	return awsutil.Prettify(s)
46014}
46015
46016// GoString returns the string representation
46017func (s DescribeAvailabilityZonesOutput) GoString() string {
46018	return s.String()
46019}
46020
46021// SetAvailabilityZones sets the AvailabilityZones field's value.
46022func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
46023	s.AvailabilityZones = v
46024	return s
46025}
46026
46027type DescribeBundleTasksInput struct {
46028	_ struct{} `type:"structure"`
46029
46030	// The bundle task IDs.
46031	//
46032	// Default: Describes all your bundle tasks.
46033	BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
46034
46035	// Checks whether you have the required permissions for the action, without
46036	// actually making the request, and provides an error response. If you have
46037	// the required permissions, the error response is DryRunOperation. Otherwise,
46038	// it is UnauthorizedOperation.
46039	DryRun *bool `locationName:"dryRun" type:"boolean"`
46040
46041	// The filters.
46042	//
46043	//    * bundle-id - The ID of the bundle task.
46044	//
46045	//    * error-code - If the task failed, the error code returned.
46046	//
46047	//    * error-message - If the task failed, the error message returned.
46048	//
46049	//    * instance-id - The ID of the instance.
46050	//
46051	//    * progress - The level of task completion, as a percentage (for example,
46052	//    20%).
46053	//
46054	//    * s3-bucket - The Amazon S3 bucket to store the AMI.
46055	//
46056	//    * s3-prefix - The beginning of the AMI name.
46057	//
46058	//    * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
46059	//
46060	//    * state - The state of the task (pending | waiting-for-shutdown | bundling
46061	//    | storing | cancelling | complete | failed).
46062	//
46063	//    * update-time - The time of the most recent update for the task.
46064	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46065}
46066
46067// String returns the string representation
46068func (s DescribeBundleTasksInput) String() string {
46069	return awsutil.Prettify(s)
46070}
46071
46072// GoString returns the string representation
46073func (s DescribeBundleTasksInput) GoString() string {
46074	return s.String()
46075}
46076
46077// SetBundleIds sets the BundleIds field's value.
46078func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
46079	s.BundleIds = v
46080	return s
46081}
46082
46083// SetDryRun sets the DryRun field's value.
46084func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
46085	s.DryRun = &v
46086	return s
46087}
46088
46089// SetFilters sets the Filters field's value.
46090func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
46091	s.Filters = v
46092	return s
46093}
46094
46095type DescribeBundleTasksOutput struct {
46096	_ struct{} `type:"structure"`
46097
46098	// Information about the bundle tasks.
46099	BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
46100}
46101
46102// String returns the string representation
46103func (s DescribeBundleTasksOutput) String() string {
46104	return awsutil.Prettify(s)
46105}
46106
46107// GoString returns the string representation
46108func (s DescribeBundleTasksOutput) GoString() string {
46109	return s.String()
46110}
46111
46112// SetBundleTasks sets the BundleTasks field's value.
46113func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
46114	s.BundleTasks = v
46115	return s
46116}
46117
46118type DescribeByoipCidrsInput struct {
46119	_ struct{} `type:"structure"`
46120
46121	// Checks whether you have the required permissions for the action, without
46122	// actually making the request, and provides an error response. If you have
46123	// the required permissions, the error response is DryRunOperation. Otherwise,
46124	// it is UnauthorizedOperation.
46125	DryRun *bool `type:"boolean"`
46126
46127	// The maximum number of results to return with a single call. To retrieve the
46128	// remaining results, make another call with the returned nextToken value.
46129	//
46130	// MaxResults is a required field
46131	MaxResults *int64 `min:"5" type:"integer" required:"true"`
46132
46133	// The token for the next page of results.
46134	NextToken *string `min:"1" type:"string"`
46135}
46136
46137// String returns the string representation
46138func (s DescribeByoipCidrsInput) String() string {
46139	return awsutil.Prettify(s)
46140}
46141
46142// GoString returns the string representation
46143func (s DescribeByoipCidrsInput) GoString() string {
46144	return s.String()
46145}
46146
46147// Validate inspects the fields of the type to determine if they are valid.
46148func (s *DescribeByoipCidrsInput) Validate() error {
46149	invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
46150	if s.MaxResults == nil {
46151		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
46152	}
46153	if s.MaxResults != nil && *s.MaxResults < 5 {
46154		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
46155	}
46156	if s.NextToken != nil && len(*s.NextToken) < 1 {
46157		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
46158	}
46159
46160	if invalidParams.Len() > 0 {
46161		return invalidParams
46162	}
46163	return nil
46164}
46165
46166// SetDryRun sets the DryRun field's value.
46167func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
46168	s.DryRun = &v
46169	return s
46170}
46171
46172// SetMaxResults sets the MaxResults field's value.
46173func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
46174	s.MaxResults = &v
46175	return s
46176}
46177
46178// SetNextToken sets the NextToken field's value.
46179func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
46180	s.NextToken = &v
46181	return s
46182}
46183
46184type DescribeByoipCidrsOutput struct {
46185	_ struct{} `type:"structure"`
46186
46187	// Information about your address ranges.
46188	ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
46189
46190	// The token to use to retrieve the next page of results. This value is null
46191	// when there are no more results to return.
46192	NextToken *string `locationName:"nextToken" type:"string"`
46193}
46194
46195// String returns the string representation
46196func (s DescribeByoipCidrsOutput) String() string {
46197	return awsutil.Prettify(s)
46198}
46199
46200// GoString returns the string representation
46201func (s DescribeByoipCidrsOutput) GoString() string {
46202	return s.String()
46203}
46204
46205// SetByoipCidrs sets the ByoipCidrs field's value.
46206func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
46207	s.ByoipCidrs = v
46208	return s
46209}
46210
46211// SetNextToken sets the NextToken field's value.
46212func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
46213	s.NextToken = &v
46214	return s
46215}
46216
46217type DescribeCapacityReservationsInput struct {
46218	_ struct{} `type:"structure"`
46219
46220	// The ID of the Capacity Reservation.
46221	CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
46222
46223	// Checks whether you have the required permissions for the action, without
46224	// actually making the request, and provides an error response. If you have
46225	// the required permissions, the error response is DryRunOperation. Otherwise,
46226	// it is UnauthorizedOperation.
46227	DryRun *bool `type:"boolean"`
46228
46229	// One or more filters.
46230	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46231
46232	// The maximum number of results to return for the request in a single page.
46233	// The remaining results can be seen by sending another request with the returned
46234	// nextToken value.
46235	MaxResults *int64 `min:"1" type:"integer"`
46236
46237	// The token to retrieve the next page of results.
46238	NextToken *string `type:"string"`
46239}
46240
46241// String returns the string representation
46242func (s DescribeCapacityReservationsInput) String() string {
46243	return awsutil.Prettify(s)
46244}
46245
46246// GoString returns the string representation
46247func (s DescribeCapacityReservationsInput) GoString() string {
46248	return s.String()
46249}
46250
46251// Validate inspects the fields of the type to determine if they are valid.
46252func (s *DescribeCapacityReservationsInput) Validate() error {
46253	invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"}
46254	if s.MaxResults != nil && *s.MaxResults < 1 {
46255		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
46256	}
46257
46258	if invalidParams.Len() > 0 {
46259		return invalidParams
46260	}
46261	return nil
46262}
46263
46264// SetCapacityReservationIds sets the CapacityReservationIds field's value.
46265func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
46266	s.CapacityReservationIds = v
46267	return s
46268}
46269
46270// SetDryRun sets the DryRun field's value.
46271func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
46272	s.DryRun = &v
46273	return s
46274}
46275
46276// SetFilters sets the Filters field's value.
46277func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
46278	s.Filters = v
46279	return s
46280}
46281
46282// SetMaxResults sets the MaxResults field's value.
46283func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
46284	s.MaxResults = &v
46285	return s
46286}
46287
46288// SetNextToken sets the NextToken field's value.
46289func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
46290	s.NextToken = &v
46291	return s
46292}
46293
46294type DescribeCapacityReservationsOutput struct {
46295	_ struct{} `type:"structure"`
46296
46297	// Information about the Capacity Reservations.
46298	CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
46299
46300	// The token to use to retrieve the next page of results. This value is null
46301	// when there are no more results to return.
46302	NextToken *string `locationName:"nextToken" type:"string"`
46303}
46304
46305// String returns the string representation
46306func (s DescribeCapacityReservationsOutput) String() string {
46307	return awsutil.Prettify(s)
46308}
46309
46310// GoString returns the string representation
46311func (s DescribeCapacityReservationsOutput) GoString() string {
46312	return s.String()
46313}
46314
46315// SetCapacityReservations sets the CapacityReservations field's value.
46316func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
46317	s.CapacityReservations = v
46318	return s
46319}
46320
46321// SetNextToken sets the NextToken field's value.
46322func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
46323	s.NextToken = &v
46324	return s
46325}
46326
46327type DescribeClassicLinkInstancesInput struct {
46328	_ struct{} `type:"structure"`
46329
46330	// Checks whether you have the required permissions for the action, without
46331	// actually making the request, and provides an error response. If you have
46332	// the required permissions, the error response is DryRunOperation. Otherwise,
46333	// it is UnauthorizedOperation.
46334	DryRun *bool `locationName:"dryRun" type:"boolean"`
46335
46336	// One or more filters.
46337	//
46338	//    * group-id - The ID of a VPC security group that's associated with the
46339	//    instance.
46340	//
46341	//    * instance-id - The ID of the instance.
46342	//
46343	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
46344	//    Use the tag key in the filter name and the tag value as the filter value.
46345	//    For example, to find all resources that have a tag with the key Owner
46346	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
46347	//    the filter value.
46348	//
46349	//    * tag-key - The key of a tag assigned to the resource. Use this filter
46350	//    to find all resources assigned a tag with a specific key, regardless of
46351	//    the tag value.
46352	//
46353	//    * vpc-id - The ID of the VPC to which the instance is linked. vpc-id -
46354	//    The ID of the VPC that the instance is linked to.
46355	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46356
46357	// One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
46358	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
46359
46360	// The maximum number of results to return with a single call. To retrieve the
46361	// remaining results, make another call with the returned nextToken value.
46362	//
46363	// Constraint: If the value is greater than 1000, we return only 1000 items.
46364	MaxResults *int64 `locationName:"maxResults" type:"integer"`
46365
46366	// The token for the next page of results.
46367	NextToken *string `locationName:"nextToken" type:"string"`
46368}
46369
46370// String returns the string representation
46371func (s DescribeClassicLinkInstancesInput) String() string {
46372	return awsutil.Prettify(s)
46373}
46374
46375// GoString returns the string representation
46376func (s DescribeClassicLinkInstancesInput) GoString() string {
46377	return s.String()
46378}
46379
46380// SetDryRun sets the DryRun field's value.
46381func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
46382	s.DryRun = &v
46383	return s
46384}
46385
46386// SetFilters sets the Filters field's value.
46387func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
46388	s.Filters = v
46389	return s
46390}
46391
46392// SetInstanceIds sets the InstanceIds field's value.
46393func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
46394	s.InstanceIds = v
46395	return s
46396}
46397
46398// SetMaxResults sets the MaxResults field's value.
46399func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
46400	s.MaxResults = &v
46401	return s
46402}
46403
46404// SetNextToken sets the NextToken field's value.
46405func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
46406	s.NextToken = &v
46407	return s
46408}
46409
46410type DescribeClassicLinkInstancesOutput struct {
46411	_ struct{} `type:"structure"`
46412
46413	// Information about one or more linked EC2-Classic instances.
46414	Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
46415
46416	// The token to use to retrieve the next page of results. This value is null
46417	// when there are no more results to return.
46418	NextToken *string `locationName:"nextToken" type:"string"`
46419}
46420
46421// String returns the string representation
46422func (s DescribeClassicLinkInstancesOutput) String() string {
46423	return awsutil.Prettify(s)
46424}
46425
46426// GoString returns the string representation
46427func (s DescribeClassicLinkInstancesOutput) GoString() string {
46428	return s.String()
46429}
46430
46431// SetInstances sets the Instances field's value.
46432func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
46433	s.Instances = v
46434	return s
46435}
46436
46437// SetNextToken sets the NextToken field's value.
46438func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
46439	s.NextToken = &v
46440	return s
46441}
46442
46443type DescribeClientVpnAuthorizationRulesInput struct {
46444	_ struct{} `type:"structure"`
46445
46446	// The ID of the Client VPN endpoint.
46447	//
46448	// ClientVpnEndpointId is a required field
46449	ClientVpnEndpointId *string `type:"string" required:"true"`
46450
46451	// Checks whether you have the required permissions for the action, without
46452	// actually making the request, and provides an error response. If you have
46453	// the required permissions, the error response is DryRunOperation. Otherwise,
46454	// it is UnauthorizedOperation.
46455	DryRun *bool `type:"boolean"`
46456
46457	// One or more filters. Filter names and values are case-sensitive.
46458	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46459
46460	// The maximum number of results to return for the request in a single page.
46461	// The remaining results can be seen by sending another request with the nextToken
46462	// value.
46463	MaxResults *int64 `min:"5" type:"integer"`
46464
46465	// The token to retrieve the next page of results.
46466	NextToken *string `min:"1" type:"string"`
46467}
46468
46469// String returns the string representation
46470func (s DescribeClientVpnAuthorizationRulesInput) String() string {
46471	return awsutil.Prettify(s)
46472}
46473
46474// GoString returns the string representation
46475func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
46476	return s.String()
46477}
46478
46479// Validate inspects the fields of the type to determine if they are valid.
46480func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
46481	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
46482	if s.ClientVpnEndpointId == nil {
46483		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
46484	}
46485	if s.MaxResults != nil && *s.MaxResults < 5 {
46486		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
46487	}
46488	if s.NextToken != nil && len(*s.NextToken) < 1 {
46489		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
46490	}
46491
46492	if invalidParams.Len() > 0 {
46493		return invalidParams
46494	}
46495	return nil
46496}
46497
46498// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
46499func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
46500	s.ClientVpnEndpointId = &v
46501	return s
46502}
46503
46504// SetDryRun sets the DryRun field's value.
46505func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
46506	s.DryRun = &v
46507	return s
46508}
46509
46510// SetFilters sets the Filters field's value.
46511func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
46512	s.Filters = v
46513	return s
46514}
46515
46516// SetMaxResults sets the MaxResults field's value.
46517func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
46518	s.MaxResults = &v
46519	return s
46520}
46521
46522// SetNextToken sets the NextToken field's value.
46523func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
46524	s.NextToken = &v
46525	return s
46526}
46527
46528type DescribeClientVpnAuthorizationRulesOutput struct {
46529	_ struct{} `type:"structure"`
46530
46531	// Information about the authorization rules.
46532	AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
46533
46534	// The token to use to retrieve the next page of results. This value is null
46535	// when there are no more results to return.
46536	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
46537}
46538
46539// String returns the string representation
46540func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
46541	return awsutil.Prettify(s)
46542}
46543
46544// GoString returns the string representation
46545func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
46546	return s.String()
46547}
46548
46549// SetAuthorizationRules sets the AuthorizationRules field's value.
46550func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
46551	s.AuthorizationRules = v
46552	return s
46553}
46554
46555// SetNextToken sets the NextToken field's value.
46556func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
46557	s.NextToken = &v
46558	return s
46559}
46560
46561type DescribeClientVpnConnectionsInput struct {
46562	_ struct{} `type:"structure"`
46563
46564	// The ID of the Client VPN endpoint.
46565	//
46566	// ClientVpnEndpointId is a required field
46567	ClientVpnEndpointId *string `type:"string" required:"true"`
46568
46569	// Checks whether you have the required permissions for the action, without
46570	// actually making the request, and provides an error response. If you have
46571	// the required permissions, the error response is DryRunOperation. Otherwise,
46572	// it is UnauthorizedOperation.
46573	DryRun *bool `type:"boolean"`
46574
46575	// One or more filters. Filter names and values are case-sensitive.
46576	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46577
46578	// The maximum number of results to return for the request in a single page.
46579	// The remaining results can be seen by sending another request with the nextToken
46580	// value.
46581	MaxResults *int64 `min:"5" type:"integer"`
46582
46583	// The token to retrieve the next page of results.
46584	NextToken *string `min:"1" type:"string"`
46585}
46586
46587// String returns the string representation
46588func (s DescribeClientVpnConnectionsInput) String() string {
46589	return awsutil.Prettify(s)
46590}
46591
46592// GoString returns the string representation
46593func (s DescribeClientVpnConnectionsInput) GoString() string {
46594	return s.String()
46595}
46596
46597// Validate inspects the fields of the type to determine if they are valid.
46598func (s *DescribeClientVpnConnectionsInput) Validate() error {
46599	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
46600	if s.ClientVpnEndpointId == nil {
46601		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
46602	}
46603	if s.MaxResults != nil && *s.MaxResults < 5 {
46604		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
46605	}
46606	if s.NextToken != nil && len(*s.NextToken) < 1 {
46607		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
46608	}
46609
46610	if invalidParams.Len() > 0 {
46611		return invalidParams
46612	}
46613	return nil
46614}
46615
46616// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
46617func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
46618	s.ClientVpnEndpointId = &v
46619	return s
46620}
46621
46622// SetDryRun sets the DryRun field's value.
46623func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
46624	s.DryRun = &v
46625	return s
46626}
46627
46628// SetFilters sets the Filters field's value.
46629func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
46630	s.Filters = v
46631	return s
46632}
46633
46634// SetMaxResults sets the MaxResults field's value.
46635func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
46636	s.MaxResults = &v
46637	return s
46638}
46639
46640// SetNextToken sets the NextToken field's value.
46641func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
46642	s.NextToken = &v
46643	return s
46644}
46645
46646type DescribeClientVpnConnectionsOutput struct {
46647	_ struct{} `type:"structure"`
46648
46649	// Information about the active and terminated client connections.
46650	Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
46651
46652	// The token to use to retrieve the next page of results. This value is null
46653	// when there are no more results to return.
46654	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
46655}
46656
46657// String returns the string representation
46658func (s DescribeClientVpnConnectionsOutput) String() string {
46659	return awsutil.Prettify(s)
46660}
46661
46662// GoString returns the string representation
46663func (s DescribeClientVpnConnectionsOutput) GoString() string {
46664	return s.String()
46665}
46666
46667// SetConnections sets the Connections field's value.
46668func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
46669	s.Connections = v
46670	return s
46671}
46672
46673// SetNextToken sets the NextToken field's value.
46674func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
46675	s.NextToken = &v
46676	return s
46677}
46678
46679type DescribeClientVpnEndpointsInput struct {
46680	_ struct{} `type:"structure"`
46681
46682	// The ID of the Client VPN endpoint.
46683	ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
46684
46685	// Checks whether you have the required permissions for the action, without
46686	// actually making the request, and provides an error response. If you have
46687	// the required permissions, the error response is DryRunOperation. Otherwise,
46688	// it is UnauthorizedOperation.
46689	DryRun *bool `type:"boolean"`
46690
46691	// One or more filters. Filter names and values are case-sensitive.
46692	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46693
46694	// The maximum number of results to return for the request in a single page.
46695	// The remaining results can be seen by sending another request with the nextToken
46696	// value.
46697	MaxResults *int64 `min:"5" type:"integer"`
46698
46699	// The token to retrieve the next page of results.
46700	NextToken *string `min:"1" type:"string"`
46701}
46702
46703// String returns the string representation
46704func (s DescribeClientVpnEndpointsInput) String() string {
46705	return awsutil.Prettify(s)
46706}
46707
46708// GoString returns the string representation
46709func (s DescribeClientVpnEndpointsInput) GoString() string {
46710	return s.String()
46711}
46712
46713// Validate inspects the fields of the type to determine if they are valid.
46714func (s *DescribeClientVpnEndpointsInput) Validate() error {
46715	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
46716	if s.MaxResults != nil && *s.MaxResults < 5 {
46717		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
46718	}
46719	if s.NextToken != nil && len(*s.NextToken) < 1 {
46720		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
46721	}
46722
46723	if invalidParams.Len() > 0 {
46724		return invalidParams
46725	}
46726	return nil
46727}
46728
46729// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
46730func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
46731	s.ClientVpnEndpointIds = v
46732	return s
46733}
46734
46735// SetDryRun sets the DryRun field's value.
46736func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
46737	s.DryRun = &v
46738	return s
46739}
46740
46741// SetFilters sets the Filters field's value.
46742func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
46743	s.Filters = v
46744	return s
46745}
46746
46747// SetMaxResults sets the MaxResults field's value.
46748func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
46749	s.MaxResults = &v
46750	return s
46751}
46752
46753// SetNextToken sets the NextToken field's value.
46754func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
46755	s.NextToken = &v
46756	return s
46757}
46758
46759type DescribeClientVpnEndpointsOutput struct {
46760	_ struct{} `type:"structure"`
46761
46762	// Information about the Client VPN endpoints.
46763	ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
46764
46765	// The token to use to retrieve the next page of results. This value is null
46766	// when there are no more results to return.
46767	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
46768}
46769
46770// String returns the string representation
46771func (s DescribeClientVpnEndpointsOutput) String() string {
46772	return awsutil.Prettify(s)
46773}
46774
46775// GoString returns the string representation
46776func (s DescribeClientVpnEndpointsOutput) GoString() string {
46777	return s.String()
46778}
46779
46780// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
46781func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
46782	s.ClientVpnEndpoints = v
46783	return s
46784}
46785
46786// SetNextToken sets the NextToken field's value.
46787func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
46788	s.NextToken = &v
46789	return s
46790}
46791
46792type DescribeClientVpnRoutesInput struct {
46793	_ struct{} `type:"structure"`
46794
46795	// The ID of the Client VPN endpoint.
46796	//
46797	// ClientVpnEndpointId is a required field
46798	ClientVpnEndpointId *string `type:"string" required:"true"`
46799
46800	// Checks whether you have the required permissions for the action, without
46801	// actually making the request, and provides an error response. If you have
46802	// the required permissions, the error response is DryRunOperation. Otherwise,
46803	// it is UnauthorizedOperation.
46804	DryRun *bool `type:"boolean"`
46805
46806	// One or more filters. Filter names and values are case-sensitive.
46807	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46808
46809	// The maximum number of results to return for the request in a single page.
46810	// The remaining results can be seen by sending another request with the nextToken
46811	// value.
46812	MaxResults *int64 `min:"5" type:"integer"`
46813
46814	// The token to retrieve the next page of results.
46815	NextToken *string `min:"1" type:"string"`
46816}
46817
46818// String returns the string representation
46819func (s DescribeClientVpnRoutesInput) String() string {
46820	return awsutil.Prettify(s)
46821}
46822
46823// GoString returns the string representation
46824func (s DescribeClientVpnRoutesInput) GoString() string {
46825	return s.String()
46826}
46827
46828// Validate inspects the fields of the type to determine if they are valid.
46829func (s *DescribeClientVpnRoutesInput) Validate() error {
46830	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
46831	if s.ClientVpnEndpointId == nil {
46832		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
46833	}
46834	if s.MaxResults != nil && *s.MaxResults < 5 {
46835		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
46836	}
46837	if s.NextToken != nil && len(*s.NextToken) < 1 {
46838		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
46839	}
46840
46841	if invalidParams.Len() > 0 {
46842		return invalidParams
46843	}
46844	return nil
46845}
46846
46847// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
46848func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
46849	s.ClientVpnEndpointId = &v
46850	return s
46851}
46852
46853// SetDryRun sets the DryRun field's value.
46854func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
46855	s.DryRun = &v
46856	return s
46857}
46858
46859// SetFilters sets the Filters field's value.
46860func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
46861	s.Filters = v
46862	return s
46863}
46864
46865// SetMaxResults sets the MaxResults field's value.
46866func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
46867	s.MaxResults = &v
46868	return s
46869}
46870
46871// SetNextToken sets the NextToken field's value.
46872func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
46873	s.NextToken = &v
46874	return s
46875}
46876
46877type DescribeClientVpnRoutesOutput struct {
46878	_ struct{} `type:"structure"`
46879
46880	// The token to use to retrieve the next page of results. This value is null
46881	// when there are no more results to return.
46882	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
46883
46884	// Information about the Client VPN endpoint routes.
46885	Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
46886}
46887
46888// String returns the string representation
46889func (s DescribeClientVpnRoutesOutput) String() string {
46890	return awsutil.Prettify(s)
46891}
46892
46893// GoString returns the string representation
46894func (s DescribeClientVpnRoutesOutput) GoString() string {
46895	return s.String()
46896}
46897
46898// SetNextToken sets the NextToken field's value.
46899func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
46900	s.NextToken = &v
46901	return s
46902}
46903
46904// SetRoutes sets the Routes field's value.
46905func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
46906	s.Routes = v
46907	return s
46908}
46909
46910type DescribeClientVpnTargetNetworksInput struct {
46911	_ struct{} `type:"structure"`
46912
46913	// The IDs of the target network associations.
46914	AssociationIds []*string `locationNameList:"item" type:"list"`
46915
46916	// The ID of the Client VPN endpoint.
46917	//
46918	// ClientVpnEndpointId is a required field
46919	ClientVpnEndpointId *string `type:"string" required:"true"`
46920
46921	// Checks whether you have the required permissions for the action, without
46922	// actually making the request, and provides an error response. If you have
46923	// the required permissions, the error response is DryRunOperation. Otherwise,
46924	// it is UnauthorizedOperation.
46925	DryRun *bool `type:"boolean"`
46926
46927	// One or more filters. Filter names and values are case-sensitive.
46928	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
46929
46930	// The maximum number of results to return for the request in a single page.
46931	// The remaining results can be seen by sending another request with the nextToken
46932	// value.
46933	MaxResults *int64 `min:"5" type:"integer"`
46934
46935	// The token to retrieve the next page of results.
46936	NextToken *string `min:"1" type:"string"`
46937}
46938
46939// String returns the string representation
46940func (s DescribeClientVpnTargetNetworksInput) String() string {
46941	return awsutil.Prettify(s)
46942}
46943
46944// GoString returns the string representation
46945func (s DescribeClientVpnTargetNetworksInput) GoString() string {
46946	return s.String()
46947}
46948
46949// Validate inspects the fields of the type to determine if they are valid.
46950func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
46951	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
46952	if s.ClientVpnEndpointId == nil {
46953		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
46954	}
46955	if s.MaxResults != nil && *s.MaxResults < 5 {
46956		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
46957	}
46958	if s.NextToken != nil && len(*s.NextToken) < 1 {
46959		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
46960	}
46961
46962	if invalidParams.Len() > 0 {
46963		return invalidParams
46964	}
46965	return nil
46966}
46967
46968// SetAssociationIds sets the AssociationIds field's value.
46969func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
46970	s.AssociationIds = v
46971	return s
46972}
46973
46974// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
46975func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
46976	s.ClientVpnEndpointId = &v
46977	return s
46978}
46979
46980// SetDryRun sets the DryRun field's value.
46981func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
46982	s.DryRun = &v
46983	return s
46984}
46985
46986// SetFilters sets the Filters field's value.
46987func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
46988	s.Filters = v
46989	return s
46990}
46991
46992// SetMaxResults sets the MaxResults field's value.
46993func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
46994	s.MaxResults = &v
46995	return s
46996}
46997
46998// SetNextToken sets the NextToken field's value.
46999func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
47000	s.NextToken = &v
47001	return s
47002}
47003
47004type DescribeClientVpnTargetNetworksOutput struct {
47005	_ struct{} `type:"structure"`
47006
47007	// Information about the associated target networks.
47008	ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
47009
47010	// The token to use to retrieve the next page of results. This value is null
47011	// when there are no more results to return.
47012	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
47013}
47014
47015// String returns the string representation
47016func (s DescribeClientVpnTargetNetworksOutput) String() string {
47017	return awsutil.Prettify(s)
47018}
47019
47020// GoString returns the string representation
47021func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
47022	return s.String()
47023}
47024
47025// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
47026func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
47027	s.ClientVpnTargetNetworks = v
47028	return s
47029}
47030
47031// SetNextToken sets the NextToken field's value.
47032func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
47033	s.NextToken = &v
47034	return s
47035}
47036
47037// Contains the parameters for DescribeConversionTasks.
47038type DescribeConversionTasksInput struct {
47039	_ struct{} `type:"structure"`
47040
47041	// The conversion task IDs.
47042	ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
47043
47044	// Checks whether you have the required permissions for the action, without
47045	// actually making the request, and provides an error response. If you have
47046	// the required permissions, the error response is DryRunOperation. Otherwise,
47047	// it is UnauthorizedOperation.
47048	DryRun *bool `locationName:"dryRun" type:"boolean"`
47049}
47050
47051// String returns the string representation
47052func (s DescribeConversionTasksInput) String() string {
47053	return awsutil.Prettify(s)
47054}
47055
47056// GoString returns the string representation
47057func (s DescribeConversionTasksInput) GoString() string {
47058	return s.String()
47059}
47060
47061// SetConversionTaskIds sets the ConversionTaskIds field's value.
47062func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
47063	s.ConversionTaskIds = v
47064	return s
47065}
47066
47067// SetDryRun sets the DryRun field's value.
47068func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
47069	s.DryRun = &v
47070	return s
47071}
47072
47073// Contains the output for DescribeConversionTasks.
47074type DescribeConversionTasksOutput struct {
47075	_ struct{} `type:"structure"`
47076
47077	// Information about the conversion tasks.
47078	ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
47079}
47080
47081// String returns the string representation
47082func (s DescribeConversionTasksOutput) String() string {
47083	return awsutil.Prettify(s)
47084}
47085
47086// GoString returns the string representation
47087func (s DescribeConversionTasksOutput) GoString() string {
47088	return s.String()
47089}
47090
47091// SetConversionTasks sets the ConversionTasks field's value.
47092func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
47093	s.ConversionTasks = v
47094	return s
47095}
47096
47097// Contains the parameters for DescribeCustomerGateways.
47098type DescribeCustomerGatewaysInput struct {
47099	_ struct{} `type:"structure"`
47100
47101	// One or more customer gateway IDs.
47102	//
47103	// Default: Describes all your customer gateways.
47104	CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
47105
47106	// Checks whether you have the required permissions for the action, without
47107	// actually making the request, and provides an error response. If you have
47108	// the required permissions, the error response is DryRunOperation. Otherwise,
47109	// it is UnauthorizedOperation.
47110	DryRun *bool `locationName:"dryRun" type:"boolean"`
47111
47112	// One or more filters.
47113	//
47114	//    * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
47115	//    System Number (ASN).
47116	//
47117	//    * customer-gateway-id - The ID of the customer gateway.
47118	//
47119	//    * ip-address - The IP address of the customer gateway's Internet-routable
47120	//    external interface.
47121	//
47122	//    * state - The state of the customer gateway (pending | available | deleting
47123	//    | deleted).
47124	//
47125	//    * type - The type of customer gateway. Currently, the only supported type
47126	//    is ipsec.1.
47127	//
47128	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
47129	//    Use the tag key in the filter name and the tag value as the filter value.
47130	//    For example, to find all resources that have a tag with the key Owner
47131	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
47132	//    the filter value.
47133	//
47134	//    * tag-key - The key of a tag assigned to the resource. Use this filter
47135	//    to find all resources assigned a tag with a specific key, regardless of
47136	//    the tag value.
47137	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
47138}
47139
47140// String returns the string representation
47141func (s DescribeCustomerGatewaysInput) String() string {
47142	return awsutil.Prettify(s)
47143}
47144
47145// GoString returns the string representation
47146func (s DescribeCustomerGatewaysInput) GoString() string {
47147	return s.String()
47148}
47149
47150// SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
47151func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
47152	s.CustomerGatewayIds = v
47153	return s
47154}
47155
47156// SetDryRun sets the DryRun field's value.
47157func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
47158	s.DryRun = &v
47159	return s
47160}
47161
47162// SetFilters sets the Filters field's value.
47163func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
47164	s.Filters = v
47165	return s
47166}
47167
47168// Contains the output of DescribeCustomerGateways.
47169type DescribeCustomerGatewaysOutput struct {
47170	_ struct{} `type:"structure"`
47171
47172	// Information about one or more customer gateways.
47173	CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
47174}
47175
47176// String returns the string representation
47177func (s DescribeCustomerGatewaysOutput) String() string {
47178	return awsutil.Prettify(s)
47179}
47180
47181// GoString returns the string representation
47182func (s DescribeCustomerGatewaysOutput) GoString() string {
47183	return s.String()
47184}
47185
47186// SetCustomerGateways sets the CustomerGateways field's value.
47187func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
47188	s.CustomerGateways = v
47189	return s
47190}
47191
47192type DescribeDhcpOptionsInput struct {
47193	_ struct{} `type:"structure"`
47194
47195	// The IDs of one or more DHCP options sets.
47196	//
47197	// Default: Describes all your DHCP options sets.
47198	DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
47199
47200	// Checks whether you have the required permissions for the action, without
47201	// actually making the request, and provides an error response. If you have
47202	// the required permissions, the error response is DryRunOperation. Otherwise,
47203	// it is UnauthorizedOperation.
47204	DryRun *bool `locationName:"dryRun" type:"boolean"`
47205
47206	// One or more filters.
47207	//
47208	//    * dhcp-options-id - The ID of a DHCP options set.
47209	//
47210	//    * key - The key for one of the options (for example, domain-name).
47211	//
47212	//    * value - The value for one of the options.
47213	//
47214	//    * owner-id - The ID of the AWS account that owns the DHCP options set.
47215	//
47216	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
47217	//    Use the tag key in the filter name and the tag value as the filter value.
47218	//    For example, to find all resources that have a tag with the key Owner
47219	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
47220	//    the filter value.
47221	//
47222	//    * tag-key - The key of a tag assigned to the resource. Use this filter
47223	//    to find all resources assigned a tag with a specific key, regardless of
47224	//    the tag value.
47225	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
47226
47227	// The maximum number of results to return with a single call. To retrieve the
47228	// remaining results, make another call with the returned nextToken value.
47229	MaxResults *int64 `min:"5" type:"integer"`
47230
47231	// The token for the next page of results.
47232	NextToken *string `type:"string"`
47233}
47234
47235// String returns the string representation
47236func (s DescribeDhcpOptionsInput) String() string {
47237	return awsutil.Prettify(s)
47238}
47239
47240// GoString returns the string representation
47241func (s DescribeDhcpOptionsInput) GoString() string {
47242	return s.String()
47243}
47244
47245// Validate inspects the fields of the type to determine if they are valid.
47246func (s *DescribeDhcpOptionsInput) Validate() error {
47247	invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"}
47248	if s.MaxResults != nil && *s.MaxResults < 5 {
47249		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
47250	}
47251
47252	if invalidParams.Len() > 0 {
47253		return invalidParams
47254	}
47255	return nil
47256}
47257
47258// SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
47259func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
47260	s.DhcpOptionsIds = v
47261	return s
47262}
47263
47264// SetDryRun sets the DryRun field's value.
47265func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
47266	s.DryRun = &v
47267	return s
47268}
47269
47270// SetFilters sets the Filters field's value.
47271func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
47272	s.Filters = v
47273	return s
47274}
47275
47276// SetMaxResults sets the MaxResults field's value.
47277func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput {
47278	s.MaxResults = &v
47279	return s
47280}
47281
47282// SetNextToken sets the NextToken field's value.
47283func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput {
47284	s.NextToken = &v
47285	return s
47286}
47287
47288type DescribeDhcpOptionsOutput struct {
47289	_ struct{} `type:"structure"`
47290
47291	// Information about one or more DHCP options sets.
47292	DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
47293
47294	// The token to use to retrieve the next page of results. This value is null
47295	// when there are no more results to return.
47296	NextToken *string `locationName:"nextToken" type:"string"`
47297}
47298
47299// String returns the string representation
47300func (s DescribeDhcpOptionsOutput) String() string {
47301	return awsutil.Prettify(s)
47302}
47303
47304// GoString returns the string representation
47305func (s DescribeDhcpOptionsOutput) GoString() string {
47306	return s.String()
47307}
47308
47309// SetDhcpOptions sets the DhcpOptions field's value.
47310func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
47311	s.DhcpOptions = v
47312	return s
47313}
47314
47315// SetNextToken sets the NextToken field's value.
47316func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput {
47317	s.NextToken = &v
47318	return s
47319}
47320
47321type DescribeEgressOnlyInternetGatewaysInput struct {
47322	_ struct{} `type:"structure"`
47323
47324	// Checks whether you have the required permissions for the action, without
47325	// actually making the request, and provides an error response. If you have
47326	// the required permissions, the error response is DryRunOperation. Otherwise,
47327	// it is UnauthorizedOperation.
47328	DryRun *bool `type:"boolean"`
47329
47330	// One or more egress-only internet gateway IDs.
47331	EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
47332
47333	// The maximum number of results to return with a single call. To retrieve the
47334	// remaining results, make another call with the returned nextToken value.
47335	MaxResults *int64 `type:"integer"`
47336
47337	// The token for the next page of results.
47338	NextToken *string `type:"string"`
47339}
47340
47341// String returns the string representation
47342func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
47343	return awsutil.Prettify(s)
47344}
47345
47346// GoString returns the string representation
47347func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
47348	return s.String()
47349}
47350
47351// SetDryRun sets the DryRun field's value.
47352func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
47353	s.DryRun = &v
47354	return s
47355}
47356
47357// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
47358func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
47359	s.EgressOnlyInternetGatewayIds = v
47360	return s
47361}
47362
47363// SetMaxResults sets the MaxResults field's value.
47364func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
47365	s.MaxResults = &v
47366	return s
47367}
47368
47369// SetNextToken sets the NextToken field's value.
47370func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
47371	s.NextToken = &v
47372	return s
47373}
47374
47375type DescribeEgressOnlyInternetGatewaysOutput struct {
47376	_ struct{} `type:"structure"`
47377
47378	// Information about the egress-only internet gateways.
47379	EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
47380
47381	// The token to use to retrieve the next page of results. This value is null
47382	// when there are no more results to return.
47383	NextToken *string `locationName:"nextToken" type:"string"`
47384}
47385
47386// String returns the string representation
47387func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
47388	return awsutil.Prettify(s)
47389}
47390
47391// GoString returns the string representation
47392func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
47393	return s.String()
47394}
47395
47396// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
47397func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
47398	s.EgressOnlyInternetGateways = v
47399	return s
47400}
47401
47402// SetNextToken sets the NextToken field's value.
47403func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
47404	s.NextToken = &v
47405	return s
47406}
47407
47408type DescribeElasticGpusInput struct {
47409	_ struct{} `type:"structure"`
47410
47411	// Checks whether you have the required permissions for the action, without
47412	// actually making the request, and provides an error response. If you have
47413	// the required permissions, the error response is DryRunOperation. Otherwise,
47414	// it is UnauthorizedOperation.
47415	DryRun *bool `type:"boolean"`
47416
47417	// The Elastic Graphics accelerator IDs.
47418	ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
47419
47420	// The filters.
47421	//
47422	//    * availability-zone - The Availability Zone in which the Elastic Graphics
47423	//    accelerator resides.
47424	//
47425	//    * elastic-gpu-health - The status of the Elastic Graphics accelerator
47426	//    (OK | IMPAIRED).
47427	//
47428	//    * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
47429	//
47430	//    * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
47431	//    eg1.medium.
47432	//
47433	//    * instance-id - The ID of the instance to which the Elastic Graphics accelerator
47434	//    is associated.
47435	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
47436
47437	// The maximum number of results to return in a single call. To retrieve the
47438	// remaining results, make another call with the returned NextToken value. This
47439	// value can be between 5 and 1000.
47440	MaxResults *int64 `min:"10" type:"integer"`
47441
47442	// The token to request the next page of results.
47443	NextToken *string `type:"string"`
47444}
47445
47446// String returns the string representation
47447func (s DescribeElasticGpusInput) String() string {
47448	return awsutil.Prettify(s)
47449}
47450
47451// GoString returns the string representation
47452func (s DescribeElasticGpusInput) GoString() string {
47453	return s.String()
47454}
47455
47456// Validate inspects the fields of the type to determine if they are valid.
47457func (s *DescribeElasticGpusInput) Validate() error {
47458	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"}
47459	if s.MaxResults != nil && *s.MaxResults < 10 {
47460		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
47461	}
47462
47463	if invalidParams.Len() > 0 {
47464		return invalidParams
47465	}
47466	return nil
47467}
47468
47469// SetDryRun sets the DryRun field's value.
47470func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
47471	s.DryRun = &v
47472	return s
47473}
47474
47475// SetElasticGpuIds sets the ElasticGpuIds field's value.
47476func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
47477	s.ElasticGpuIds = v
47478	return s
47479}
47480
47481// SetFilters sets the Filters field's value.
47482func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
47483	s.Filters = v
47484	return s
47485}
47486
47487// SetMaxResults sets the MaxResults field's value.
47488func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
47489	s.MaxResults = &v
47490	return s
47491}
47492
47493// SetNextToken sets the NextToken field's value.
47494func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
47495	s.NextToken = &v
47496	return s
47497}
47498
47499type DescribeElasticGpusOutput struct {
47500	_ struct{} `type:"structure"`
47501
47502	// Information about the Elastic Graphics accelerators.
47503	ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
47504
47505	// The total number of items to return. If the total number of items available
47506	// is more than the value specified in max-items then a Next-Token will be provided
47507	// in the output that you can use to resume pagination.
47508	MaxResults *int64 `locationName:"maxResults" type:"integer"`
47509
47510	// The token to use to retrieve the next page of results. This value is null
47511	// when there are no more results to return.
47512	NextToken *string `locationName:"nextToken" type:"string"`
47513}
47514
47515// String returns the string representation
47516func (s DescribeElasticGpusOutput) String() string {
47517	return awsutil.Prettify(s)
47518}
47519
47520// GoString returns the string representation
47521func (s DescribeElasticGpusOutput) GoString() string {
47522	return s.String()
47523}
47524
47525// SetElasticGpuSet sets the ElasticGpuSet field's value.
47526func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
47527	s.ElasticGpuSet = v
47528	return s
47529}
47530
47531// SetMaxResults sets the MaxResults field's value.
47532func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
47533	s.MaxResults = &v
47534	return s
47535}
47536
47537// SetNextToken sets the NextToken field's value.
47538func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
47539	s.NextToken = &v
47540	return s
47541}
47542
47543// Contains the parameters for DescribeExportTasks.
47544type DescribeExportTasksInput struct {
47545	_ struct{} `type:"structure"`
47546
47547	// The export task IDs.
47548	ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
47549}
47550
47551// String returns the string representation
47552func (s DescribeExportTasksInput) String() string {
47553	return awsutil.Prettify(s)
47554}
47555
47556// GoString returns the string representation
47557func (s DescribeExportTasksInput) GoString() string {
47558	return s.String()
47559}
47560
47561// SetExportTaskIds sets the ExportTaskIds field's value.
47562func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
47563	s.ExportTaskIds = v
47564	return s
47565}
47566
47567// Contains the output for DescribeExportTasks.
47568type DescribeExportTasksOutput struct {
47569	_ struct{} `type:"structure"`
47570
47571	// Information about the export tasks.
47572	ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
47573}
47574
47575// String returns the string representation
47576func (s DescribeExportTasksOutput) String() string {
47577	return awsutil.Prettify(s)
47578}
47579
47580// GoString returns the string representation
47581func (s DescribeExportTasksOutput) GoString() string {
47582	return s.String()
47583}
47584
47585// SetExportTasks sets the ExportTasks field's value.
47586func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
47587	s.ExportTasks = v
47588	return s
47589}
47590
47591// Describes the instances that could not be launched by the fleet.
47592type DescribeFleetError struct {
47593	_ struct{} `type:"structure"`
47594
47595	// The error code that indicates why the instance could not be launched. For
47596	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
47597	ErrorCode *string `locationName:"errorCode" type:"string"`
47598
47599	// The error message that describes why the instance could not be launched.
47600	// For more information about error messages, see ee Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
47601	ErrorMessage *string `locationName:"errorMessage" type:"string"`
47602
47603	// The launch templates and overrides that were used for launching the instances.
47604	// Any parameters that you specify in the Overrides override the same parameters
47605	// in the launch template.
47606	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
47607
47608	// Indicates if the instance that could not be launched was a Spot Instance
47609	// or On-Demand Instance.
47610	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
47611}
47612
47613// String returns the string representation
47614func (s DescribeFleetError) String() string {
47615	return awsutil.Prettify(s)
47616}
47617
47618// GoString returns the string representation
47619func (s DescribeFleetError) GoString() string {
47620	return s.String()
47621}
47622
47623// SetErrorCode sets the ErrorCode field's value.
47624func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
47625	s.ErrorCode = &v
47626	return s
47627}
47628
47629// SetErrorMessage sets the ErrorMessage field's value.
47630func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
47631	s.ErrorMessage = &v
47632	return s
47633}
47634
47635// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
47636func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
47637	s.LaunchTemplateAndOverrides = v
47638	return s
47639}
47640
47641// SetLifecycle sets the Lifecycle field's value.
47642func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
47643	s.Lifecycle = &v
47644	return s
47645}
47646
47647type DescribeFleetHistoryInput struct {
47648	_ struct{} `type:"structure"`
47649
47650	// Checks whether you have the required permissions for the action, without
47651	// actually making the request, and provides an error response. If you have
47652	// the required permissions, the error response is DryRunOperation. Otherwise,
47653	// it is UnauthorizedOperation.
47654	DryRun *bool `type:"boolean"`
47655
47656	// The type of events to describe. By default, all events are described.
47657	EventType *string `type:"string" enum:"FleetEventType"`
47658
47659	// The ID of the EC2 Fleet.
47660	//
47661	// FleetId is a required field
47662	FleetId *string `type:"string" required:"true"`
47663
47664	// The maximum number of results to return in a single call. Specify a value
47665	// between 1 and 1000. The default value is 1000. To retrieve the remaining
47666	// results, make another call with the returned NextToken value.
47667	MaxResults *int64 `type:"integer"`
47668
47669	// The token for the next set of results.
47670	NextToken *string `type:"string"`
47671
47672	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
47673	//
47674	// StartTime is a required field
47675	StartTime *time.Time `type:"timestamp" required:"true"`
47676}
47677
47678// String returns the string representation
47679func (s DescribeFleetHistoryInput) String() string {
47680	return awsutil.Prettify(s)
47681}
47682
47683// GoString returns the string representation
47684func (s DescribeFleetHistoryInput) GoString() string {
47685	return s.String()
47686}
47687
47688// Validate inspects the fields of the type to determine if they are valid.
47689func (s *DescribeFleetHistoryInput) Validate() error {
47690	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
47691	if s.FleetId == nil {
47692		invalidParams.Add(request.NewErrParamRequired("FleetId"))
47693	}
47694	if s.StartTime == nil {
47695		invalidParams.Add(request.NewErrParamRequired("StartTime"))
47696	}
47697
47698	if invalidParams.Len() > 0 {
47699		return invalidParams
47700	}
47701	return nil
47702}
47703
47704// SetDryRun sets the DryRun field's value.
47705func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
47706	s.DryRun = &v
47707	return s
47708}
47709
47710// SetEventType sets the EventType field's value.
47711func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
47712	s.EventType = &v
47713	return s
47714}
47715
47716// SetFleetId sets the FleetId field's value.
47717func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
47718	s.FleetId = &v
47719	return s
47720}
47721
47722// SetMaxResults sets the MaxResults field's value.
47723func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
47724	s.MaxResults = &v
47725	return s
47726}
47727
47728// SetNextToken sets the NextToken field's value.
47729func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
47730	s.NextToken = &v
47731	return s
47732}
47733
47734// SetStartTime sets the StartTime field's value.
47735func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
47736	s.StartTime = &v
47737	return s
47738}
47739
47740type DescribeFleetHistoryOutput struct {
47741	_ struct{} `type:"structure"`
47742
47743	// The ID of the EC Fleet.
47744	FleetId *string `locationName:"fleetId" type:"string"`
47745
47746	// Information about the events in the history of the EC2 Fleet.
47747	HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
47748
47749	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
47750	// All records up to this time were retrieved.
47751	//
47752	// If nextToken indicates that there are more results, this value is not present.
47753	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
47754
47755	// The token for the next set of results.
47756	NextToken *string `locationName:"nextToken" type:"string"`
47757
47758	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
47759	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
47760}
47761
47762// String returns the string representation
47763func (s DescribeFleetHistoryOutput) String() string {
47764	return awsutil.Prettify(s)
47765}
47766
47767// GoString returns the string representation
47768func (s DescribeFleetHistoryOutput) GoString() string {
47769	return s.String()
47770}
47771
47772// SetFleetId sets the FleetId field's value.
47773func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
47774	s.FleetId = &v
47775	return s
47776}
47777
47778// SetHistoryRecords sets the HistoryRecords field's value.
47779func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
47780	s.HistoryRecords = v
47781	return s
47782}
47783
47784// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
47785func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
47786	s.LastEvaluatedTime = &v
47787	return s
47788}
47789
47790// SetNextToken sets the NextToken field's value.
47791func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
47792	s.NextToken = &v
47793	return s
47794}
47795
47796// SetStartTime sets the StartTime field's value.
47797func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
47798	s.StartTime = &v
47799	return s
47800}
47801
47802type DescribeFleetInstancesInput struct {
47803	_ struct{} `type:"structure"`
47804
47805	// Checks whether you have the required permissions for the action, without
47806	// actually making the request, and provides an error response. If you have
47807	// the required permissions, the error response is DryRunOperation. Otherwise,
47808	// it is UnauthorizedOperation.
47809	DryRun *bool `type:"boolean"`
47810
47811	// The filters.
47812	//
47813	//    * instance-type - The instance type.
47814	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
47815
47816	// The ID of the EC2 Fleet.
47817	//
47818	// FleetId is a required field
47819	FleetId *string `type:"string" required:"true"`
47820
47821	// The maximum number of results to return in a single call. Specify a value
47822	// between 1 and 1000. The default value is 1000. To retrieve the remaining
47823	// results, make another call with the returned NextToken value.
47824	MaxResults *int64 `type:"integer"`
47825
47826	// The token for the next set of results.
47827	NextToken *string `type:"string"`
47828}
47829
47830// String returns the string representation
47831func (s DescribeFleetInstancesInput) String() string {
47832	return awsutil.Prettify(s)
47833}
47834
47835// GoString returns the string representation
47836func (s DescribeFleetInstancesInput) GoString() string {
47837	return s.String()
47838}
47839
47840// Validate inspects the fields of the type to determine if they are valid.
47841func (s *DescribeFleetInstancesInput) Validate() error {
47842	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
47843	if s.FleetId == nil {
47844		invalidParams.Add(request.NewErrParamRequired("FleetId"))
47845	}
47846
47847	if invalidParams.Len() > 0 {
47848		return invalidParams
47849	}
47850	return nil
47851}
47852
47853// SetDryRun sets the DryRun field's value.
47854func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
47855	s.DryRun = &v
47856	return s
47857}
47858
47859// SetFilters sets the Filters field's value.
47860func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
47861	s.Filters = v
47862	return s
47863}
47864
47865// SetFleetId sets the FleetId field's value.
47866func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
47867	s.FleetId = &v
47868	return s
47869}
47870
47871// SetMaxResults sets the MaxResults field's value.
47872func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
47873	s.MaxResults = &v
47874	return s
47875}
47876
47877// SetNextToken sets the NextToken field's value.
47878func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
47879	s.NextToken = &v
47880	return s
47881}
47882
47883type DescribeFleetInstancesOutput struct {
47884	_ struct{} `type:"structure"`
47885
47886	// The running instances. This list is refreshed periodically and might be out
47887	// of date.
47888	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
47889
47890	// The ID of the EC2 Fleet.
47891	FleetId *string `locationName:"fleetId" type:"string"`
47892
47893	// The token for the next set of results.
47894	NextToken *string `locationName:"nextToken" type:"string"`
47895}
47896
47897// String returns the string representation
47898func (s DescribeFleetInstancesOutput) String() string {
47899	return awsutil.Prettify(s)
47900}
47901
47902// GoString returns the string representation
47903func (s DescribeFleetInstancesOutput) GoString() string {
47904	return s.String()
47905}
47906
47907// SetActiveInstances sets the ActiveInstances field's value.
47908func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
47909	s.ActiveInstances = v
47910	return s
47911}
47912
47913// SetFleetId sets the FleetId field's value.
47914func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
47915	s.FleetId = &v
47916	return s
47917}
47918
47919// SetNextToken sets the NextToken field's value.
47920func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
47921	s.NextToken = &v
47922	return s
47923}
47924
47925type DescribeFleetsInput struct {
47926	_ struct{} `type:"structure"`
47927
47928	// Checks whether you have the required permissions for the action, without
47929	// actually making the request, and provides an error response. If you have
47930	// the required permissions, the error response is DryRunOperation. Otherwise,
47931	// it is UnauthorizedOperation.
47932	DryRun *bool `type:"boolean"`
47933
47934	// The filters.
47935	//
47936	//    * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
47937	//    | pending-termination | fulfilled).
47938	//
47939	//    * excess-capacity-termination-policy - Indicates whether to terminate
47940	//    running instances if the target capacity is decreased below the current
47941	//    EC2 Fleet size (true | false).
47942	//
47943	//    * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
47944	//    | failed | deleted-running | deleted-terminating | modifying).
47945	//
47946	//    * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
47947	//    unhealthy instances (true | false).
47948	//
47949	//    * type - The type of request (instant | request | maintain).
47950	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
47951
47952	// The ID of the EC2 Fleets.
47953	FleetIds []*string `locationName:"FleetId" type:"list"`
47954
47955	// The maximum number of results to return in a single call. Specify a value
47956	// between 1 and 1000. The default value is 1000. To retrieve the remaining
47957	// results, make another call with the returned NextToken value.
47958	MaxResults *int64 `type:"integer"`
47959
47960	// The token for the next set of results.
47961	NextToken *string `type:"string"`
47962}
47963
47964// String returns the string representation
47965func (s DescribeFleetsInput) String() string {
47966	return awsutil.Prettify(s)
47967}
47968
47969// GoString returns the string representation
47970func (s DescribeFleetsInput) GoString() string {
47971	return s.String()
47972}
47973
47974// SetDryRun sets the DryRun field's value.
47975func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
47976	s.DryRun = &v
47977	return s
47978}
47979
47980// SetFilters sets the Filters field's value.
47981func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
47982	s.Filters = v
47983	return s
47984}
47985
47986// SetFleetIds sets the FleetIds field's value.
47987func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
47988	s.FleetIds = v
47989	return s
47990}
47991
47992// SetMaxResults sets the MaxResults field's value.
47993func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
47994	s.MaxResults = &v
47995	return s
47996}
47997
47998// SetNextToken sets the NextToken field's value.
47999func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
48000	s.NextToken = &v
48001	return s
48002}
48003
48004// Describes the instances that were launched by the fleet.
48005type DescribeFleetsInstances struct {
48006	_ struct{} `type:"structure"`
48007
48008	// The IDs of the instances.
48009	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
48010
48011	// The instance type.
48012	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
48013
48014	// The launch templates and overrides that were used for launching the instances.
48015	// Any parameters that you specify in the Overrides override the same parameters
48016	// in the launch template.
48017	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
48018
48019	// Indicates if the instance that was launched is a Spot Instance or On-Demand
48020	// Instance.
48021	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
48022
48023	// The value is Windows for Windows instances; otherwise blank.
48024	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
48025}
48026
48027// String returns the string representation
48028func (s DescribeFleetsInstances) String() string {
48029	return awsutil.Prettify(s)
48030}
48031
48032// GoString returns the string representation
48033func (s DescribeFleetsInstances) GoString() string {
48034	return s.String()
48035}
48036
48037// SetInstanceIds sets the InstanceIds field's value.
48038func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
48039	s.InstanceIds = v
48040	return s
48041}
48042
48043// SetInstanceType sets the InstanceType field's value.
48044func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
48045	s.InstanceType = &v
48046	return s
48047}
48048
48049// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
48050func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
48051	s.LaunchTemplateAndOverrides = v
48052	return s
48053}
48054
48055// SetLifecycle sets the Lifecycle field's value.
48056func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
48057	s.Lifecycle = &v
48058	return s
48059}
48060
48061// SetPlatform sets the Platform field's value.
48062func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
48063	s.Platform = &v
48064	return s
48065}
48066
48067type DescribeFleetsOutput struct {
48068	_ struct{} `type:"structure"`
48069
48070	// Information about the EC2 Fleets.
48071	Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
48072
48073	// The token for the next set of results.
48074	NextToken *string `locationName:"nextToken" type:"string"`
48075}
48076
48077// String returns the string representation
48078func (s DescribeFleetsOutput) String() string {
48079	return awsutil.Prettify(s)
48080}
48081
48082// GoString returns the string representation
48083func (s DescribeFleetsOutput) GoString() string {
48084	return s.String()
48085}
48086
48087// SetFleets sets the Fleets field's value.
48088func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
48089	s.Fleets = v
48090	return s
48091}
48092
48093// SetNextToken sets the NextToken field's value.
48094func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
48095	s.NextToken = &v
48096	return s
48097}
48098
48099type DescribeFlowLogsInput struct {
48100	_ struct{} `type:"structure"`
48101
48102	// Checks whether you have the required permissions for the action, without
48103	// actually making the request, and provides an error response. If you have
48104	// the required permissions, the error response is DryRunOperation. Otherwise,
48105	// it is UnauthorizedOperation.
48106	DryRun *bool `type:"boolean"`
48107
48108	// One or more filters.
48109	//
48110	//    * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
48111	//
48112	//    * log-destination-type - The type of destination to which the flow log
48113	//    publishes data. Possible destination types include cloud-watch-logs and
48114	//    S3.
48115	//
48116	//    * flow-log-id - The ID of the flow log.
48117	//
48118	//    * log-group-name - The name of the log group.
48119	//
48120	//    * resource-id - The ID of the VPC, subnet, or network interface.
48121	//
48122	//    * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
48123	Filter []*Filter `locationNameList:"Filter" type:"list"`
48124
48125	// One or more flow log IDs.
48126	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
48127
48128	// The maximum number of results to return with a single call. To retrieve the
48129	// remaining results, make another call with the returned nextToken value.
48130	MaxResults *int64 `type:"integer"`
48131
48132	// The token for the next page of results.
48133	NextToken *string `type:"string"`
48134}
48135
48136// String returns the string representation
48137func (s DescribeFlowLogsInput) String() string {
48138	return awsutil.Prettify(s)
48139}
48140
48141// GoString returns the string representation
48142func (s DescribeFlowLogsInput) GoString() string {
48143	return s.String()
48144}
48145
48146// SetDryRun sets the DryRun field's value.
48147func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
48148	s.DryRun = &v
48149	return s
48150}
48151
48152// SetFilter sets the Filter field's value.
48153func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
48154	s.Filter = v
48155	return s
48156}
48157
48158// SetFlowLogIds sets the FlowLogIds field's value.
48159func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
48160	s.FlowLogIds = v
48161	return s
48162}
48163
48164// SetMaxResults sets the MaxResults field's value.
48165func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
48166	s.MaxResults = &v
48167	return s
48168}
48169
48170// SetNextToken sets the NextToken field's value.
48171func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
48172	s.NextToken = &v
48173	return s
48174}
48175
48176type DescribeFlowLogsOutput struct {
48177	_ struct{} `type:"structure"`
48178
48179	// Information about the flow logs.
48180	FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
48181
48182	// The token to use to retrieve the next page of results. This value is null
48183	// when there are no more results to return.
48184	NextToken *string `locationName:"nextToken" type:"string"`
48185}
48186
48187// String returns the string representation
48188func (s DescribeFlowLogsOutput) String() string {
48189	return awsutil.Prettify(s)
48190}
48191
48192// GoString returns the string representation
48193func (s DescribeFlowLogsOutput) GoString() string {
48194	return s.String()
48195}
48196
48197// SetFlowLogs sets the FlowLogs field's value.
48198func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
48199	s.FlowLogs = v
48200	return s
48201}
48202
48203// SetNextToken sets the NextToken field's value.
48204func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
48205	s.NextToken = &v
48206	return s
48207}
48208
48209type DescribeFpgaImageAttributeInput struct {
48210	_ struct{} `type:"structure"`
48211
48212	// The AFI attribute.
48213	//
48214	// Attribute is a required field
48215	Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
48216
48217	// Checks whether you have the required permissions for the action, without
48218	// actually making the request, and provides an error response. If you have
48219	// the required permissions, the error response is DryRunOperation. Otherwise,
48220	// it is UnauthorizedOperation.
48221	DryRun *bool `type:"boolean"`
48222
48223	// The ID of the AFI.
48224	//
48225	// FpgaImageId is a required field
48226	FpgaImageId *string `type:"string" required:"true"`
48227}
48228
48229// String returns the string representation
48230func (s DescribeFpgaImageAttributeInput) String() string {
48231	return awsutil.Prettify(s)
48232}
48233
48234// GoString returns the string representation
48235func (s DescribeFpgaImageAttributeInput) GoString() string {
48236	return s.String()
48237}
48238
48239// Validate inspects the fields of the type to determine if they are valid.
48240func (s *DescribeFpgaImageAttributeInput) Validate() error {
48241	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
48242	if s.Attribute == nil {
48243		invalidParams.Add(request.NewErrParamRequired("Attribute"))
48244	}
48245	if s.FpgaImageId == nil {
48246		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
48247	}
48248
48249	if invalidParams.Len() > 0 {
48250		return invalidParams
48251	}
48252	return nil
48253}
48254
48255// SetAttribute sets the Attribute field's value.
48256func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
48257	s.Attribute = &v
48258	return s
48259}
48260
48261// SetDryRun sets the DryRun field's value.
48262func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
48263	s.DryRun = &v
48264	return s
48265}
48266
48267// SetFpgaImageId sets the FpgaImageId field's value.
48268func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
48269	s.FpgaImageId = &v
48270	return s
48271}
48272
48273type DescribeFpgaImageAttributeOutput struct {
48274	_ struct{} `type:"structure"`
48275
48276	// Information about the attribute.
48277	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
48278}
48279
48280// String returns the string representation
48281func (s DescribeFpgaImageAttributeOutput) String() string {
48282	return awsutil.Prettify(s)
48283}
48284
48285// GoString returns the string representation
48286func (s DescribeFpgaImageAttributeOutput) GoString() string {
48287	return s.String()
48288}
48289
48290// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
48291func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
48292	s.FpgaImageAttribute = v
48293	return s
48294}
48295
48296type DescribeFpgaImagesInput struct {
48297	_ struct{} `type:"structure"`
48298
48299	// Checks whether you have the required permissions for the action, without
48300	// actually making the request, and provides an error response. If you have
48301	// the required permissions, the error response is DryRunOperation. Otherwise,
48302	// it is UnauthorizedOperation.
48303	DryRun *bool `type:"boolean"`
48304
48305	// The filters.
48306	//
48307	//    * create-time - The creation time of the AFI.
48308	//
48309	//    * fpga-image-id - The FPGA image identifier (AFI ID).
48310	//
48311	//    * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
48312	//
48313	//    * name - The name of the AFI.
48314	//
48315	//    * owner-id - The AWS account ID of the AFI owner.
48316	//
48317	//    * product-code - The product code.
48318	//
48319	//    * shell-version - The version of the AWS Shell that was used to create
48320	//    the bitstream.
48321	//
48322	//    * state - The state of the AFI (pending | failed | available | unavailable).
48323	//
48324	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
48325	//    Use the tag key in the filter name and the tag value as the filter value.
48326	//    For example, to find all resources that have a tag with the key Owner
48327	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
48328	//    the filter value.
48329	//
48330	//    * tag-key - The key of a tag assigned to the resource. Use this filter
48331	//    to find all resources assigned a tag with a specific key, regardless of
48332	//    the tag value.
48333	//
48334	//    * update-time - The time of the most recent update.
48335	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
48336
48337	// The AFI IDs.
48338	FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
48339
48340	// The maximum number of results to return in a single call.
48341	MaxResults *int64 `min:"5" type:"integer"`
48342
48343	// The token to retrieve the next page of results.
48344	NextToken *string `min:"1" type:"string"`
48345
48346	// Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
48347	// of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
48348	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
48349}
48350
48351// String returns the string representation
48352func (s DescribeFpgaImagesInput) String() string {
48353	return awsutil.Prettify(s)
48354}
48355
48356// GoString returns the string representation
48357func (s DescribeFpgaImagesInput) GoString() string {
48358	return s.String()
48359}
48360
48361// Validate inspects the fields of the type to determine if they are valid.
48362func (s *DescribeFpgaImagesInput) Validate() error {
48363	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
48364	if s.MaxResults != nil && *s.MaxResults < 5 {
48365		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
48366	}
48367	if s.NextToken != nil && len(*s.NextToken) < 1 {
48368		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
48369	}
48370
48371	if invalidParams.Len() > 0 {
48372		return invalidParams
48373	}
48374	return nil
48375}
48376
48377// SetDryRun sets the DryRun field's value.
48378func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
48379	s.DryRun = &v
48380	return s
48381}
48382
48383// SetFilters sets the Filters field's value.
48384func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
48385	s.Filters = v
48386	return s
48387}
48388
48389// SetFpgaImageIds sets the FpgaImageIds field's value.
48390func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
48391	s.FpgaImageIds = v
48392	return s
48393}
48394
48395// SetMaxResults sets the MaxResults field's value.
48396func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
48397	s.MaxResults = &v
48398	return s
48399}
48400
48401// SetNextToken sets the NextToken field's value.
48402func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
48403	s.NextToken = &v
48404	return s
48405}
48406
48407// SetOwners sets the Owners field's value.
48408func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
48409	s.Owners = v
48410	return s
48411}
48412
48413type DescribeFpgaImagesOutput struct {
48414	_ struct{} `type:"structure"`
48415
48416	// Information about the FPGA images.
48417	FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
48418
48419	// The token to use to retrieve the next page of results. This value is null
48420	// when there are no more results to return.
48421	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
48422}
48423
48424// String returns the string representation
48425func (s DescribeFpgaImagesOutput) String() string {
48426	return awsutil.Prettify(s)
48427}
48428
48429// GoString returns the string representation
48430func (s DescribeFpgaImagesOutput) GoString() string {
48431	return s.String()
48432}
48433
48434// SetFpgaImages sets the FpgaImages field's value.
48435func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
48436	s.FpgaImages = v
48437	return s
48438}
48439
48440// SetNextToken sets the NextToken field's value.
48441func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
48442	s.NextToken = &v
48443	return s
48444}
48445
48446type DescribeHostReservationOfferingsInput struct {
48447	_ struct{} `type:"structure"`
48448
48449	// The filters.
48450	//
48451	//    * instance-family - The instance family of the offering (for example,
48452	//    m4).
48453	//
48454	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
48455	Filter []*Filter `locationNameList:"Filter" type:"list"`
48456
48457	// This is the maximum duration of the reservation to purchase, specified in
48458	// seconds. Reservations are available in one-year and three-year terms. The
48459	// number of seconds specified must be the number of seconds in a year (365x24x60x60)
48460	// times one of the supported durations (1 or 3). For example, specify 94608000
48461	// for three years.
48462	MaxDuration *int64 `type:"integer"`
48463
48464	// The maximum number of results to return for the request in a single page.
48465	// The remaining results can be seen by sending another request with the returned
48466	// nextToken value. This value can be between 5 and 500. If maxResults is given
48467	// a larger value than 500, you receive an error.
48468	MaxResults *int64 `min:"5" type:"integer"`
48469
48470	// This is the minimum duration of the reservation you'd like to purchase, specified
48471	// in seconds. Reservations are available in one-year and three-year terms.
48472	// The number of seconds specified must be the number of seconds in a year (365x24x60x60)
48473	// times one of the supported durations (1 or 3). For example, specify 31536000
48474	// for one year.
48475	MinDuration *int64 `type:"integer"`
48476
48477	// The token to use to retrieve the next page of results.
48478	NextToken *string `type:"string"`
48479
48480	// The ID of the reservation offering.
48481	OfferingId *string `type:"string"`
48482}
48483
48484// String returns the string representation
48485func (s DescribeHostReservationOfferingsInput) String() string {
48486	return awsutil.Prettify(s)
48487}
48488
48489// GoString returns the string representation
48490func (s DescribeHostReservationOfferingsInput) GoString() string {
48491	return s.String()
48492}
48493
48494// Validate inspects the fields of the type to determine if they are valid.
48495func (s *DescribeHostReservationOfferingsInput) Validate() error {
48496	invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
48497	if s.MaxResults != nil && *s.MaxResults < 5 {
48498		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
48499	}
48500
48501	if invalidParams.Len() > 0 {
48502		return invalidParams
48503	}
48504	return nil
48505}
48506
48507// SetFilter sets the Filter field's value.
48508func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
48509	s.Filter = v
48510	return s
48511}
48512
48513// SetMaxDuration sets the MaxDuration field's value.
48514func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
48515	s.MaxDuration = &v
48516	return s
48517}
48518
48519// SetMaxResults sets the MaxResults field's value.
48520func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
48521	s.MaxResults = &v
48522	return s
48523}
48524
48525// SetMinDuration sets the MinDuration field's value.
48526func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
48527	s.MinDuration = &v
48528	return s
48529}
48530
48531// SetNextToken sets the NextToken field's value.
48532func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
48533	s.NextToken = &v
48534	return s
48535}
48536
48537// SetOfferingId sets the OfferingId field's value.
48538func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
48539	s.OfferingId = &v
48540	return s
48541}
48542
48543type DescribeHostReservationOfferingsOutput struct {
48544	_ struct{} `type:"structure"`
48545
48546	// The token to use to retrieve the next page of results. This value is null
48547	// when there are no more results to return.
48548	NextToken *string `locationName:"nextToken" type:"string"`
48549
48550	// Information about the offerings.
48551	OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
48552}
48553
48554// String returns the string representation
48555func (s DescribeHostReservationOfferingsOutput) String() string {
48556	return awsutil.Prettify(s)
48557}
48558
48559// GoString returns the string representation
48560func (s DescribeHostReservationOfferingsOutput) GoString() string {
48561	return s.String()
48562}
48563
48564// SetNextToken sets the NextToken field's value.
48565func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
48566	s.NextToken = &v
48567	return s
48568}
48569
48570// SetOfferingSet sets the OfferingSet field's value.
48571func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
48572	s.OfferingSet = v
48573	return s
48574}
48575
48576type DescribeHostReservationsInput struct {
48577	_ struct{} `type:"structure"`
48578
48579	// The filters.
48580	//
48581	//    * instance-family - The instance family (for example, m4).
48582	//
48583	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
48584	//
48585	//    * state - The state of the reservation (payment-pending | payment-failed
48586	//    | active | retired).
48587	//
48588	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
48589	//    Use the tag key in the filter name and the tag value as the filter value.
48590	//    For example, to find all resources that have a tag with the key Owner
48591	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
48592	//    the filter value.
48593	//
48594	//    * tag-key - The key of a tag assigned to the resource. Use this filter
48595	//    to find all resources assigned a tag with a specific key, regardless of
48596	//    the tag value.
48597	Filter []*Filter `locationNameList:"Filter" type:"list"`
48598
48599	// The host reservation IDs.
48600	HostReservationIdSet []*string `locationNameList:"item" type:"list"`
48601
48602	// The maximum number of results to return for the request in a single page.
48603	// The remaining results can be seen by sending another request with the returned
48604	// nextToken value. This value can be between 5 and 500. If maxResults is given
48605	// a larger value than 500, you receive an error.
48606	MaxResults *int64 `type:"integer"`
48607
48608	// The token to use to retrieve the next page of results.
48609	NextToken *string `type:"string"`
48610}
48611
48612// String returns the string representation
48613func (s DescribeHostReservationsInput) String() string {
48614	return awsutil.Prettify(s)
48615}
48616
48617// GoString returns the string representation
48618func (s DescribeHostReservationsInput) GoString() string {
48619	return s.String()
48620}
48621
48622// SetFilter sets the Filter field's value.
48623func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
48624	s.Filter = v
48625	return s
48626}
48627
48628// SetHostReservationIdSet sets the HostReservationIdSet field's value.
48629func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
48630	s.HostReservationIdSet = v
48631	return s
48632}
48633
48634// SetMaxResults sets the MaxResults field's value.
48635func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
48636	s.MaxResults = &v
48637	return s
48638}
48639
48640// SetNextToken sets the NextToken field's value.
48641func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
48642	s.NextToken = &v
48643	return s
48644}
48645
48646type DescribeHostReservationsOutput struct {
48647	_ struct{} `type:"structure"`
48648
48649	// Details about the reservation's configuration.
48650	HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
48651
48652	// The token to use to retrieve the next page of results. This value is null
48653	// when there are no more results to return.
48654	NextToken *string `locationName:"nextToken" type:"string"`
48655}
48656
48657// String returns the string representation
48658func (s DescribeHostReservationsOutput) String() string {
48659	return awsutil.Prettify(s)
48660}
48661
48662// GoString returns the string representation
48663func (s DescribeHostReservationsOutput) GoString() string {
48664	return s.String()
48665}
48666
48667// SetHostReservationSet sets the HostReservationSet field's value.
48668func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
48669	s.HostReservationSet = v
48670	return s
48671}
48672
48673// SetNextToken sets the NextToken field's value.
48674func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
48675	s.NextToken = &v
48676	return s
48677}
48678
48679type DescribeHostsInput struct {
48680	_ struct{} `type:"structure"`
48681
48682	// The filters.
48683	//
48684	//    * auto-placement - Whether auto-placement is enabled or disabled (on |
48685	//    off).
48686	//
48687	//    * availability-zone - The Availability Zone of the host.
48688	//
48689	//    * client-token - The idempotency token that you provided when you allocated
48690	//    the host.
48691	//
48692	//    * host-reservation-id - The ID of the reservation assigned to this host.
48693	//
48694	//    * instance-type - The instance type size that the Dedicated Host is configured
48695	//    to support.
48696	//
48697	//    * state - The allocation state of the Dedicated Host (available | under-assessment
48698	//    | permanent-failure | released | released-permanent-failure).
48699	//
48700	//    * tag-key - The key of a tag assigned to the resource. Use this filter
48701	//    to find all resources assigned a tag with a specific key, regardless of
48702	//    the tag value.
48703	Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
48704
48705	// The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
48706	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
48707
48708	// The maximum number of results to return for the request in a single page.
48709	// The remaining results can be seen by sending another request with the returned
48710	// nextToken value. This value can be between 5 and 500. If maxResults is given
48711	// a larger value than 500, you receive an error. You cannot specify this parameter
48712	// and the host IDs parameter in the same request.
48713	MaxResults *int64 `locationName:"maxResults" type:"integer"`
48714
48715	// The token to retrieve the next page of results.
48716	NextToken *string `locationName:"nextToken" type:"string"`
48717}
48718
48719// String returns the string representation
48720func (s DescribeHostsInput) String() string {
48721	return awsutil.Prettify(s)
48722}
48723
48724// GoString returns the string representation
48725func (s DescribeHostsInput) GoString() string {
48726	return s.String()
48727}
48728
48729// SetFilter sets the Filter field's value.
48730func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
48731	s.Filter = v
48732	return s
48733}
48734
48735// SetHostIds sets the HostIds field's value.
48736func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
48737	s.HostIds = v
48738	return s
48739}
48740
48741// SetMaxResults sets the MaxResults field's value.
48742func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
48743	s.MaxResults = &v
48744	return s
48745}
48746
48747// SetNextToken sets the NextToken field's value.
48748func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
48749	s.NextToken = &v
48750	return s
48751}
48752
48753type DescribeHostsOutput struct {
48754	_ struct{} `type:"structure"`
48755
48756	// Information about the Dedicated Hosts.
48757	Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
48758
48759	// The token to use to retrieve the next page of results. This value is null
48760	// when there are no more results to return.
48761	NextToken *string `locationName:"nextToken" type:"string"`
48762}
48763
48764// String returns the string representation
48765func (s DescribeHostsOutput) String() string {
48766	return awsutil.Prettify(s)
48767}
48768
48769// GoString returns the string representation
48770func (s DescribeHostsOutput) GoString() string {
48771	return s.String()
48772}
48773
48774// SetHosts sets the Hosts field's value.
48775func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
48776	s.Hosts = v
48777	return s
48778}
48779
48780// SetNextToken sets the NextToken field's value.
48781func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
48782	s.NextToken = &v
48783	return s
48784}
48785
48786type DescribeIamInstanceProfileAssociationsInput struct {
48787	_ struct{} `type:"structure"`
48788
48789	// The IAM instance profile associations.
48790	AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
48791
48792	// The filters.
48793	//
48794	//    * instance-id - The ID of the instance.
48795	//
48796	//    * state - The state of the association (associating | associated | disassociating
48797	//    | disassociated).
48798	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
48799
48800	// The maximum number of results to return in a single call. To retrieve the
48801	// remaining results, make another call with the returned NextToken value.
48802	MaxResults *int64 `min:"5" type:"integer"`
48803
48804	// The token to request the next page of results.
48805	NextToken *string `min:"1" type:"string"`
48806}
48807
48808// String returns the string representation
48809func (s DescribeIamInstanceProfileAssociationsInput) String() string {
48810	return awsutil.Prettify(s)
48811}
48812
48813// GoString returns the string representation
48814func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
48815	return s.String()
48816}
48817
48818// Validate inspects the fields of the type to determine if they are valid.
48819func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
48820	invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
48821	if s.MaxResults != nil && *s.MaxResults < 5 {
48822		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
48823	}
48824	if s.NextToken != nil && len(*s.NextToken) < 1 {
48825		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
48826	}
48827
48828	if invalidParams.Len() > 0 {
48829		return invalidParams
48830	}
48831	return nil
48832}
48833
48834// SetAssociationIds sets the AssociationIds field's value.
48835func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
48836	s.AssociationIds = v
48837	return s
48838}
48839
48840// SetFilters sets the Filters field's value.
48841func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
48842	s.Filters = v
48843	return s
48844}
48845
48846// SetMaxResults sets the MaxResults field's value.
48847func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
48848	s.MaxResults = &v
48849	return s
48850}
48851
48852// SetNextToken sets the NextToken field's value.
48853func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
48854	s.NextToken = &v
48855	return s
48856}
48857
48858type DescribeIamInstanceProfileAssociationsOutput struct {
48859	_ struct{} `type:"structure"`
48860
48861	// Information about the IAM instance profile associations.
48862	IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
48863
48864	// The token to use to retrieve the next page of results. This value is null
48865	// when there are no more results to return.
48866	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
48867}
48868
48869// String returns the string representation
48870func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
48871	return awsutil.Prettify(s)
48872}
48873
48874// GoString returns the string representation
48875func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
48876	return s.String()
48877}
48878
48879// SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
48880func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
48881	s.IamInstanceProfileAssociations = v
48882	return s
48883}
48884
48885// SetNextToken sets the NextToken field's value.
48886func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
48887	s.NextToken = &v
48888	return s
48889}
48890
48891type DescribeIdFormatInput struct {
48892	_ struct{} `type:"structure"`
48893
48894	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
48895	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
48896	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
48897	// | network-interface | network-interface-attachment | prefix-list | reservation
48898	// | route-table | route-table-association | security-group | snapshot | subnet
48899	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
48900	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
48901	Resource *string `type:"string"`
48902}
48903
48904// String returns the string representation
48905func (s DescribeIdFormatInput) String() string {
48906	return awsutil.Prettify(s)
48907}
48908
48909// GoString returns the string representation
48910func (s DescribeIdFormatInput) GoString() string {
48911	return s.String()
48912}
48913
48914// SetResource sets the Resource field's value.
48915func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
48916	s.Resource = &v
48917	return s
48918}
48919
48920type DescribeIdFormatOutput struct {
48921	_ struct{} `type:"structure"`
48922
48923	// Information about the ID format for the resource.
48924	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
48925}
48926
48927// String returns the string representation
48928func (s DescribeIdFormatOutput) String() string {
48929	return awsutil.Prettify(s)
48930}
48931
48932// GoString returns the string representation
48933func (s DescribeIdFormatOutput) GoString() string {
48934	return s.String()
48935}
48936
48937// SetStatuses sets the Statuses field's value.
48938func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
48939	s.Statuses = v
48940	return s
48941}
48942
48943type DescribeIdentityIdFormatInput struct {
48944	_ struct{} `type:"structure"`
48945
48946	// The ARN of the principal, which can be an IAM role, IAM user, or the root
48947	// user.
48948	//
48949	// PrincipalArn is a required field
48950	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
48951
48952	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
48953	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
48954	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
48955	// | network-interface | network-interface-attachment | prefix-list | reservation
48956	// | route-table | route-table-association | security-group | snapshot | subnet
48957	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
48958	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
48959	Resource *string `locationName:"resource" type:"string"`
48960}
48961
48962// String returns the string representation
48963func (s DescribeIdentityIdFormatInput) String() string {
48964	return awsutil.Prettify(s)
48965}
48966
48967// GoString returns the string representation
48968func (s DescribeIdentityIdFormatInput) GoString() string {
48969	return s.String()
48970}
48971
48972// Validate inspects the fields of the type to determine if they are valid.
48973func (s *DescribeIdentityIdFormatInput) Validate() error {
48974	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
48975	if s.PrincipalArn == nil {
48976		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
48977	}
48978
48979	if invalidParams.Len() > 0 {
48980		return invalidParams
48981	}
48982	return nil
48983}
48984
48985// SetPrincipalArn sets the PrincipalArn field's value.
48986func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
48987	s.PrincipalArn = &v
48988	return s
48989}
48990
48991// SetResource sets the Resource field's value.
48992func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
48993	s.Resource = &v
48994	return s
48995}
48996
48997type DescribeIdentityIdFormatOutput struct {
48998	_ struct{} `type:"structure"`
48999
49000	// Information about the ID format for the resources.
49001	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
49002}
49003
49004// String returns the string representation
49005func (s DescribeIdentityIdFormatOutput) String() string {
49006	return awsutil.Prettify(s)
49007}
49008
49009// GoString returns the string representation
49010func (s DescribeIdentityIdFormatOutput) GoString() string {
49011	return s.String()
49012}
49013
49014// SetStatuses sets the Statuses field's value.
49015func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
49016	s.Statuses = v
49017	return s
49018}
49019
49020// Contains the parameters for DescribeImageAttribute.
49021type DescribeImageAttributeInput struct {
49022	_ struct{} `type:"structure"`
49023
49024	// The AMI attribute.
49025	//
49026	// Note: Depending on your account privileges, the blockDeviceMapping attribute
49027	// may return a Client.AuthFailure error. If this happens, use DescribeImages
49028	// to get information about the block device mapping for the AMI.
49029	//
49030	// Attribute is a required field
49031	Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
49032
49033	// Checks whether you have the required permissions for the action, without
49034	// actually making the request, and provides an error response. If you have
49035	// the required permissions, the error response is DryRunOperation. Otherwise,
49036	// it is UnauthorizedOperation.
49037	DryRun *bool `locationName:"dryRun" type:"boolean"`
49038
49039	// The ID of the AMI.
49040	//
49041	// ImageId is a required field
49042	ImageId *string `type:"string" required:"true"`
49043}
49044
49045// String returns the string representation
49046func (s DescribeImageAttributeInput) String() string {
49047	return awsutil.Prettify(s)
49048}
49049
49050// GoString returns the string representation
49051func (s DescribeImageAttributeInput) GoString() string {
49052	return s.String()
49053}
49054
49055// Validate inspects the fields of the type to determine if they are valid.
49056func (s *DescribeImageAttributeInput) Validate() error {
49057	invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
49058	if s.Attribute == nil {
49059		invalidParams.Add(request.NewErrParamRequired("Attribute"))
49060	}
49061	if s.ImageId == nil {
49062		invalidParams.Add(request.NewErrParamRequired("ImageId"))
49063	}
49064
49065	if invalidParams.Len() > 0 {
49066		return invalidParams
49067	}
49068	return nil
49069}
49070
49071// SetAttribute sets the Attribute field's value.
49072func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
49073	s.Attribute = &v
49074	return s
49075}
49076
49077// SetDryRun sets the DryRun field's value.
49078func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
49079	s.DryRun = &v
49080	return s
49081}
49082
49083// SetImageId sets the ImageId field's value.
49084func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
49085	s.ImageId = &v
49086	return s
49087}
49088
49089// Describes an image attribute.
49090type DescribeImageAttributeOutput struct {
49091	_ struct{} `type:"structure"`
49092
49093	// The block device mapping entries.
49094	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
49095
49096	// A description for the AMI.
49097	Description *AttributeValue `locationName:"description" type:"structure"`
49098
49099	// The ID of the AMI.
49100	ImageId *string `locationName:"imageId" type:"string"`
49101
49102	// The kernel ID.
49103	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
49104
49105	// The launch permissions.
49106	LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
49107
49108	// The product codes.
49109	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
49110
49111	// The RAM disk ID.
49112	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
49113
49114	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
49115	// interface is enabled.
49116	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
49117}
49118
49119// String returns the string representation
49120func (s DescribeImageAttributeOutput) String() string {
49121	return awsutil.Prettify(s)
49122}
49123
49124// GoString returns the string representation
49125func (s DescribeImageAttributeOutput) GoString() string {
49126	return s.String()
49127}
49128
49129// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
49130func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
49131	s.BlockDeviceMappings = v
49132	return s
49133}
49134
49135// SetDescription sets the Description field's value.
49136func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
49137	s.Description = v
49138	return s
49139}
49140
49141// SetImageId sets the ImageId field's value.
49142func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
49143	s.ImageId = &v
49144	return s
49145}
49146
49147// SetKernelId sets the KernelId field's value.
49148func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
49149	s.KernelId = v
49150	return s
49151}
49152
49153// SetLaunchPermissions sets the LaunchPermissions field's value.
49154func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
49155	s.LaunchPermissions = v
49156	return s
49157}
49158
49159// SetProductCodes sets the ProductCodes field's value.
49160func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
49161	s.ProductCodes = v
49162	return s
49163}
49164
49165// SetRamdiskId sets the RamdiskId field's value.
49166func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
49167	s.RamdiskId = v
49168	return s
49169}
49170
49171// SetSriovNetSupport sets the SriovNetSupport field's value.
49172func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
49173	s.SriovNetSupport = v
49174	return s
49175}
49176
49177type DescribeImagesInput struct {
49178	_ struct{} `type:"structure"`
49179
49180	// Checks whether you have the required permissions for the action, without
49181	// actually making the request, and provides an error response. If you have
49182	// the required permissions, the error response is DryRunOperation. Otherwise,
49183	// it is UnauthorizedOperation.
49184	DryRun *bool `locationName:"dryRun" type:"boolean"`
49185
49186	// Scopes the images by users with explicit launch permissions. Specify an AWS
49187	// account ID, self (the sender of the request), or all (public AMIs).
49188	ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
49189
49190	// The filters.
49191	//
49192	//    * architecture - The image architecture (i386 | x86_64).
49193	//
49194	//    * block-device-mapping.delete-on-termination - A Boolean value that indicates
49195	//    whether the Amazon EBS volume is deleted on instance termination.
49196	//
49197	//    * block-device-mapping.device-name - The device name specified in the
49198	//    block device mapping (for example, /dev/sdh or xvdh).
49199	//
49200	//    * block-device-mapping.snapshot-id - The ID of the snapshot used for the
49201	//    EBS volume.
49202	//
49203	//    * block-device-mapping.volume-size - The volume size of the EBS volume,
49204	//    in GiB.
49205	//
49206	//    * block-device-mapping.volume-type - The volume type of the EBS volume
49207	//    (gp2 | io1 | st1 | sc1 | standard).
49208	//
49209	//    * block-device-mapping.encrypted - A Boolean that indicates whether the
49210	//    EBS volume is encrypted.
49211	//
49212	//    * description - The description of the image (provided during image creation).
49213	//
49214	//    * ena-support - A Boolean that indicates whether enhanced networking with
49215	//    ENA is enabled.
49216	//
49217	//    * hypervisor - The hypervisor type (ovm | xen).
49218	//
49219	//    * image-id - The ID of the image.
49220	//
49221	//    * image-type - The image type (machine | kernel | ramdisk).
49222	//
49223	//    * is-public - A Boolean that indicates whether the image is public.
49224	//
49225	//    * kernel-id - The kernel ID.
49226	//
49227	//    * manifest-location - The location of the image manifest.
49228	//
49229	//    * name - The name of the AMI (provided during image creation).
49230	//
49231	//    * owner-alias - String value from an Amazon-maintained list (amazon |
49232	//    aws-marketplace | microsoft) of snapshot owners. Not to be confused with
49233	//    the user-configured AWS account alias, which is set from the IAM console.
49234	//
49235	//    * owner-id - The AWS account ID of the image owner.
49236	//
49237	//    * platform - The platform. To only list Windows-based AMIs, use windows.
49238	//
49239	//    * product-code - The product code.
49240	//
49241	//    * product-code.type - The type of the product code (devpay | marketplace).
49242	//
49243	//    * ramdisk-id - The RAM disk ID.
49244	//
49245	//    * root-device-name - The device name of the root device volume (for example,
49246	//    /dev/sda1).
49247	//
49248	//    * root-device-type - The type of the root device volume (ebs | instance-store).
49249	//
49250	//    * state - The state of the image (available | pending | failed).
49251	//
49252	//    * state-reason-code - The reason code for the state change.
49253	//
49254	//    * state-reason-message - The message for the state change.
49255	//
49256	//    * sriov-net-support - A value of simple indicates that enhanced networking
49257	//    with the Intel 82599 VF interface is enabled.
49258	//
49259	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
49260	//    Use the tag key in the filter name and the tag value as the filter value.
49261	//    For example, to find all resources that have a tag with the key Owner
49262	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
49263	//    the filter value.
49264	//
49265	//    * tag-key - The key of a tag assigned to the resource. Use this filter
49266	//    to find all resources assigned a tag with a specific key, regardless of
49267	//    the tag value.
49268	//
49269	//    * virtualization-type - The virtualization type (paravirtual | hvm).
49270	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
49271
49272	// The image IDs.
49273	//
49274	// Default: Describes all images available to you.
49275	ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
49276
49277	// Filters the images by the owner. Specify an AWS account ID, self (owner is
49278	// the sender of the request), or an AWS owner alias (valid values are amazon
49279	// | aws-marketplace | microsoft). Omitting this option returns all images for
49280	// which you have launch permissions, regardless of ownership.
49281	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
49282}
49283
49284// String returns the string representation
49285func (s DescribeImagesInput) String() string {
49286	return awsutil.Prettify(s)
49287}
49288
49289// GoString returns the string representation
49290func (s DescribeImagesInput) GoString() string {
49291	return s.String()
49292}
49293
49294// SetDryRun sets the DryRun field's value.
49295func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
49296	s.DryRun = &v
49297	return s
49298}
49299
49300// SetExecutableUsers sets the ExecutableUsers field's value.
49301func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
49302	s.ExecutableUsers = v
49303	return s
49304}
49305
49306// SetFilters sets the Filters field's value.
49307func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
49308	s.Filters = v
49309	return s
49310}
49311
49312// SetImageIds sets the ImageIds field's value.
49313func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
49314	s.ImageIds = v
49315	return s
49316}
49317
49318// SetOwners sets the Owners field's value.
49319func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
49320	s.Owners = v
49321	return s
49322}
49323
49324type DescribeImagesOutput struct {
49325	_ struct{} `type:"structure"`
49326
49327	// Information about the images.
49328	Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
49329}
49330
49331// String returns the string representation
49332func (s DescribeImagesOutput) String() string {
49333	return awsutil.Prettify(s)
49334}
49335
49336// GoString returns the string representation
49337func (s DescribeImagesOutput) GoString() string {
49338	return s.String()
49339}
49340
49341// SetImages sets the Images field's value.
49342func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
49343	s.Images = v
49344	return s
49345}
49346
49347// Contains the parameters for DescribeImportImageTasks.
49348type DescribeImportImageTasksInput struct {
49349	_ struct{} `type:"structure"`
49350
49351	// Checks whether you have the required permissions for the action, without
49352	// actually making the request, and provides an error response. If you have
49353	// the required permissions, the error response is DryRunOperation. Otherwise,
49354	// it is UnauthorizedOperation.
49355	DryRun *bool `type:"boolean"`
49356
49357	// Filter tasks using the task-state filter and one of the following values:
49358	// active, completed, deleting, deleted.
49359	Filters []*Filter `locationNameList:"Filter" type:"list"`
49360
49361	// A list of import image task IDs.
49362	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
49363
49364	// The maximum number of results to return in a single call. To retrieve the
49365	// remaining results, make another call with the returned NextToken value.
49366	MaxResults *int64 `type:"integer"`
49367
49368	// A token that indicates the next page of results.
49369	NextToken *string `type:"string"`
49370}
49371
49372// String returns the string representation
49373func (s DescribeImportImageTasksInput) String() string {
49374	return awsutil.Prettify(s)
49375}
49376
49377// GoString returns the string representation
49378func (s DescribeImportImageTasksInput) GoString() string {
49379	return s.String()
49380}
49381
49382// SetDryRun sets the DryRun field's value.
49383func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
49384	s.DryRun = &v
49385	return s
49386}
49387
49388// SetFilters sets the Filters field's value.
49389func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
49390	s.Filters = v
49391	return s
49392}
49393
49394// SetImportTaskIds sets the ImportTaskIds field's value.
49395func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
49396	s.ImportTaskIds = v
49397	return s
49398}
49399
49400// SetMaxResults sets the MaxResults field's value.
49401func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
49402	s.MaxResults = &v
49403	return s
49404}
49405
49406// SetNextToken sets the NextToken field's value.
49407func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
49408	s.NextToken = &v
49409	return s
49410}
49411
49412// Contains the output for DescribeImportImageTasks.
49413type DescribeImportImageTasksOutput struct {
49414	_ struct{} `type:"structure"`
49415
49416	// A list of zero or more import image tasks that are currently active or were
49417	// completed or canceled in the previous 7 days.
49418	ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
49419
49420	// The token to use to get the next page of results. This value is null when
49421	// there are no more results to return.
49422	NextToken *string `locationName:"nextToken" type:"string"`
49423}
49424
49425// String returns the string representation
49426func (s DescribeImportImageTasksOutput) String() string {
49427	return awsutil.Prettify(s)
49428}
49429
49430// GoString returns the string representation
49431func (s DescribeImportImageTasksOutput) GoString() string {
49432	return s.String()
49433}
49434
49435// SetImportImageTasks sets the ImportImageTasks field's value.
49436func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
49437	s.ImportImageTasks = v
49438	return s
49439}
49440
49441// SetNextToken sets the NextToken field's value.
49442func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
49443	s.NextToken = &v
49444	return s
49445}
49446
49447// Contains the parameters for DescribeImportSnapshotTasks.
49448type DescribeImportSnapshotTasksInput struct {
49449	_ struct{} `type:"structure"`
49450
49451	// Checks whether you have the required permissions for the action, without
49452	// actually making the request, and provides an error response. If you have
49453	// the required permissions, the error response is DryRunOperation. Otherwise,
49454	// it is UnauthorizedOperation.
49455	DryRun *bool `type:"boolean"`
49456
49457	// The filters.
49458	Filters []*Filter `locationNameList:"Filter" type:"list"`
49459
49460	// A list of import snapshot task IDs.
49461	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
49462
49463	// The maximum number of results to return in a single call. To retrieve the
49464	// remaining results, make another call with the returned NextToken value.
49465	MaxResults *int64 `type:"integer"`
49466
49467	// A token that indicates the next page of results.
49468	NextToken *string `type:"string"`
49469}
49470
49471// String returns the string representation
49472func (s DescribeImportSnapshotTasksInput) String() string {
49473	return awsutil.Prettify(s)
49474}
49475
49476// GoString returns the string representation
49477func (s DescribeImportSnapshotTasksInput) GoString() string {
49478	return s.String()
49479}
49480
49481// SetDryRun sets the DryRun field's value.
49482func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
49483	s.DryRun = &v
49484	return s
49485}
49486
49487// SetFilters sets the Filters field's value.
49488func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
49489	s.Filters = v
49490	return s
49491}
49492
49493// SetImportTaskIds sets the ImportTaskIds field's value.
49494func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
49495	s.ImportTaskIds = v
49496	return s
49497}
49498
49499// SetMaxResults sets the MaxResults field's value.
49500func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
49501	s.MaxResults = &v
49502	return s
49503}
49504
49505// SetNextToken sets the NextToken field's value.
49506func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
49507	s.NextToken = &v
49508	return s
49509}
49510
49511// Contains the output for DescribeImportSnapshotTasks.
49512type DescribeImportSnapshotTasksOutput struct {
49513	_ struct{} `type:"structure"`
49514
49515	// A list of zero or more import snapshot tasks that are currently active or
49516	// were completed or canceled in the previous 7 days.
49517	ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
49518
49519	// The token to use to get the next page of results. This value is null when
49520	// there are no more results to return.
49521	NextToken *string `locationName:"nextToken" type:"string"`
49522}
49523
49524// String returns the string representation
49525func (s DescribeImportSnapshotTasksOutput) String() string {
49526	return awsutil.Prettify(s)
49527}
49528
49529// GoString returns the string representation
49530func (s DescribeImportSnapshotTasksOutput) GoString() string {
49531	return s.String()
49532}
49533
49534// SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
49535func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
49536	s.ImportSnapshotTasks = v
49537	return s
49538}
49539
49540// SetNextToken sets the NextToken field's value.
49541func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
49542	s.NextToken = &v
49543	return s
49544}
49545
49546type DescribeInstanceAttributeInput struct {
49547	_ struct{} `type:"structure"`
49548
49549	// The instance attribute.
49550	//
49551	// Note: The enaSupport attribute is not supported at this time.
49552	//
49553	// Attribute is a required field
49554	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
49555
49556	// Checks whether you have the required permissions for the action, without
49557	// actually making the request, and provides an error response. If you have
49558	// the required permissions, the error response is DryRunOperation. Otherwise,
49559	// it is UnauthorizedOperation.
49560	DryRun *bool `locationName:"dryRun" type:"boolean"`
49561
49562	// The ID of the instance.
49563	//
49564	// InstanceId is a required field
49565	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
49566}
49567
49568// String returns the string representation
49569func (s DescribeInstanceAttributeInput) String() string {
49570	return awsutil.Prettify(s)
49571}
49572
49573// GoString returns the string representation
49574func (s DescribeInstanceAttributeInput) GoString() string {
49575	return s.String()
49576}
49577
49578// Validate inspects the fields of the type to determine if they are valid.
49579func (s *DescribeInstanceAttributeInput) Validate() error {
49580	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
49581	if s.Attribute == nil {
49582		invalidParams.Add(request.NewErrParamRequired("Attribute"))
49583	}
49584	if s.InstanceId == nil {
49585		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
49586	}
49587
49588	if invalidParams.Len() > 0 {
49589		return invalidParams
49590	}
49591	return nil
49592}
49593
49594// SetAttribute sets the Attribute field's value.
49595func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
49596	s.Attribute = &v
49597	return s
49598}
49599
49600// SetDryRun sets the DryRun field's value.
49601func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
49602	s.DryRun = &v
49603	return s
49604}
49605
49606// SetInstanceId sets the InstanceId field's value.
49607func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
49608	s.InstanceId = &v
49609	return s
49610}
49611
49612// Describes an instance attribute.
49613type DescribeInstanceAttributeOutput struct {
49614	_ struct{} `type:"structure"`
49615
49616	// The block device mapping of the instance.
49617	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
49618
49619	// If the value is true, you can't terminate the instance through the Amazon
49620	// EC2 console, CLI, or API; otherwise, you can.
49621	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
49622
49623	// Indicates whether the instance is optimized for Amazon EBS I/O.
49624	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
49625
49626	// Indicates whether enhanced networking with ENA is enabled.
49627	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
49628
49629	// The security groups associated with the instance.
49630	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
49631
49632	// The ID of the instance.
49633	InstanceId *string `locationName:"instanceId" type:"string"`
49634
49635	// Indicates whether an instance stops or terminates when you initiate shutdown
49636	// from the instance (using the operating system command for system shutdown).
49637	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
49638
49639	// The instance type.
49640	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
49641
49642	// The kernel ID.
49643	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
49644
49645	// A list of product codes.
49646	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
49647
49648	// The RAM disk ID.
49649	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
49650
49651	// The device name of the root device volume (for example, /dev/sda1).
49652	RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
49653
49654	// Indicates whether source/destination checking is enabled. A value of true
49655	// means that checking is enabled, and false means that checking is disabled.
49656	// This value must be false for a NAT instance to perform NAT.
49657	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
49658
49659	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
49660	// interface is enabled.
49661	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
49662
49663	// The user data.
49664	UserData *AttributeValue `locationName:"userData" type:"structure"`
49665}
49666
49667// String returns the string representation
49668func (s DescribeInstanceAttributeOutput) String() string {
49669	return awsutil.Prettify(s)
49670}
49671
49672// GoString returns the string representation
49673func (s DescribeInstanceAttributeOutput) GoString() string {
49674	return s.String()
49675}
49676
49677// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
49678func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
49679	s.BlockDeviceMappings = v
49680	return s
49681}
49682
49683// SetDisableApiTermination sets the DisableApiTermination field's value.
49684func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
49685	s.DisableApiTermination = v
49686	return s
49687}
49688
49689// SetEbsOptimized sets the EbsOptimized field's value.
49690func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
49691	s.EbsOptimized = v
49692	return s
49693}
49694
49695// SetEnaSupport sets the EnaSupport field's value.
49696func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
49697	s.EnaSupport = v
49698	return s
49699}
49700
49701// SetGroups sets the Groups field's value.
49702func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
49703	s.Groups = v
49704	return s
49705}
49706
49707// SetInstanceId sets the InstanceId field's value.
49708func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
49709	s.InstanceId = &v
49710	return s
49711}
49712
49713// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
49714func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
49715	s.InstanceInitiatedShutdownBehavior = v
49716	return s
49717}
49718
49719// SetInstanceType sets the InstanceType field's value.
49720func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
49721	s.InstanceType = v
49722	return s
49723}
49724
49725// SetKernelId sets the KernelId field's value.
49726func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
49727	s.KernelId = v
49728	return s
49729}
49730
49731// SetProductCodes sets the ProductCodes field's value.
49732func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
49733	s.ProductCodes = v
49734	return s
49735}
49736
49737// SetRamdiskId sets the RamdiskId field's value.
49738func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
49739	s.RamdiskId = v
49740	return s
49741}
49742
49743// SetRootDeviceName sets the RootDeviceName field's value.
49744func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
49745	s.RootDeviceName = v
49746	return s
49747}
49748
49749// SetSourceDestCheck sets the SourceDestCheck field's value.
49750func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
49751	s.SourceDestCheck = v
49752	return s
49753}
49754
49755// SetSriovNetSupport sets the SriovNetSupport field's value.
49756func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
49757	s.SriovNetSupport = v
49758	return s
49759}
49760
49761// SetUserData sets the UserData field's value.
49762func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
49763	s.UserData = v
49764	return s
49765}
49766
49767type DescribeInstanceCreditSpecificationsInput struct {
49768	_ struct{} `type:"structure"`
49769
49770	// Checks whether you have the required permissions for the action, without
49771	// actually making the request, and provides an error response. If you have
49772	// the required permissions, the error response is DryRunOperation. Otherwise,
49773	// it is UnauthorizedOperation.
49774	DryRun *bool `type:"boolean"`
49775
49776	// The filters.
49777	//
49778	//    * instance-id - The ID of the instance.
49779	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
49780
49781	// The instance IDs.
49782	//
49783	// Default: Describes all your instances.
49784	//
49785	// Constraints: Maximum 1000 explicitly specified instance IDs.
49786	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
49787
49788	// The maximum number of results to return in a single call. To retrieve the
49789	// remaining results, make another call with the returned NextToken value. This
49790	// value can be between 5 and 1000. You cannot specify this parameter and the
49791	// instance IDs parameter in the same call.
49792	MaxResults *int64 `min:"5" type:"integer"`
49793
49794	// The token to retrieve the next page of results.
49795	NextToken *string `type:"string"`
49796}
49797
49798// String returns the string representation
49799func (s DescribeInstanceCreditSpecificationsInput) String() string {
49800	return awsutil.Prettify(s)
49801}
49802
49803// GoString returns the string representation
49804func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
49805	return s.String()
49806}
49807
49808// Validate inspects the fields of the type to determine if they are valid.
49809func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
49810	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
49811	if s.MaxResults != nil && *s.MaxResults < 5 {
49812		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
49813	}
49814
49815	if invalidParams.Len() > 0 {
49816		return invalidParams
49817	}
49818	return nil
49819}
49820
49821// SetDryRun sets the DryRun field's value.
49822func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
49823	s.DryRun = &v
49824	return s
49825}
49826
49827// SetFilters sets the Filters field's value.
49828func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
49829	s.Filters = v
49830	return s
49831}
49832
49833// SetInstanceIds sets the InstanceIds field's value.
49834func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
49835	s.InstanceIds = v
49836	return s
49837}
49838
49839// SetMaxResults sets the MaxResults field's value.
49840func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
49841	s.MaxResults = &v
49842	return s
49843}
49844
49845// SetNextToken sets the NextToken field's value.
49846func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
49847	s.NextToken = &v
49848	return s
49849}
49850
49851type DescribeInstanceCreditSpecificationsOutput struct {
49852	_ struct{} `type:"structure"`
49853
49854	// Information about the credit option for CPU usage of an instance.
49855	InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
49856
49857	// The token to use to retrieve the next page of results. This value is null
49858	// when there are no more results to return.
49859	NextToken *string `locationName:"nextToken" type:"string"`
49860}
49861
49862// String returns the string representation
49863func (s DescribeInstanceCreditSpecificationsOutput) String() string {
49864	return awsutil.Prettify(s)
49865}
49866
49867// GoString returns the string representation
49868func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
49869	return s.String()
49870}
49871
49872// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
49873func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
49874	s.InstanceCreditSpecifications = v
49875	return s
49876}
49877
49878// SetNextToken sets the NextToken field's value.
49879func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
49880	s.NextToken = &v
49881	return s
49882}
49883
49884type DescribeInstanceStatusInput struct {
49885	_ struct{} `type:"structure"`
49886
49887	// Checks whether you have the required permissions for the action, without
49888	// actually making the request, and provides an error response. If you have
49889	// the required permissions, the error response is DryRunOperation. Otherwise,
49890	// it is UnauthorizedOperation.
49891	DryRun *bool `locationName:"dryRun" type:"boolean"`
49892
49893	// The filters.
49894	//
49895	//    * availability-zone - The Availability Zone of the instance.
49896	//
49897	//    * event.code - The code for the scheduled event (instance-reboot | system-reboot
49898	//    | system-maintenance | instance-retirement | instance-stop).
49899	//
49900	//    * event.description - A description of the event.
49901	//
49902	//    * event.instance-event-id - The ID of the event whose date and time you
49903	//    are modifying.
49904	//
49905	//    * event.not-after - The latest end time for the scheduled event (for example,
49906	//    2014-09-15T17:15:20.000Z).
49907	//
49908	//    * event.not-before - The earliest start time for the scheduled event (for
49909	//    example, 2014-09-15T17:15:20.000Z).
49910	//
49911	//    * event.not-before-deadline - The deadline for starting the event (for
49912	//    example, 2014-09-15T17:15:20.000Z).
49913	//
49914	//    * instance-state-code - The code for the instance state, as a 16-bit unsigned
49915	//    integer. The high byte is used for internal purposes and should be ignored.
49916	//    The low byte is set based on the state represented. The valid values are
49917	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
49918	//    and 80 (stopped).
49919	//
49920	//    * instance-state-name - The state of the instance (pending | running |
49921	//    shutting-down | terminated | stopping | stopped).
49922	//
49923	//    * instance-status.reachability - Filters on instance status where the
49924	//    name is reachability (passed | failed | initializing | insufficient-data).
49925	//
49926	//    * instance-status.status - The status of the instance (ok | impaired |
49927	//    initializing | insufficient-data | not-applicable).
49928	//
49929	//    * system-status.reachability - Filters on system status where the name
49930	//    is reachability (passed | failed | initializing | insufficient-data).
49931	//
49932	//    * system-status.status - The system status of the instance (ok | impaired
49933	//    | initializing | insufficient-data | not-applicable).
49934	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
49935
49936	// When true, includes the health status for all instances. When false, includes
49937	// the health status for running instances only.
49938	//
49939	// Default: false
49940	IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
49941
49942	// The instance IDs.
49943	//
49944	// Default: Describes all your instances.
49945	//
49946	// Constraints: Maximum 100 explicitly specified instance IDs.
49947	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
49948
49949	// The maximum number of results to return in a single call. To retrieve the
49950	// remaining results, make another call with the returned NextToken value. This
49951	// value can be between 5 and 1000. You cannot specify this parameter and the
49952	// instance IDs parameter in the same call.
49953	MaxResults *int64 `type:"integer"`
49954
49955	// The token to retrieve the next page of results.
49956	NextToken *string `type:"string"`
49957}
49958
49959// String returns the string representation
49960func (s DescribeInstanceStatusInput) String() string {
49961	return awsutil.Prettify(s)
49962}
49963
49964// GoString returns the string representation
49965func (s DescribeInstanceStatusInput) GoString() string {
49966	return s.String()
49967}
49968
49969// SetDryRun sets the DryRun field's value.
49970func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
49971	s.DryRun = &v
49972	return s
49973}
49974
49975// SetFilters sets the Filters field's value.
49976func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
49977	s.Filters = v
49978	return s
49979}
49980
49981// SetIncludeAllInstances sets the IncludeAllInstances field's value.
49982func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
49983	s.IncludeAllInstances = &v
49984	return s
49985}
49986
49987// SetInstanceIds sets the InstanceIds field's value.
49988func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
49989	s.InstanceIds = v
49990	return s
49991}
49992
49993// SetMaxResults sets the MaxResults field's value.
49994func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
49995	s.MaxResults = &v
49996	return s
49997}
49998
49999// SetNextToken sets the NextToken field's value.
50000func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
50001	s.NextToken = &v
50002	return s
50003}
50004
50005type DescribeInstanceStatusOutput struct {
50006	_ struct{} `type:"structure"`
50007
50008	// Information about the status of the instances.
50009	InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
50010
50011	// The token to use to retrieve the next page of results. This value is null
50012	// when there are no more results to return.
50013	NextToken *string `locationName:"nextToken" type:"string"`
50014}
50015
50016// String returns the string representation
50017func (s DescribeInstanceStatusOutput) String() string {
50018	return awsutil.Prettify(s)
50019}
50020
50021// GoString returns the string representation
50022func (s DescribeInstanceStatusOutput) GoString() string {
50023	return s.String()
50024}
50025
50026// SetInstanceStatuses sets the InstanceStatuses field's value.
50027func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
50028	s.InstanceStatuses = v
50029	return s
50030}
50031
50032// SetNextToken sets the NextToken field's value.
50033func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
50034	s.NextToken = &v
50035	return s
50036}
50037
50038type DescribeInstancesInput struct {
50039	_ struct{} `type:"structure"`
50040
50041	// Checks whether you have the required permissions for the action, without
50042	// actually making the request, and provides an error response. If you have
50043	// the required permissions, the error response is DryRunOperation. Otherwise,
50044	// it is UnauthorizedOperation.
50045	DryRun *bool `locationName:"dryRun" type:"boolean"`
50046
50047	// The filters.
50048	//
50049	//    * affinity - The affinity setting for an instance running on a Dedicated
50050	//    Host (default | host).
50051	//
50052	//    * architecture - The instance architecture (i386 | x86_64).
50053	//
50054	//    * availability-zone - The Availability Zone of the instance.
50055	//
50056	//    * block-device-mapping.attach-time - The attach time for an EBS volume
50057	//    mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
50058	//
50059	//    * block-device-mapping.delete-on-termination - A Boolean that indicates
50060	//    whether the EBS volume is deleted on instance termination.
50061	//
50062	//    * block-device-mapping.device-name - The device name specified in the
50063	//    block device mapping (for example, /dev/sdh or xvdh).
50064	//
50065	//    * block-device-mapping.status - The status for the EBS volume (attaching
50066	//    | attached | detaching | detached).
50067	//
50068	//    * block-device-mapping.volume-id - The volume ID of the EBS volume.
50069	//
50070	//    * client-token - The idempotency token you provided when you launched
50071	//    the instance.
50072	//
50073	//    * dns-name - The public DNS name of the instance.
50074	//
50075	//    * group-id - The ID of the security group for the instance. EC2-Classic
50076	//    only.
50077	//
50078	//    * group-name - The name of the security group for the instance. EC2-Classic
50079	//    only.
50080	//
50081	//    * hibernation-options.configured - A Boolean that indicates whether the
50082	//    instance is enabled for hibernation. A value of true means that the instance
50083	//    is enabled for hibernation.
50084	//
50085	//    * host-id - The ID of the Dedicated Host on which the instance is running,
50086	//    if applicable.
50087	//
50088	//    * hypervisor - The hypervisor type of the instance (ovm | xen).
50089	//
50090	//    * iam-instance-profile.arn - The instance profile associated with the
50091	//    instance. Specified as an ARN.
50092	//
50093	//    * image-id - The ID of the image used to launch the instance.
50094	//
50095	//    * instance-id - The ID of the instance.
50096	//
50097	//    * instance-lifecycle - Indicates whether this is a Spot Instance or a
50098	//    Scheduled Instance (spot | scheduled).
50099	//
50100	//    * instance-state-code - The state of the instance, as a 16-bit unsigned
50101	//    integer. The high byte is used for internal purposes and should be ignored.
50102	//    The low byte is set based on the state represented. The valid values are:
50103	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
50104	//    and 80 (stopped).
50105	//
50106	//    * instance-state-name - The state of the instance (pending | running |
50107	//    shutting-down | terminated | stopping | stopped).
50108	//
50109	//    * instance-type - The type of instance (for example, t2.micro).
50110	//
50111	//    * instance.group-id - The ID of the security group for the instance.
50112	//
50113	//    * instance.group-name - The name of the security group for the instance.
50114	//
50115	//    * ip-address - The public IPv4 address of the instance.
50116	//
50117	//    * kernel-id - The kernel ID.
50118	//
50119	//    * key-name - The name of the key pair used when the instance was launched.
50120	//
50121	//    * launch-index - When launching multiple instances, this is the index
50122	//    for the instance in the launch group (for example, 0, 1, 2, and so on).
50123	//
50124	//    * launch-time - The time when the instance was launched.
50125	//
50126	//    * monitoring-state - Indicates whether detailed monitoring is enabled
50127	//    (disabled | enabled).
50128	//
50129	//    * network-interface.addresses.private-ip-address - The private IPv4 address
50130	//    associated with the network interface.
50131	//
50132	//    * network-interface.addresses.primary - Specifies whether the IPv4 address
50133	//    of the network interface is the primary private IPv4 address.
50134	//
50135	//    * network-interface.addresses.association.public-ip - The ID of the association
50136	//    of an Elastic IP address (IPv4) with a network interface.
50137	//
50138	//    * network-interface.addresses.association.ip-owner-id - The owner ID of
50139	//    the private IPv4 address associated with the network interface.
50140	//
50141	//    * network-interface.association.public-ip - The address of the Elastic
50142	//    IP address (IPv4) bound to the network interface.
50143	//
50144	//    * network-interface.association.ip-owner-id - The owner of the Elastic
50145	//    IP address (IPv4) associated with the network interface.
50146	//
50147	//    * network-interface.association.allocation-id - The allocation ID returned
50148	//    when you allocated the Elastic IP address (IPv4) for your network interface.
50149	//
50150	//    * network-interface.association.association-id - The association ID returned
50151	//    when the network interface was associated with an IPv4 address.
50152	//
50153	//    * network-interface.attachment.attachment-id - The ID of the interface
50154	//    attachment.
50155	//
50156	//    * network-interface.attachment.instance-id - The ID of the instance to
50157	//    which the network interface is attached.
50158	//
50159	//    * network-interface.attachment.instance-owner-id - The owner ID of the
50160	//    instance to which the network interface is attached.
50161	//
50162	//    * network-interface.attachment.device-index - The device index to which
50163	//    the network interface is attached.
50164	//
50165	//    * network-interface.attachment.status - The status of the attachment (attaching
50166	//    | attached | detaching | detached).
50167	//
50168	//    * network-interface.attachment.attach-time - The time that the network
50169	//    interface was attached to an instance.
50170	//
50171	//    * network-interface.attachment.delete-on-termination - Specifies whether
50172	//    the attachment is deleted when an instance is terminated.
50173	//
50174	//    * network-interface.availability-zone - The Availability Zone for the
50175	//    network interface.
50176	//
50177	//    * network-interface.description - The description of the network interface.
50178	//
50179	//    * network-interface.group-id - The ID of a security group associated with
50180	//    the network interface.
50181	//
50182	//    * network-interface.group-name - The name of a security group associated
50183	//    with the network interface.
50184	//
50185	//    * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
50186	//    with the network interface.
50187	//
50188	//    * network-interface.mac-address - The MAC address of the network interface.
50189	//
50190	//    * network-interface.network-interface-id - The ID of the network interface.
50191	//
50192	//    * network-interface.owner-id - The ID of the owner of the network interface.
50193	//
50194	//    * network-interface.private-dns-name - The private DNS name of the network
50195	//    interface.
50196	//
50197	//    * network-interface.requester-id - The requester ID for the network interface.
50198	//
50199	//    * network-interface.requester-managed - Indicates whether the network
50200	//    interface is being managed by AWS.
50201	//
50202	//    * network-interface.status - The status of the network interface (available)
50203	//    | in-use).
50204	//
50205	//    * network-interface.source-dest-check - Whether the network interface
50206	//    performs source/destination checking. A value of true means that checking
50207	//    is enabled, and false means that checking is disabled. The value must
50208	//    be false for the network interface to perform network address translation
50209	//    (NAT) in your VPC.
50210	//
50211	//    * network-interface.subnet-id - The ID of the subnet for the network interface.
50212	//
50213	//    * network-interface.vpc-id - The ID of the VPC for the network interface.
50214	//
50215	//    * owner-id - The AWS account ID of the instance owner.
50216	//
50217	//    * placement-group-name - The name of the placement group for the instance.
50218	//
50219	//    * placement-partition-number - The partition in which the instance is
50220	//    located.
50221	//
50222	//    * platform - The platform. To list only Windows instances, use windows.
50223	//
50224	//    * private-dns-name - The private IPv4 DNS name of the instance.
50225	//
50226	//    * private-ip-address - The private IPv4 address of the instance.
50227	//
50228	//    * product-code - The product code associated with the AMI used to launch
50229	//    the instance.
50230	//
50231	//    * product-code.type - The type of product code (devpay | marketplace).
50232	//
50233	//    * ramdisk-id - The RAM disk ID.
50234	//
50235	//    * reason - The reason for the current state of the instance (for example,
50236	//    shows "User Initiated [date]" when you stop or terminate the instance).
50237	//    Similar to the state-reason-code filter.
50238	//
50239	//    * requester-id - The ID of the entity that launched the instance on your
50240	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
50241	//
50242	//    * reservation-id - The ID of the instance's reservation. A reservation
50243	//    ID is created any time you launch an instance. A reservation ID has a
50244	//    one-to-one relationship with an instance launch request, but can be associated
50245	//    with more than one instance if you launch multiple instances using the
50246	//    same launch request. For example, if you launch one instance, you get
50247	//    one reservation ID. If you launch ten instances using the same launch
50248	//    request, you also get one reservation ID.
50249	//
50250	//    * root-device-name - The device name of the root device volume (for example,
50251	//    /dev/sda1).
50252	//
50253	//    * root-device-type - The type of the root device volume (ebs | instance-store).
50254	//
50255	//    * source-dest-check - Indicates whether the instance performs source/destination
50256	//    checking. A value of true means that checking is enabled, and false means
50257	//    that checking is disabled. The value must be false for the instance to
50258	//    perform network address translation (NAT) in your VPC.
50259	//
50260	//    * spot-instance-request-id - The ID of the Spot Instance request.
50261	//
50262	//    * state-reason-code - The reason code for the state change.
50263	//
50264	//    * state-reason-message - A message that describes the state change.
50265	//
50266	//    * subnet-id - The ID of the subnet for the instance.
50267	//
50268	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
50269	//    Use the tag key in the filter name and the tag value as the filter value.
50270	//    For example, to find all resources that have a tag with the key Owner
50271	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
50272	//    the filter value.
50273	//
50274	//    * tag-key - The key of a tag assigned to the resource. Use this filter
50275	//    to find all resources that have a tag with a specific key, regardless
50276	//    of the tag value.
50277	//
50278	//    * tenancy - The tenancy of an instance (dedicated | default | host).
50279	//
50280	//    * virtualization-type - The virtualization type of the instance (paravirtual
50281	//    | hvm).
50282	//
50283	//    * vpc-id - The ID of the VPC that the instance is running in.
50284	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
50285
50286	// The instance IDs.
50287	//
50288	// Default: Describes all your instances.
50289	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
50290
50291	// The maximum number of results to return in a single call. To retrieve the
50292	// remaining results, make another call with the returned NextToken value. This
50293	// value can be between 5 and 1000. You cannot specify this parameter and the
50294	// instance IDs parameter in the same call.
50295	MaxResults *int64 `locationName:"maxResults" type:"integer"`
50296
50297	// The token to request the next page of results.
50298	NextToken *string `locationName:"nextToken" type:"string"`
50299}
50300
50301// String returns the string representation
50302func (s DescribeInstancesInput) String() string {
50303	return awsutil.Prettify(s)
50304}
50305
50306// GoString returns the string representation
50307func (s DescribeInstancesInput) GoString() string {
50308	return s.String()
50309}
50310
50311// SetDryRun sets the DryRun field's value.
50312func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
50313	s.DryRun = &v
50314	return s
50315}
50316
50317// SetFilters sets the Filters field's value.
50318func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
50319	s.Filters = v
50320	return s
50321}
50322
50323// SetInstanceIds sets the InstanceIds field's value.
50324func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
50325	s.InstanceIds = v
50326	return s
50327}
50328
50329// SetMaxResults sets the MaxResults field's value.
50330func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
50331	s.MaxResults = &v
50332	return s
50333}
50334
50335// SetNextToken sets the NextToken field's value.
50336func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
50337	s.NextToken = &v
50338	return s
50339}
50340
50341type DescribeInstancesOutput struct {
50342	_ struct{} `type:"structure"`
50343
50344	// The token to use to retrieve the next page of results. This value is null
50345	// when there are no more results to return.
50346	NextToken *string `locationName:"nextToken" type:"string"`
50347
50348	// Information about the reservations.
50349	Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
50350}
50351
50352// String returns the string representation
50353func (s DescribeInstancesOutput) String() string {
50354	return awsutil.Prettify(s)
50355}
50356
50357// GoString returns the string representation
50358func (s DescribeInstancesOutput) GoString() string {
50359	return s.String()
50360}
50361
50362// SetNextToken sets the NextToken field's value.
50363func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
50364	s.NextToken = &v
50365	return s
50366}
50367
50368// SetReservations sets the Reservations field's value.
50369func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
50370	s.Reservations = v
50371	return s
50372}
50373
50374type DescribeInternetGatewaysInput struct {
50375	_ struct{} `type:"structure"`
50376
50377	// Checks whether you have the required permissions for the action, without
50378	// actually making the request, and provides an error response. If you have
50379	// the required permissions, the error response is DryRunOperation. Otherwise,
50380	// it is UnauthorizedOperation.
50381	DryRun *bool `locationName:"dryRun" type:"boolean"`
50382
50383	// One or more filters.
50384	//
50385	//    * attachment.state - The current state of the attachment between the gateway
50386	//    and the VPC (available). Present only if a VPC is attached.
50387	//
50388	//    * attachment.vpc-id - The ID of an attached VPC.
50389	//
50390	//    * internet-gateway-id - The ID of the Internet gateway.
50391	//
50392	//    * owner-id - The ID of the AWS account that owns the internet gateway.
50393	//
50394	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
50395	//    Use the tag key in the filter name and the tag value as the filter value.
50396	//    For example, to find all resources that have a tag with the key Owner
50397	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
50398	//    the filter value.
50399	//
50400	//    * tag-key - The key of a tag assigned to the resource. Use this filter
50401	//    to find all resources assigned a tag with a specific key, regardless of
50402	//    the tag value.
50403	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
50404
50405	// One or more internet gateway IDs.
50406	//
50407	// Default: Describes all your internet gateways.
50408	InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
50409
50410	// The maximum number of results to return with a single call. To retrieve the
50411	// remaining results, make another call with the returned nextToken value.
50412	MaxResults *int64 `min:"5" type:"integer"`
50413
50414	// The token for the next page of results.
50415	NextToken *string `type:"string"`
50416}
50417
50418// String returns the string representation
50419func (s DescribeInternetGatewaysInput) String() string {
50420	return awsutil.Prettify(s)
50421}
50422
50423// GoString returns the string representation
50424func (s DescribeInternetGatewaysInput) GoString() string {
50425	return s.String()
50426}
50427
50428// Validate inspects the fields of the type to determine if they are valid.
50429func (s *DescribeInternetGatewaysInput) Validate() error {
50430	invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
50431	if s.MaxResults != nil && *s.MaxResults < 5 {
50432		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
50433	}
50434
50435	if invalidParams.Len() > 0 {
50436		return invalidParams
50437	}
50438	return nil
50439}
50440
50441// SetDryRun sets the DryRun field's value.
50442func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
50443	s.DryRun = &v
50444	return s
50445}
50446
50447// SetFilters sets the Filters field's value.
50448func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
50449	s.Filters = v
50450	return s
50451}
50452
50453// SetInternetGatewayIds sets the InternetGatewayIds field's value.
50454func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
50455	s.InternetGatewayIds = v
50456	return s
50457}
50458
50459// SetMaxResults sets the MaxResults field's value.
50460func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
50461	s.MaxResults = &v
50462	return s
50463}
50464
50465// SetNextToken sets the NextToken field's value.
50466func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
50467	s.NextToken = &v
50468	return s
50469}
50470
50471type DescribeInternetGatewaysOutput struct {
50472	_ struct{} `type:"structure"`
50473
50474	// Information about one or more internet gateways.
50475	InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
50476
50477	// The token to use to retrieve the next page of results. This value is null
50478	// when there are no more results to return.
50479	NextToken *string `locationName:"nextToken" type:"string"`
50480}
50481
50482// String returns the string representation
50483func (s DescribeInternetGatewaysOutput) String() string {
50484	return awsutil.Prettify(s)
50485}
50486
50487// GoString returns the string representation
50488func (s DescribeInternetGatewaysOutput) GoString() string {
50489	return s.String()
50490}
50491
50492// SetInternetGateways sets the InternetGateways field's value.
50493func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
50494	s.InternetGateways = v
50495	return s
50496}
50497
50498// SetNextToken sets the NextToken field's value.
50499func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
50500	s.NextToken = &v
50501	return s
50502}
50503
50504type DescribeKeyPairsInput struct {
50505	_ struct{} `type:"structure"`
50506
50507	// Checks whether you have the required permissions for the action, without
50508	// actually making the request, and provides an error response. If you have
50509	// the required permissions, the error response is DryRunOperation. Otherwise,
50510	// it is UnauthorizedOperation.
50511	DryRun *bool `locationName:"dryRun" type:"boolean"`
50512
50513	// The filters.
50514	//
50515	//    * fingerprint - The fingerprint of the key pair.
50516	//
50517	//    * key-name - The name of the key pair.
50518	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
50519
50520	// The key pair names.
50521	//
50522	// Default: Describes all your key pairs.
50523	KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
50524}
50525
50526// String returns the string representation
50527func (s DescribeKeyPairsInput) String() string {
50528	return awsutil.Prettify(s)
50529}
50530
50531// GoString returns the string representation
50532func (s DescribeKeyPairsInput) GoString() string {
50533	return s.String()
50534}
50535
50536// SetDryRun sets the DryRun field's value.
50537func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
50538	s.DryRun = &v
50539	return s
50540}
50541
50542// SetFilters sets the Filters field's value.
50543func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
50544	s.Filters = v
50545	return s
50546}
50547
50548// SetKeyNames sets the KeyNames field's value.
50549func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
50550	s.KeyNames = v
50551	return s
50552}
50553
50554type DescribeKeyPairsOutput struct {
50555	_ struct{} `type:"structure"`
50556
50557	// Information about the key pairs.
50558	KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
50559}
50560
50561// String returns the string representation
50562func (s DescribeKeyPairsOutput) String() string {
50563	return awsutil.Prettify(s)
50564}
50565
50566// GoString returns the string representation
50567func (s DescribeKeyPairsOutput) GoString() string {
50568	return s.String()
50569}
50570
50571// SetKeyPairs sets the KeyPairs field's value.
50572func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
50573	s.KeyPairs = v
50574	return s
50575}
50576
50577type DescribeLaunchTemplateVersionsInput struct {
50578	_ struct{} `type:"structure"`
50579
50580	// Checks whether you have the required permissions for the action, without
50581	// actually making the request, and provides an error response. If you have
50582	// the required permissions, the error response is DryRunOperation. Otherwise,
50583	// it is UnauthorizedOperation.
50584	DryRun *bool `type:"boolean"`
50585
50586	// One or more filters.
50587	//
50588	//    * create-time - The time the launch template version was created.
50589	//
50590	//    * ebs-optimized - A boolean that indicates whether the instance is optimized
50591	//    for Amazon EBS I/O.
50592	//
50593	//    * iam-instance-profile - The ARN of the IAM instance profile.
50594	//
50595	//    * image-id - The ID of the AMI.
50596	//
50597	//    * instance-type - The instance type.
50598	//
50599	//    * is-default-version - A boolean that indicates whether the launch template
50600	//    version is the default version.
50601	//
50602	//    * kernel-id - The kernel ID.
50603	//
50604	//    * ram-disk-id - The RAM disk ID.
50605	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
50606
50607	// The ID of the launch template. You must specify either the launch template
50608	// ID or launch template name in the request.
50609	LaunchTemplateId *string `type:"string"`
50610
50611	// The name of the launch template. You must specify either the launch template
50612	// ID or launch template name in the request.
50613	LaunchTemplateName *string `min:"3" type:"string"`
50614
50615	// The maximum number of results to return in a single call. To retrieve the
50616	// remaining results, make another call with the returned NextToken value. This
50617	// value can be between 1 and 200.
50618	MaxResults *int64 `type:"integer"`
50619
50620	// The version number up to which to describe launch template versions.
50621	MaxVersion *string `type:"string"`
50622
50623	// The version number after which to describe launch template versions.
50624	MinVersion *string `type:"string"`
50625
50626	// The token to request the next page of results.
50627	NextToken *string `type:"string"`
50628
50629	// One or more versions of the launch template.
50630	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
50631}
50632
50633// String returns the string representation
50634func (s DescribeLaunchTemplateVersionsInput) String() string {
50635	return awsutil.Prettify(s)
50636}
50637
50638// GoString returns the string representation
50639func (s DescribeLaunchTemplateVersionsInput) GoString() string {
50640	return s.String()
50641}
50642
50643// Validate inspects the fields of the type to determine if they are valid.
50644func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
50645	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
50646	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
50647		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
50648	}
50649
50650	if invalidParams.Len() > 0 {
50651		return invalidParams
50652	}
50653	return nil
50654}
50655
50656// SetDryRun sets the DryRun field's value.
50657func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
50658	s.DryRun = &v
50659	return s
50660}
50661
50662// SetFilters sets the Filters field's value.
50663func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
50664	s.Filters = v
50665	return s
50666}
50667
50668// SetLaunchTemplateId sets the LaunchTemplateId field's value.
50669func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
50670	s.LaunchTemplateId = &v
50671	return s
50672}
50673
50674// SetLaunchTemplateName sets the LaunchTemplateName field's value.
50675func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
50676	s.LaunchTemplateName = &v
50677	return s
50678}
50679
50680// SetMaxResults sets the MaxResults field's value.
50681func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
50682	s.MaxResults = &v
50683	return s
50684}
50685
50686// SetMaxVersion sets the MaxVersion field's value.
50687func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
50688	s.MaxVersion = &v
50689	return s
50690}
50691
50692// SetMinVersion sets the MinVersion field's value.
50693func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
50694	s.MinVersion = &v
50695	return s
50696}
50697
50698// SetNextToken sets the NextToken field's value.
50699func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
50700	s.NextToken = &v
50701	return s
50702}
50703
50704// SetVersions sets the Versions field's value.
50705func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
50706	s.Versions = v
50707	return s
50708}
50709
50710type DescribeLaunchTemplateVersionsOutput struct {
50711	_ struct{} `type:"structure"`
50712
50713	// Information about the launch template versions.
50714	LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
50715
50716	// The token to use to retrieve the next page of results. This value is null
50717	// when there are no more results to return.
50718	NextToken *string `locationName:"nextToken" type:"string"`
50719}
50720
50721// String returns the string representation
50722func (s DescribeLaunchTemplateVersionsOutput) String() string {
50723	return awsutil.Prettify(s)
50724}
50725
50726// GoString returns the string representation
50727func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
50728	return s.String()
50729}
50730
50731// SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
50732func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
50733	s.LaunchTemplateVersions = v
50734	return s
50735}
50736
50737// SetNextToken sets the NextToken field's value.
50738func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
50739	s.NextToken = &v
50740	return s
50741}
50742
50743type DescribeLaunchTemplatesInput struct {
50744	_ struct{} `type:"structure"`
50745
50746	// Checks whether you have the required permissions for the action, without
50747	// actually making the request, and provides an error response. If you have
50748	// the required permissions, the error response is DryRunOperation. Otherwise,
50749	// it is UnauthorizedOperation.
50750	DryRun *bool `type:"boolean"`
50751
50752	// One or more filters.
50753	//
50754	//    * create-time - The time the launch template was created.
50755	//
50756	//    * launch-template-name - The name of the launch template.
50757	//
50758	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
50759	//    Use the tag key in the filter name and the tag value as the filter value.
50760	//    For example, to find all resources that have a tag with the key Owner
50761	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
50762	//    the filter value.
50763	//
50764	//    * tag-key - The key of a tag assigned to the resource. Use this filter
50765	//    to find all resources assigned a tag with a specific key, regardless of
50766	//    the tag value.
50767	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
50768
50769	// One or more launch template IDs.
50770	LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
50771
50772	// One or more launch template names.
50773	LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
50774
50775	// The maximum number of results to return in a single call. To retrieve the
50776	// remaining results, make another call with the returned NextToken value. This
50777	// value can be between 1 and 200.
50778	MaxResults *int64 `min:"1" type:"integer"`
50779
50780	// The token to request the next page of results.
50781	NextToken *string `type:"string"`
50782}
50783
50784// String returns the string representation
50785func (s DescribeLaunchTemplatesInput) String() string {
50786	return awsutil.Prettify(s)
50787}
50788
50789// GoString returns the string representation
50790func (s DescribeLaunchTemplatesInput) GoString() string {
50791	return s.String()
50792}
50793
50794// Validate inspects the fields of the type to determine if they are valid.
50795func (s *DescribeLaunchTemplatesInput) Validate() error {
50796	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"}
50797	if s.MaxResults != nil && *s.MaxResults < 1 {
50798		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
50799	}
50800
50801	if invalidParams.Len() > 0 {
50802		return invalidParams
50803	}
50804	return nil
50805}
50806
50807// SetDryRun sets the DryRun field's value.
50808func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
50809	s.DryRun = &v
50810	return s
50811}
50812
50813// SetFilters sets the Filters field's value.
50814func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
50815	s.Filters = v
50816	return s
50817}
50818
50819// SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
50820func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
50821	s.LaunchTemplateIds = v
50822	return s
50823}
50824
50825// SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
50826func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
50827	s.LaunchTemplateNames = v
50828	return s
50829}
50830
50831// SetMaxResults sets the MaxResults field's value.
50832func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
50833	s.MaxResults = &v
50834	return s
50835}
50836
50837// SetNextToken sets the NextToken field's value.
50838func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
50839	s.NextToken = &v
50840	return s
50841}
50842
50843type DescribeLaunchTemplatesOutput struct {
50844	_ struct{} `type:"structure"`
50845
50846	// Information about the launch templates.
50847	LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
50848
50849	// The token to use to retrieve the next page of results. This value is null
50850	// when there are no more results to return.
50851	NextToken *string `locationName:"nextToken" type:"string"`
50852}
50853
50854// String returns the string representation
50855func (s DescribeLaunchTemplatesOutput) String() string {
50856	return awsutil.Prettify(s)
50857}
50858
50859// GoString returns the string representation
50860func (s DescribeLaunchTemplatesOutput) GoString() string {
50861	return s.String()
50862}
50863
50864// SetLaunchTemplates sets the LaunchTemplates field's value.
50865func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
50866	s.LaunchTemplates = v
50867	return s
50868}
50869
50870// SetNextToken sets the NextToken field's value.
50871func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
50872	s.NextToken = &v
50873	return s
50874}
50875
50876type DescribeMovingAddressesInput struct {
50877	_ struct{} `type:"structure"`
50878
50879	// Checks whether you have the required permissions for the action, without
50880	// actually making the request, and provides an error response. If you have
50881	// the required permissions, the error response is DryRunOperation. Otherwise,
50882	// it is UnauthorizedOperation.
50883	DryRun *bool `locationName:"dryRun" type:"boolean"`
50884
50885	// One or more filters.
50886	//
50887	//    * moving-status - The status of the Elastic IP address (MovingToVpc |
50888	//    RestoringToClassic).
50889	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
50890
50891	// The maximum number of results to return for the request in a single page.
50892	// The remaining results of the initial request can be seen by sending another
50893	// request with the returned NextToken value. This value can be between 5 and
50894	// 1000; if MaxResults is given a value outside of this range, an error is returned.
50895	//
50896	// Default: If no value is provided, the default is 1000.
50897	MaxResults *int64 `locationName:"maxResults" type:"integer"`
50898
50899	// The token for the next page of results.
50900	NextToken *string `locationName:"nextToken" type:"string"`
50901
50902	// One or more Elastic IP addresses.
50903	PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
50904}
50905
50906// String returns the string representation
50907func (s DescribeMovingAddressesInput) String() string {
50908	return awsutil.Prettify(s)
50909}
50910
50911// GoString returns the string representation
50912func (s DescribeMovingAddressesInput) GoString() string {
50913	return s.String()
50914}
50915
50916// SetDryRun sets the DryRun field's value.
50917func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
50918	s.DryRun = &v
50919	return s
50920}
50921
50922// SetFilters sets the Filters field's value.
50923func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
50924	s.Filters = v
50925	return s
50926}
50927
50928// SetMaxResults sets the MaxResults field's value.
50929func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
50930	s.MaxResults = &v
50931	return s
50932}
50933
50934// SetNextToken sets the NextToken field's value.
50935func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
50936	s.NextToken = &v
50937	return s
50938}
50939
50940// SetPublicIps sets the PublicIps field's value.
50941func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
50942	s.PublicIps = v
50943	return s
50944}
50945
50946type DescribeMovingAddressesOutput struct {
50947	_ struct{} `type:"structure"`
50948
50949	// The status for each Elastic IP address.
50950	MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
50951
50952	// The token to use to retrieve the next page of results. This value is null
50953	// when there are no more results to return.
50954	NextToken *string `locationName:"nextToken" type:"string"`
50955}
50956
50957// String returns the string representation
50958func (s DescribeMovingAddressesOutput) String() string {
50959	return awsutil.Prettify(s)
50960}
50961
50962// GoString returns the string representation
50963func (s DescribeMovingAddressesOutput) GoString() string {
50964	return s.String()
50965}
50966
50967// SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
50968func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
50969	s.MovingAddressStatuses = v
50970	return s
50971}
50972
50973// SetNextToken sets the NextToken field's value.
50974func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
50975	s.NextToken = &v
50976	return s
50977}
50978
50979type DescribeNatGatewaysInput struct {
50980	_ struct{} `type:"structure"`
50981
50982	// One or more filters.
50983	//
50984	//    * nat-gateway-id - The ID of the NAT gateway.
50985	//
50986	//    * state - The state of the NAT gateway (pending | failed | available |
50987	//    deleting | deleted).
50988	//
50989	//    * subnet-id - The ID of the subnet in which the NAT gateway resides.
50990	//
50991	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
50992	//    Use the tag key in the filter name and the tag value as the filter value.
50993	//    For example, to find all resources that have a tag with the key Owner
50994	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
50995	//    the filter value.
50996	//
50997	//    * tag-key - The key of a tag assigned to the resource. Use this filter
50998	//    to find all resources assigned a tag with a specific key, regardless of
50999	//    the tag value.
51000	//
51001	//    * vpc-id - The ID of the VPC in which the NAT gateway resides.
51002	Filter []*Filter `locationNameList:"Filter" type:"list"`
51003
51004	// The maximum number of results to return with a single call. To retrieve the
51005	// remaining results, make another call with the returned nextToken value.
51006	MaxResults *int64 `type:"integer"`
51007
51008	// One or more NAT gateway IDs.
51009	NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
51010
51011	// The token for the next page of results.
51012	NextToken *string `type:"string"`
51013}
51014
51015// String returns the string representation
51016func (s DescribeNatGatewaysInput) String() string {
51017	return awsutil.Prettify(s)
51018}
51019
51020// GoString returns the string representation
51021func (s DescribeNatGatewaysInput) GoString() string {
51022	return s.String()
51023}
51024
51025// SetFilter sets the Filter field's value.
51026func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
51027	s.Filter = v
51028	return s
51029}
51030
51031// SetMaxResults sets the MaxResults field's value.
51032func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
51033	s.MaxResults = &v
51034	return s
51035}
51036
51037// SetNatGatewayIds sets the NatGatewayIds field's value.
51038func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
51039	s.NatGatewayIds = v
51040	return s
51041}
51042
51043// SetNextToken sets the NextToken field's value.
51044func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
51045	s.NextToken = &v
51046	return s
51047}
51048
51049type DescribeNatGatewaysOutput struct {
51050	_ struct{} `type:"structure"`
51051
51052	// Information about the NAT gateways.
51053	NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
51054
51055	// The token to use to retrieve the next page of results. This value is null
51056	// when there are no more results to return.
51057	NextToken *string `locationName:"nextToken" type:"string"`
51058}
51059
51060// String returns the string representation
51061func (s DescribeNatGatewaysOutput) String() string {
51062	return awsutil.Prettify(s)
51063}
51064
51065// GoString returns the string representation
51066func (s DescribeNatGatewaysOutput) GoString() string {
51067	return s.String()
51068}
51069
51070// SetNatGateways sets the NatGateways field's value.
51071func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
51072	s.NatGateways = v
51073	return s
51074}
51075
51076// SetNextToken sets the NextToken field's value.
51077func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
51078	s.NextToken = &v
51079	return s
51080}
51081
51082type DescribeNetworkAclsInput struct {
51083	_ struct{} `type:"structure"`
51084
51085	// Checks whether you have the required permissions for the action, without
51086	// actually making the request, and provides an error response. If you have
51087	// the required permissions, the error response is DryRunOperation. Otherwise,
51088	// it is UnauthorizedOperation.
51089	DryRun *bool `locationName:"dryRun" type:"boolean"`
51090
51091	// One or more filters.
51092	//
51093	//    * association.association-id - The ID of an association ID for the ACL.
51094	//
51095	//    * association.network-acl-id - The ID of the network ACL involved in the
51096	//    association.
51097	//
51098	//    * association.subnet-id - The ID of the subnet involved in the association.
51099	//
51100	//    * default - Indicates whether the ACL is the default network ACL for the
51101	//    VPC.
51102	//
51103	//    * entry.cidr - The IPv4 CIDR range specified in the entry.
51104	//
51105	//    * entry.icmp.code - The ICMP code specified in the entry, if any.
51106	//
51107	//    * entry.icmp.type - The ICMP type specified in the entry, if any.
51108	//
51109	//    * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
51110	//
51111	//    * entry.port-range.from - The start of the port range specified in the
51112	//    entry.
51113	//
51114	//    * entry.port-range.to - The end of the port range specified in the entry.
51115	//
51116	//    * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
51117	//    or a protocol number).
51118	//
51119	//    * entry.rule-action - Allows or denies the matching traffic (allow | deny).
51120	//
51121	//    * entry.rule-number - The number of an entry (in other words, rule) in
51122	//    the set of ACL entries.
51123	//
51124	//    * network-acl-id - The ID of the network ACL.
51125	//
51126	//    * owner-id - The ID of the AWS account that owns the network ACL.
51127	//
51128	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
51129	//    Use the tag key in the filter name and the tag value as the filter value.
51130	//    For example, to find all resources that have a tag with the key Owner
51131	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
51132	//    the filter value.
51133	//
51134	//    * tag-key - The key of a tag assigned to the resource. Use this filter
51135	//    to find all resources assigned a tag with a specific key, regardless of
51136	//    the tag value.
51137	//
51138	//    * vpc-id - The ID of the VPC for the network ACL.
51139	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
51140
51141	// The maximum number of results to return with a single call. To retrieve the
51142	// remaining results, make another call with the returned nextToken value.
51143	MaxResults *int64 `min:"5" type:"integer"`
51144
51145	// One or more network ACL IDs.
51146	//
51147	// Default: Describes all your network ACLs.
51148	NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
51149
51150	// The token for the next page of results.
51151	NextToken *string `type:"string"`
51152}
51153
51154// String returns the string representation
51155func (s DescribeNetworkAclsInput) String() string {
51156	return awsutil.Prettify(s)
51157}
51158
51159// GoString returns the string representation
51160func (s DescribeNetworkAclsInput) GoString() string {
51161	return s.String()
51162}
51163
51164// Validate inspects the fields of the type to determine if they are valid.
51165func (s *DescribeNetworkAclsInput) Validate() error {
51166	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
51167	if s.MaxResults != nil && *s.MaxResults < 5 {
51168		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
51169	}
51170
51171	if invalidParams.Len() > 0 {
51172		return invalidParams
51173	}
51174	return nil
51175}
51176
51177// SetDryRun sets the DryRun field's value.
51178func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
51179	s.DryRun = &v
51180	return s
51181}
51182
51183// SetFilters sets the Filters field's value.
51184func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
51185	s.Filters = v
51186	return s
51187}
51188
51189// SetMaxResults sets the MaxResults field's value.
51190func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
51191	s.MaxResults = &v
51192	return s
51193}
51194
51195// SetNetworkAclIds sets the NetworkAclIds field's value.
51196func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
51197	s.NetworkAclIds = v
51198	return s
51199}
51200
51201// SetNextToken sets the NextToken field's value.
51202func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
51203	s.NextToken = &v
51204	return s
51205}
51206
51207type DescribeNetworkAclsOutput struct {
51208	_ struct{} `type:"structure"`
51209
51210	// Information about one or more network ACLs.
51211	NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
51212
51213	// The token to use to retrieve the next page of results. This value is null
51214	// when there are no more results to return.
51215	NextToken *string `locationName:"nextToken" type:"string"`
51216}
51217
51218// String returns the string representation
51219func (s DescribeNetworkAclsOutput) String() string {
51220	return awsutil.Prettify(s)
51221}
51222
51223// GoString returns the string representation
51224func (s DescribeNetworkAclsOutput) GoString() string {
51225	return s.String()
51226}
51227
51228// SetNetworkAcls sets the NetworkAcls field's value.
51229func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
51230	s.NetworkAcls = v
51231	return s
51232}
51233
51234// SetNextToken sets the NextToken field's value.
51235func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
51236	s.NextToken = &v
51237	return s
51238}
51239
51240// Contains the parameters for DescribeNetworkInterfaceAttribute.
51241type DescribeNetworkInterfaceAttributeInput struct {
51242	_ struct{} `type:"structure"`
51243
51244	// The attribute of the network interface. This parameter is required.
51245	Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
51246
51247	// Checks whether you have the required permissions for the action, without
51248	// actually making the request, and provides an error response. If you have
51249	// the required permissions, the error response is DryRunOperation. Otherwise,
51250	// it is UnauthorizedOperation.
51251	DryRun *bool `locationName:"dryRun" type:"boolean"`
51252
51253	// The ID of the network interface.
51254	//
51255	// NetworkInterfaceId is a required field
51256	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
51257}
51258
51259// String returns the string representation
51260func (s DescribeNetworkInterfaceAttributeInput) String() string {
51261	return awsutil.Prettify(s)
51262}
51263
51264// GoString returns the string representation
51265func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
51266	return s.String()
51267}
51268
51269// Validate inspects the fields of the type to determine if they are valid.
51270func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
51271	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
51272	if s.NetworkInterfaceId == nil {
51273		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
51274	}
51275
51276	if invalidParams.Len() > 0 {
51277		return invalidParams
51278	}
51279	return nil
51280}
51281
51282// SetAttribute sets the Attribute field's value.
51283func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
51284	s.Attribute = &v
51285	return s
51286}
51287
51288// SetDryRun sets the DryRun field's value.
51289func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
51290	s.DryRun = &v
51291	return s
51292}
51293
51294// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
51295func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
51296	s.NetworkInterfaceId = &v
51297	return s
51298}
51299
51300// Contains the output of DescribeNetworkInterfaceAttribute.
51301type DescribeNetworkInterfaceAttributeOutput struct {
51302	_ struct{} `type:"structure"`
51303
51304	// The attachment (if any) of the network interface.
51305	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
51306
51307	// The description of the network interface.
51308	Description *AttributeValue `locationName:"description" type:"structure"`
51309
51310	// The security groups associated with the network interface.
51311	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
51312
51313	// The ID of the network interface.
51314	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
51315
51316	// Indicates whether source/destination checking is enabled.
51317	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
51318}
51319
51320// String returns the string representation
51321func (s DescribeNetworkInterfaceAttributeOutput) String() string {
51322	return awsutil.Prettify(s)
51323}
51324
51325// GoString returns the string representation
51326func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
51327	return s.String()
51328}
51329
51330// SetAttachment sets the Attachment field's value.
51331func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
51332	s.Attachment = v
51333	return s
51334}
51335
51336// SetDescription sets the Description field's value.
51337func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
51338	s.Description = v
51339	return s
51340}
51341
51342// SetGroups sets the Groups field's value.
51343func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
51344	s.Groups = v
51345	return s
51346}
51347
51348// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
51349func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
51350	s.NetworkInterfaceId = &v
51351	return s
51352}
51353
51354// SetSourceDestCheck sets the SourceDestCheck field's value.
51355func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
51356	s.SourceDestCheck = v
51357	return s
51358}
51359
51360// Contains the parameters for DescribeNetworkInterfacePermissions.
51361type DescribeNetworkInterfacePermissionsInput struct {
51362	_ struct{} `type:"structure"`
51363
51364	// One or more filters.
51365	//
51366	//    * network-interface-permission.network-interface-permission-id - The ID
51367	//    of the permission.
51368	//
51369	//    * network-interface-permission.network-interface-id - The ID of the network
51370	//    interface.
51371	//
51372	//    * network-interface-permission.aws-account-id - The AWS account ID.
51373	//
51374	//    * network-interface-permission.aws-service - The AWS service.
51375	//
51376	//    * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
51377	//    | EIP-ASSOCIATE).
51378	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
51379
51380	// The maximum number of results to return in a single call. To retrieve the
51381	// remaining results, make another call with the returned NextToken value. If
51382	// this parameter is not specified, up to 50 results are returned by default.
51383	MaxResults *int64 `min:"5" type:"integer"`
51384
51385	// One or more network interface permission IDs.
51386	NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
51387
51388	// The token to request the next page of results.
51389	NextToken *string `type:"string"`
51390}
51391
51392// String returns the string representation
51393func (s DescribeNetworkInterfacePermissionsInput) String() string {
51394	return awsutil.Prettify(s)
51395}
51396
51397// GoString returns the string representation
51398func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
51399	return s.String()
51400}
51401
51402// Validate inspects the fields of the type to determine if they are valid.
51403func (s *DescribeNetworkInterfacePermissionsInput) Validate() error {
51404	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"}
51405	if s.MaxResults != nil && *s.MaxResults < 5 {
51406		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
51407	}
51408
51409	if invalidParams.Len() > 0 {
51410		return invalidParams
51411	}
51412	return nil
51413}
51414
51415// SetFilters sets the Filters field's value.
51416func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
51417	s.Filters = v
51418	return s
51419}
51420
51421// SetMaxResults sets the MaxResults field's value.
51422func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
51423	s.MaxResults = &v
51424	return s
51425}
51426
51427// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
51428func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
51429	s.NetworkInterfacePermissionIds = v
51430	return s
51431}
51432
51433// SetNextToken sets the NextToken field's value.
51434func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
51435	s.NextToken = &v
51436	return s
51437}
51438
51439// Contains the output for DescribeNetworkInterfacePermissions.
51440type DescribeNetworkInterfacePermissionsOutput struct {
51441	_ struct{} `type:"structure"`
51442
51443	// The network interface permissions.
51444	NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
51445
51446	// The token to use to retrieve the next page of results.
51447	NextToken *string `locationName:"nextToken" type:"string"`
51448}
51449
51450// String returns the string representation
51451func (s DescribeNetworkInterfacePermissionsOutput) String() string {
51452	return awsutil.Prettify(s)
51453}
51454
51455// GoString returns the string representation
51456func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
51457	return s.String()
51458}
51459
51460// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
51461func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
51462	s.NetworkInterfacePermissions = v
51463	return s
51464}
51465
51466// SetNextToken sets the NextToken field's value.
51467func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
51468	s.NextToken = &v
51469	return s
51470}
51471
51472// Contains the parameters for DescribeNetworkInterfaces.
51473type DescribeNetworkInterfacesInput struct {
51474	_ struct{} `type:"structure"`
51475
51476	// Checks whether you have the required permissions for the action, without
51477	// actually making the request, and provides an error response. If you have
51478	// the required permissions, the error response is DryRunOperation. Otherwise,
51479	// it is UnauthorizedOperation.
51480	DryRun *bool `locationName:"dryRun" type:"boolean"`
51481
51482	// One or more filters.
51483	//
51484	//    * addresses.private-ip-address - The private IPv4 addresses associated
51485	//    with the network interface.
51486	//
51487	//    * addresses.primary - Whether the private IPv4 address is the primary
51488	//    IP address associated with the network interface.
51489	//
51490	//    * addresses.association.public-ip - The association ID returned when the
51491	//    network interface was associated with the Elastic IP address (IPv4).
51492	//
51493	//    * addresses.association.owner-id - The owner ID of the addresses associated
51494	//    with the network interface.
51495	//
51496	//    * association.association-id - The association ID returned when the network
51497	//    interface was associated with an IPv4 address.
51498	//
51499	//    * association.allocation-id - The allocation ID returned when you allocated
51500	//    the Elastic IP address (IPv4) for your network interface.
51501	//
51502	//    * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
51503	//    associated with the network interface.
51504	//
51505	//    * association.public-ip - The address of the Elastic IP address (IPv4)
51506	//    bound to the network interface.
51507	//
51508	//    * association.public-dns-name - The public DNS name for the network interface
51509	//    (IPv4).
51510	//
51511	//    * attachment.attachment-id - The ID of the interface attachment.
51512	//
51513	//    * attachment.attach.time - The time that the network interface was attached
51514	//    to an instance.
51515	//
51516	//    * attachment.delete-on-termination - Indicates whether the attachment
51517	//    is deleted when an instance is terminated.
51518	//
51519	//    * attachment.device-index - The device index to which the network interface
51520	//    is attached.
51521	//
51522	//    * attachment.instance-id - The ID of the instance to which the network
51523	//    interface is attached.
51524	//
51525	//    * attachment.instance-owner-id - The owner ID of the instance to which
51526	//    the network interface is attached.
51527	//
51528	//    * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
51529	//    interface is attached.
51530	//
51531	//    * attachment.status - The status of the attachment (attaching | attached
51532	//    | detaching | detached).
51533	//
51534	//    * availability-zone - The Availability Zone of the network interface.
51535	//
51536	//    * description - The description of the network interface.
51537	//
51538	//    * group-id - The ID of a security group associated with the network interface.
51539	//
51540	//    * group-name - The name of a security group associated with the network
51541	//    interface.
51542	//
51543	//    * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
51544	//    interface.
51545	//
51546	//    * mac-address - The MAC address of the network interface.
51547	//
51548	//    * network-interface-id - The ID of the network interface.
51549	//
51550	//    * owner-id - The AWS account ID of the network interface owner.
51551	//
51552	//    * private-ip-address - The private IPv4 address or addresses of the network
51553	//    interface.
51554	//
51555	//    * private-dns-name - The private DNS name of the network interface (IPv4).
51556	//
51557	//    * requester-id - The ID of the entity that launched the instance on your
51558	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
51559	//
51560	//    * requester-managed - Indicates whether the network interface is being
51561	//    managed by an AWS service (for example, AWS Management Console, Auto Scaling,
51562	//    and so on).
51563	//
51564	//    * source-dest-check - Indicates whether the network interface performs
51565	//    source/destination checking. A value of true means checking is enabled,
51566	//    and false means checking is disabled. The value must be false for the
51567	//    network interface to perform network address translation (NAT) in your
51568	//    VPC.
51569	//
51570	//    * status - The status of the network interface. If the network interface
51571	//    is not attached to an instance, the status is available; if a network
51572	//    interface is attached to an instance the status is in-use.
51573	//
51574	//    * subnet-id - The ID of the subnet for the network interface.
51575	//
51576	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
51577	//    Use the tag key in the filter name and the tag value as the filter value.
51578	//    For example, to find all resources that have a tag with the key Owner
51579	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
51580	//    the filter value.
51581	//
51582	//    * tag-key - The key of a tag assigned to the resource. Use this filter
51583	//    to find all resources assigned a tag with a specific key, regardless of
51584	//    the tag value.
51585	//
51586	//    * vpc-id - The ID of the VPC for the network interface.
51587	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
51588
51589	// The maximum number of items to return for this request. The request returns
51590	// a token that you can specify in a subsequent call to get the next set of
51591	// results.
51592	MaxResults *int64 `min:"5" type:"integer"`
51593
51594	// One or more network interface IDs.
51595	//
51596	// Default: Describes all your network interfaces.
51597	NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
51598
51599	// The token to retrieve the next page of results.
51600	NextToken *string `type:"string"`
51601}
51602
51603// String returns the string representation
51604func (s DescribeNetworkInterfacesInput) String() string {
51605	return awsutil.Prettify(s)
51606}
51607
51608// GoString returns the string representation
51609func (s DescribeNetworkInterfacesInput) GoString() string {
51610	return s.String()
51611}
51612
51613// Validate inspects the fields of the type to determine if they are valid.
51614func (s *DescribeNetworkInterfacesInput) Validate() error {
51615	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"}
51616	if s.MaxResults != nil && *s.MaxResults < 5 {
51617		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
51618	}
51619
51620	if invalidParams.Len() > 0 {
51621		return invalidParams
51622	}
51623	return nil
51624}
51625
51626// SetDryRun sets the DryRun field's value.
51627func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
51628	s.DryRun = &v
51629	return s
51630}
51631
51632// SetFilters sets the Filters field's value.
51633func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
51634	s.Filters = v
51635	return s
51636}
51637
51638// SetMaxResults sets the MaxResults field's value.
51639func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
51640	s.MaxResults = &v
51641	return s
51642}
51643
51644// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
51645func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
51646	s.NetworkInterfaceIds = v
51647	return s
51648}
51649
51650// SetNextToken sets the NextToken field's value.
51651func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
51652	s.NextToken = &v
51653	return s
51654}
51655
51656// Contains the output of DescribeNetworkInterfaces.
51657type DescribeNetworkInterfacesOutput struct {
51658	_ struct{} `type:"structure"`
51659
51660	// Information about one or more network interfaces.
51661	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
51662
51663	// The token to use to retrieve the next page of results. This value is null
51664	// when there are no more results to return.
51665	NextToken *string `locationName:"nextToken" type:"string"`
51666}
51667
51668// String returns the string representation
51669func (s DescribeNetworkInterfacesOutput) String() string {
51670	return awsutil.Prettify(s)
51671}
51672
51673// GoString returns the string representation
51674func (s DescribeNetworkInterfacesOutput) GoString() string {
51675	return s.String()
51676}
51677
51678// SetNetworkInterfaces sets the NetworkInterfaces field's value.
51679func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
51680	s.NetworkInterfaces = v
51681	return s
51682}
51683
51684// SetNextToken sets the NextToken field's value.
51685func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
51686	s.NextToken = &v
51687	return s
51688}
51689
51690type DescribePlacementGroupsInput struct {
51691	_ struct{} `type:"structure"`
51692
51693	// Checks whether you have the required permissions for the action, without
51694	// actually making the request, and provides an error response. If you have
51695	// the required permissions, the error response is DryRunOperation. Otherwise,
51696	// it is UnauthorizedOperation.
51697	DryRun *bool `locationName:"dryRun" type:"boolean"`
51698
51699	// The filters.
51700	//
51701	//    * group-name - The name of the placement group.
51702	//
51703	//    * state - The state of the placement group (pending | available | deleting
51704	//    | deleted).
51705	//
51706	//    * strategy - The strategy of the placement group (cluster | spread | partition).
51707	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
51708
51709	// The names of the placement groups.
51710	//
51711	// Default: Describes all your placement groups, or only those otherwise specified.
51712	GroupNames []*string `locationName:"groupName" type:"list"`
51713}
51714
51715// String returns the string representation
51716func (s DescribePlacementGroupsInput) String() string {
51717	return awsutil.Prettify(s)
51718}
51719
51720// GoString returns the string representation
51721func (s DescribePlacementGroupsInput) GoString() string {
51722	return s.String()
51723}
51724
51725// SetDryRun sets the DryRun field's value.
51726func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
51727	s.DryRun = &v
51728	return s
51729}
51730
51731// SetFilters sets the Filters field's value.
51732func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
51733	s.Filters = v
51734	return s
51735}
51736
51737// SetGroupNames sets the GroupNames field's value.
51738func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
51739	s.GroupNames = v
51740	return s
51741}
51742
51743type DescribePlacementGroupsOutput struct {
51744	_ struct{} `type:"structure"`
51745
51746	// Information about the placement groups.
51747	PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
51748}
51749
51750// String returns the string representation
51751func (s DescribePlacementGroupsOutput) String() string {
51752	return awsutil.Prettify(s)
51753}
51754
51755// GoString returns the string representation
51756func (s DescribePlacementGroupsOutput) GoString() string {
51757	return s.String()
51758}
51759
51760// SetPlacementGroups sets the PlacementGroups field's value.
51761func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
51762	s.PlacementGroups = v
51763	return s
51764}
51765
51766type DescribePrefixListsInput struct {
51767	_ struct{} `type:"structure"`
51768
51769	// Checks whether you have the required permissions for the action, without
51770	// actually making the request, and provides an error response. If you have
51771	// the required permissions, the error response is DryRunOperation. Otherwise,
51772	// it is UnauthorizedOperation.
51773	DryRun *bool `type:"boolean"`
51774
51775	// One or more filters.
51776	//
51777	//    * prefix-list-id: The ID of a prefix list.
51778	//
51779	//    * prefix-list-name: The name of a prefix list.
51780	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
51781
51782	// The maximum number of results to return with a single call. To retrieve the
51783	// remaining results, make another call with the returned nextToken value.
51784	MaxResults *int64 `type:"integer"`
51785
51786	// The token for the next page of results.
51787	NextToken *string `type:"string"`
51788
51789	// One or more prefix list IDs.
51790	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
51791}
51792
51793// String returns the string representation
51794func (s DescribePrefixListsInput) String() string {
51795	return awsutil.Prettify(s)
51796}
51797
51798// GoString returns the string representation
51799func (s DescribePrefixListsInput) GoString() string {
51800	return s.String()
51801}
51802
51803// SetDryRun sets the DryRun field's value.
51804func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
51805	s.DryRun = &v
51806	return s
51807}
51808
51809// SetFilters sets the Filters field's value.
51810func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
51811	s.Filters = v
51812	return s
51813}
51814
51815// SetMaxResults sets the MaxResults field's value.
51816func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
51817	s.MaxResults = &v
51818	return s
51819}
51820
51821// SetNextToken sets the NextToken field's value.
51822func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
51823	s.NextToken = &v
51824	return s
51825}
51826
51827// SetPrefixListIds sets the PrefixListIds field's value.
51828func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
51829	s.PrefixListIds = v
51830	return s
51831}
51832
51833type DescribePrefixListsOutput struct {
51834	_ struct{} `type:"structure"`
51835
51836	// The token to use to retrieve the next page of results. This value is null
51837	// when there are no more results to return.
51838	NextToken *string `locationName:"nextToken" type:"string"`
51839
51840	// All available prefix lists.
51841	PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
51842}
51843
51844// String returns the string representation
51845func (s DescribePrefixListsOutput) String() string {
51846	return awsutil.Prettify(s)
51847}
51848
51849// GoString returns the string representation
51850func (s DescribePrefixListsOutput) GoString() string {
51851	return s.String()
51852}
51853
51854// SetNextToken sets the NextToken field's value.
51855func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
51856	s.NextToken = &v
51857	return s
51858}
51859
51860// SetPrefixLists sets the PrefixLists field's value.
51861func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
51862	s.PrefixLists = v
51863	return s
51864}
51865
51866type DescribePrincipalIdFormatInput struct {
51867	_ struct{} `type:"structure"`
51868
51869	// Checks whether you have the required permissions for the action, without
51870	// actually making the request, and provides an error response. If you have
51871	// the required permissions, the error response is DryRunOperation. Otherwise,
51872	// it is UnauthorizedOperation.
51873	DryRun *bool `type:"boolean"`
51874
51875	// The maximum number of results to return in a single call. To retrieve the
51876	// remaining results, make another call with the returned NextToken value.
51877	MaxResults *int64 `type:"integer"`
51878
51879	// The token to request the next page of results.
51880	NextToken *string `type:"string"`
51881
51882	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
51883	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
51884	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
51885	// | network-interface | network-interface-attachment | prefix-list | reservation
51886	// | route-table | route-table-association | security-group | snapshot | subnet
51887	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
51888	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
51889	Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
51890}
51891
51892// String returns the string representation
51893func (s DescribePrincipalIdFormatInput) String() string {
51894	return awsutil.Prettify(s)
51895}
51896
51897// GoString returns the string representation
51898func (s DescribePrincipalIdFormatInput) GoString() string {
51899	return s.String()
51900}
51901
51902// SetDryRun sets the DryRun field's value.
51903func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
51904	s.DryRun = &v
51905	return s
51906}
51907
51908// SetMaxResults sets the MaxResults field's value.
51909func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
51910	s.MaxResults = &v
51911	return s
51912}
51913
51914// SetNextToken sets the NextToken field's value.
51915func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
51916	s.NextToken = &v
51917	return s
51918}
51919
51920// SetResources sets the Resources field's value.
51921func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
51922	s.Resources = v
51923	return s
51924}
51925
51926type DescribePrincipalIdFormatOutput struct {
51927	_ struct{} `type:"structure"`
51928
51929	// The token to use to retrieve the next page of results. This value is null
51930	// when there are no more results to return.
51931	NextToken *string `locationName:"nextToken" type:"string"`
51932
51933	// Information about the ID format settings for the ARN.
51934	Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
51935}
51936
51937// String returns the string representation
51938func (s DescribePrincipalIdFormatOutput) String() string {
51939	return awsutil.Prettify(s)
51940}
51941
51942// GoString returns the string representation
51943func (s DescribePrincipalIdFormatOutput) GoString() string {
51944	return s.String()
51945}
51946
51947// SetNextToken sets the NextToken field's value.
51948func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
51949	s.NextToken = &v
51950	return s
51951}
51952
51953// SetPrincipals sets the Principals field's value.
51954func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
51955	s.Principals = v
51956	return s
51957}
51958
51959type DescribePublicIpv4PoolsInput struct {
51960	_ struct{} `type:"structure"`
51961
51962	// The maximum number of results to return with a single call. To retrieve the
51963	// remaining results, make another call with the returned nextToken value.
51964	MaxResults *int64 `min:"1" type:"integer"`
51965
51966	// The token for the next page of results.
51967	NextToken *string `min:"1" type:"string"`
51968
51969	// The IDs of the address pools.
51970	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
51971}
51972
51973// String returns the string representation
51974func (s DescribePublicIpv4PoolsInput) String() string {
51975	return awsutil.Prettify(s)
51976}
51977
51978// GoString returns the string representation
51979func (s DescribePublicIpv4PoolsInput) GoString() string {
51980	return s.String()
51981}
51982
51983// Validate inspects the fields of the type to determine if they are valid.
51984func (s *DescribePublicIpv4PoolsInput) Validate() error {
51985	invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
51986	if s.MaxResults != nil && *s.MaxResults < 1 {
51987		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
51988	}
51989	if s.NextToken != nil && len(*s.NextToken) < 1 {
51990		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
51991	}
51992
51993	if invalidParams.Len() > 0 {
51994		return invalidParams
51995	}
51996	return nil
51997}
51998
51999// SetMaxResults sets the MaxResults field's value.
52000func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
52001	s.MaxResults = &v
52002	return s
52003}
52004
52005// SetNextToken sets the NextToken field's value.
52006func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
52007	s.NextToken = &v
52008	return s
52009}
52010
52011// SetPoolIds sets the PoolIds field's value.
52012func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
52013	s.PoolIds = v
52014	return s
52015}
52016
52017type DescribePublicIpv4PoolsOutput struct {
52018	_ struct{} `type:"structure"`
52019
52020	// The token to use to retrieve the next page of results. This value is null
52021	// when there are no more results to return.
52022	NextToken *string `locationName:"nextToken" type:"string"`
52023
52024	// Information about the address pools.
52025	PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
52026}
52027
52028// String returns the string representation
52029func (s DescribePublicIpv4PoolsOutput) String() string {
52030	return awsutil.Prettify(s)
52031}
52032
52033// GoString returns the string representation
52034func (s DescribePublicIpv4PoolsOutput) GoString() string {
52035	return s.String()
52036}
52037
52038// SetNextToken sets the NextToken field's value.
52039func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
52040	s.NextToken = &v
52041	return s
52042}
52043
52044// SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
52045func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
52046	s.PublicIpv4Pools = v
52047	return s
52048}
52049
52050type DescribeRegionsInput struct {
52051	_ struct{} `type:"structure"`
52052
52053	// Checks whether you have the required permissions for the action, without
52054	// actually making the request, and provides an error response. If you have
52055	// the required permissions, the error response is DryRunOperation. Otherwise,
52056	// it is UnauthorizedOperation.
52057	DryRun *bool `locationName:"dryRun" type:"boolean"`
52058
52059	// The filters.
52060	//
52061	//    * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
52062	//
52063	//    * region-name - The name of the Region (for example, us-east-1).
52064	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52065
52066	// The names of the Regions.
52067	RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
52068}
52069
52070// String returns the string representation
52071func (s DescribeRegionsInput) String() string {
52072	return awsutil.Prettify(s)
52073}
52074
52075// GoString returns the string representation
52076func (s DescribeRegionsInput) GoString() string {
52077	return s.String()
52078}
52079
52080// SetDryRun sets the DryRun field's value.
52081func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
52082	s.DryRun = &v
52083	return s
52084}
52085
52086// SetFilters sets the Filters field's value.
52087func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
52088	s.Filters = v
52089	return s
52090}
52091
52092// SetRegionNames sets the RegionNames field's value.
52093func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
52094	s.RegionNames = v
52095	return s
52096}
52097
52098type DescribeRegionsOutput struct {
52099	_ struct{} `type:"structure"`
52100
52101	// Information about the Regions.
52102	Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
52103}
52104
52105// String returns the string representation
52106func (s DescribeRegionsOutput) String() string {
52107	return awsutil.Prettify(s)
52108}
52109
52110// GoString returns the string representation
52111func (s DescribeRegionsOutput) GoString() string {
52112	return s.String()
52113}
52114
52115// SetRegions sets the Regions field's value.
52116func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
52117	s.Regions = v
52118	return s
52119}
52120
52121// Contains the parameters for DescribeReservedInstances.
52122type DescribeReservedInstancesInput struct {
52123	_ struct{} `type:"structure"`
52124
52125	// Checks whether you have the required permissions for the action, without
52126	// actually making the request, and provides an error response. If you have
52127	// the required permissions, the error response is DryRunOperation. Otherwise,
52128	// it is UnauthorizedOperation.
52129	DryRun *bool `locationName:"dryRun" type:"boolean"`
52130
52131	// One or more filters.
52132	//
52133	//    * availability-zone - The Availability Zone where the Reserved Instance
52134	//    can be used.
52135	//
52136	//    * duration - The duration of the Reserved Instance (one year or three
52137	//    years), in seconds (31536000 | 94608000).
52138	//
52139	//    * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
52140	//
52141	//    * fixed-price - The purchase price of the Reserved Instance (for example,
52142	//    9800.0).
52143	//
52144	//    * instance-type - The instance type that is covered by the reservation.
52145	//
52146	//    * scope - The scope of the Reserved Instance (Region or Availability Zone).
52147	//
52148	//    * product-description - The Reserved Instance product platform description.
52149	//    Instances that include (Amazon VPC) in the product platform description
52150	//    will only be displayed to EC2-Classic account holders and are for use
52151	//    with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
52152	//    Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
52153	//    (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
52154	//    Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
52155	//    SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
52156	//    SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
52157	//
52158	//    * reserved-instances-id - The ID of the Reserved Instance.
52159	//
52160	//    * start - The time at which the Reserved Instance purchase request was
52161	//    placed (for example, 2014-08-07T11:54:42.000Z).
52162	//
52163	//    * state - The state of the Reserved Instance (payment-pending | active
52164	//    | payment-failed | retired).
52165	//
52166	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
52167	//    Use the tag key in the filter name and the tag value as the filter value.
52168	//    For example, to find all resources that have a tag with the key Owner
52169	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
52170	//    the filter value.
52171	//
52172	//    * tag-key - The key of a tag assigned to the resource. Use this filter
52173	//    to find all resources assigned a tag with a specific key, regardless of
52174	//    the tag value.
52175	//
52176	//    * usage-price - The usage price of the Reserved Instance, per hour (for
52177	//    example, 0.84).
52178	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52179
52180	// Describes whether the Reserved Instance is Standard or Convertible.
52181	OfferingClass *string `type:"string" enum:"OfferingClassType"`
52182
52183	// The Reserved Instance offering type. If you are using tools that predate
52184	// the 2011-11-01 API version, you only have access to the Medium Utilization
52185	// Reserved Instance offering type.
52186	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
52187
52188	// One or more Reserved Instance IDs.
52189	//
52190	// Default: Describes all your Reserved Instances, or only those otherwise specified.
52191	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
52192}
52193
52194// String returns the string representation
52195func (s DescribeReservedInstancesInput) String() string {
52196	return awsutil.Prettify(s)
52197}
52198
52199// GoString returns the string representation
52200func (s DescribeReservedInstancesInput) GoString() string {
52201	return s.String()
52202}
52203
52204// SetDryRun sets the DryRun field's value.
52205func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
52206	s.DryRun = &v
52207	return s
52208}
52209
52210// SetFilters sets the Filters field's value.
52211func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
52212	s.Filters = v
52213	return s
52214}
52215
52216// SetOfferingClass sets the OfferingClass field's value.
52217func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
52218	s.OfferingClass = &v
52219	return s
52220}
52221
52222// SetOfferingType sets the OfferingType field's value.
52223func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
52224	s.OfferingType = &v
52225	return s
52226}
52227
52228// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
52229func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
52230	s.ReservedInstancesIds = v
52231	return s
52232}
52233
52234// Contains the parameters for DescribeReservedInstancesListings.
52235type DescribeReservedInstancesListingsInput struct {
52236	_ struct{} `type:"structure"`
52237
52238	// One or more filters.
52239	//
52240	//    * reserved-instances-id - The ID of the Reserved Instances.
52241	//
52242	//    * reserved-instances-listing-id - The ID of the Reserved Instances listing.
52243	//
52244	//    * status - The status of the Reserved Instance listing (pending | active
52245	//    | cancelled | closed).
52246	//
52247	//    * status-message - The reason for the status.
52248	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52249
52250	// One or more Reserved Instance IDs.
52251	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
52252
52253	// One or more Reserved Instance listing IDs.
52254	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
52255}
52256
52257// String returns the string representation
52258func (s DescribeReservedInstancesListingsInput) String() string {
52259	return awsutil.Prettify(s)
52260}
52261
52262// GoString returns the string representation
52263func (s DescribeReservedInstancesListingsInput) GoString() string {
52264	return s.String()
52265}
52266
52267// SetFilters sets the Filters field's value.
52268func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
52269	s.Filters = v
52270	return s
52271}
52272
52273// SetReservedInstancesId sets the ReservedInstancesId field's value.
52274func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
52275	s.ReservedInstancesId = &v
52276	return s
52277}
52278
52279// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
52280func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
52281	s.ReservedInstancesListingId = &v
52282	return s
52283}
52284
52285// Contains the output of DescribeReservedInstancesListings.
52286type DescribeReservedInstancesListingsOutput struct {
52287	_ struct{} `type:"structure"`
52288
52289	// Information about the Reserved Instance listing.
52290	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
52291}
52292
52293// String returns the string representation
52294func (s DescribeReservedInstancesListingsOutput) String() string {
52295	return awsutil.Prettify(s)
52296}
52297
52298// GoString returns the string representation
52299func (s DescribeReservedInstancesListingsOutput) GoString() string {
52300	return s.String()
52301}
52302
52303// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
52304func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
52305	s.ReservedInstancesListings = v
52306	return s
52307}
52308
52309// Contains the parameters for DescribeReservedInstancesModifications.
52310type DescribeReservedInstancesModificationsInput struct {
52311	_ struct{} `type:"structure"`
52312
52313	// One or more filters.
52314	//
52315	//    * client-token - The idempotency token for the modification request.
52316	//
52317	//    * create-date - The time when the modification request was created.
52318	//
52319	//    * effective-date - The time when the modification becomes effective.
52320	//
52321	//    * modification-result.reserved-instances-id - The ID for the Reserved
52322	//    Instances created as part of the modification request. This ID is only
52323	//    available when the status of the modification is fulfilled.
52324	//
52325	//    * modification-result.target-configuration.availability-zone - The Availability
52326	//    Zone for the new Reserved Instances.
52327	//
52328	//    * modification-result.target-configuration.instance-count - The number
52329	//    of new Reserved Instances.
52330	//
52331	//    * modification-result.target-configuration.instance-type - The instance
52332	//    type of the new Reserved Instances.
52333	//
52334	//    * modification-result.target-configuration.platform - The network platform
52335	//    of the new Reserved Instances (EC2-Classic | EC2-VPC).
52336	//
52337	//    * reserved-instances-id - The ID of the Reserved Instances modified.
52338	//
52339	//    * reserved-instances-modification-id - The ID of the modification request.
52340	//
52341	//    * status - The status of the Reserved Instances modification request (processing
52342	//    | fulfilled | failed).
52343	//
52344	//    * status-message - The reason for the status.
52345	//
52346	//    * update-date - The time when the modification request was last updated.
52347	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52348
52349	// The token to retrieve the next page of results.
52350	NextToken *string `locationName:"nextToken" type:"string"`
52351
52352	// IDs for the submitted modification request.
52353	ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
52354}
52355
52356// String returns the string representation
52357func (s DescribeReservedInstancesModificationsInput) String() string {
52358	return awsutil.Prettify(s)
52359}
52360
52361// GoString returns the string representation
52362func (s DescribeReservedInstancesModificationsInput) GoString() string {
52363	return s.String()
52364}
52365
52366// SetFilters sets the Filters field's value.
52367func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
52368	s.Filters = v
52369	return s
52370}
52371
52372// SetNextToken sets the NextToken field's value.
52373func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
52374	s.NextToken = &v
52375	return s
52376}
52377
52378// SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
52379func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
52380	s.ReservedInstancesModificationIds = v
52381	return s
52382}
52383
52384// Contains the output of DescribeReservedInstancesModifications.
52385type DescribeReservedInstancesModificationsOutput struct {
52386	_ struct{} `type:"structure"`
52387
52388	// The token to use to retrieve the next page of results. This value is null
52389	// when there are no more results to return.
52390	NextToken *string `locationName:"nextToken" type:"string"`
52391
52392	// The Reserved Instance modification information.
52393	ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
52394}
52395
52396// String returns the string representation
52397func (s DescribeReservedInstancesModificationsOutput) String() string {
52398	return awsutil.Prettify(s)
52399}
52400
52401// GoString returns the string representation
52402func (s DescribeReservedInstancesModificationsOutput) GoString() string {
52403	return s.String()
52404}
52405
52406// SetNextToken sets the NextToken field's value.
52407func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
52408	s.NextToken = &v
52409	return s
52410}
52411
52412// SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
52413func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
52414	s.ReservedInstancesModifications = v
52415	return s
52416}
52417
52418// Contains the parameters for DescribeReservedInstancesOfferings.
52419type DescribeReservedInstancesOfferingsInput struct {
52420	_ struct{} `type:"structure"`
52421
52422	// The Availability Zone in which the Reserved Instance can be used.
52423	AvailabilityZone *string `type:"string"`
52424
52425	// Checks whether you have the required permissions for the action, without
52426	// actually making the request, and provides an error response. If you have
52427	// the required permissions, the error response is DryRunOperation. Otherwise,
52428	// it is UnauthorizedOperation.
52429	DryRun *bool `locationName:"dryRun" type:"boolean"`
52430
52431	// One or more filters.
52432	//
52433	//    * availability-zone - The Availability Zone where the Reserved Instance
52434	//    can be used.
52435	//
52436	//    * duration - The duration of the Reserved Instance (for example, one year
52437	//    or three years), in seconds (31536000 | 94608000).
52438	//
52439	//    * fixed-price - The purchase price of the Reserved Instance (for example,
52440	//    9800.0).
52441	//
52442	//    * instance-type - The instance type that is covered by the reservation.
52443	//
52444	//    * marketplace - Set to true to show only Reserved Instance Marketplace
52445	//    offerings. When this filter is not used, which is the default behavior,
52446	//    all offerings from both AWS and the Reserved Instance Marketplace are
52447	//    listed.
52448	//
52449	//    * product-description - The Reserved Instance product platform description.
52450	//    Instances that include (Amazon VPC) in the product platform description
52451	//    will only be displayed to EC2-Classic account holders and are for use
52452	//    with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
52453	//    SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
52454	//    Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
52455	//    Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
52456	//    with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
52457	//    with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
52458	//    VPC))
52459	//
52460	//    * reserved-instances-offering-id - The Reserved Instances offering ID.
52461	//
52462	//    * scope - The scope of the Reserved Instance (Availability Zone or Region).
52463	//
52464	//    * usage-price - The usage price of the Reserved Instance, per hour (for
52465	//    example, 0.84).
52466	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52467
52468	// Include Reserved Instance Marketplace offerings in the response.
52469	IncludeMarketplace *bool `type:"boolean"`
52470
52471	// The tenancy of the instances covered by the reservation. A Reserved Instance
52472	// with a tenancy of dedicated is applied to instances that run in a VPC on
52473	// single-tenant hardware (i.e., Dedicated Instances).
52474	//
52475	// Important: The host value cannot be used with this parameter. Use the default
52476	// or dedicated values only.
52477	//
52478	// Default: default
52479	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
52480
52481	// The instance type that the reservation will cover (for example, m1.small).
52482	// For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
52483	// in the Amazon Elastic Compute Cloud User Guide.
52484	InstanceType *string `type:"string" enum:"InstanceType"`
52485
52486	// The maximum duration (in seconds) to filter when searching for offerings.
52487	//
52488	// Default: 94608000 (3 years)
52489	MaxDuration *int64 `type:"long"`
52490
52491	// The maximum number of instances to filter when searching for offerings.
52492	//
52493	// Default: 20
52494	MaxInstanceCount *int64 `type:"integer"`
52495
52496	// The maximum number of results to return for the request in a single page.
52497	// The remaining results of the initial request can be seen by sending another
52498	// request with the returned NextToken value. The maximum is 100.
52499	//
52500	// Default: 100
52501	MaxResults *int64 `locationName:"maxResults" type:"integer"`
52502
52503	// The minimum duration (in seconds) to filter when searching for offerings.
52504	//
52505	// Default: 2592000 (1 month)
52506	MinDuration *int64 `type:"long"`
52507
52508	// The token to retrieve the next page of results.
52509	NextToken *string `locationName:"nextToken" type:"string"`
52510
52511	// The offering class of the Reserved Instance. Can be standard or convertible.
52512	OfferingClass *string `type:"string" enum:"OfferingClassType"`
52513
52514	// The Reserved Instance offering type. If you are using tools that predate
52515	// the 2011-11-01 API version, you only have access to the Medium Utilization
52516	// Reserved Instance offering type.
52517	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
52518
52519	// The Reserved Instance product platform description. Instances that include
52520	// (Amazon VPC) in the description are for use with Amazon VPC.
52521	ProductDescription *string `type:"string" enum:"RIProductDescription"`
52522
52523	// One or more Reserved Instances offering IDs.
52524	ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
52525}
52526
52527// String returns the string representation
52528func (s DescribeReservedInstancesOfferingsInput) String() string {
52529	return awsutil.Prettify(s)
52530}
52531
52532// GoString returns the string representation
52533func (s DescribeReservedInstancesOfferingsInput) GoString() string {
52534	return s.String()
52535}
52536
52537// SetAvailabilityZone sets the AvailabilityZone field's value.
52538func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
52539	s.AvailabilityZone = &v
52540	return s
52541}
52542
52543// SetDryRun sets the DryRun field's value.
52544func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
52545	s.DryRun = &v
52546	return s
52547}
52548
52549// SetFilters sets the Filters field's value.
52550func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
52551	s.Filters = v
52552	return s
52553}
52554
52555// SetIncludeMarketplace sets the IncludeMarketplace field's value.
52556func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
52557	s.IncludeMarketplace = &v
52558	return s
52559}
52560
52561// SetInstanceTenancy sets the InstanceTenancy field's value.
52562func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
52563	s.InstanceTenancy = &v
52564	return s
52565}
52566
52567// SetInstanceType sets the InstanceType field's value.
52568func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
52569	s.InstanceType = &v
52570	return s
52571}
52572
52573// SetMaxDuration sets the MaxDuration field's value.
52574func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
52575	s.MaxDuration = &v
52576	return s
52577}
52578
52579// SetMaxInstanceCount sets the MaxInstanceCount field's value.
52580func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
52581	s.MaxInstanceCount = &v
52582	return s
52583}
52584
52585// SetMaxResults sets the MaxResults field's value.
52586func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
52587	s.MaxResults = &v
52588	return s
52589}
52590
52591// SetMinDuration sets the MinDuration field's value.
52592func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
52593	s.MinDuration = &v
52594	return s
52595}
52596
52597// SetNextToken sets the NextToken field's value.
52598func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
52599	s.NextToken = &v
52600	return s
52601}
52602
52603// SetOfferingClass sets the OfferingClass field's value.
52604func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
52605	s.OfferingClass = &v
52606	return s
52607}
52608
52609// SetOfferingType sets the OfferingType field's value.
52610func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
52611	s.OfferingType = &v
52612	return s
52613}
52614
52615// SetProductDescription sets the ProductDescription field's value.
52616func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
52617	s.ProductDescription = &v
52618	return s
52619}
52620
52621// SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
52622func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
52623	s.ReservedInstancesOfferingIds = v
52624	return s
52625}
52626
52627// Contains the output of DescribeReservedInstancesOfferings.
52628type DescribeReservedInstancesOfferingsOutput struct {
52629	_ struct{} `type:"structure"`
52630
52631	// The token to use to retrieve the next page of results. This value is null
52632	// when there are no more results to return.
52633	NextToken *string `locationName:"nextToken" type:"string"`
52634
52635	// A list of Reserved Instances offerings.
52636	ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
52637}
52638
52639// String returns the string representation
52640func (s DescribeReservedInstancesOfferingsOutput) String() string {
52641	return awsutil.Prettify(s)
52642}
52643
52644// GoString returns the string representation
52645func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
52646	return s.String()
52647}
52648
52649// SetNextToken sets the NextToken field's value.
52650func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
52651	s.NextToken = &v
52652	return s
52653}
52654
52655// SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
52656func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
52657	s.ReservedInstancesOfferings = v
52658	return s
52659}
52660
52661// Contains the output for DescribeReservedInstances.
52662type DescribeReservedInstancesOutput struct {
52663	_ struct{} `type:"structure"`
52664
52665	// A list of Reserved Instances.
52666	ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
52667}
52668
52669// String returns the string representation
52670func (s DescribeReservedInstancesOutput) String() string {
52671	return awsutil.Prettify(s)
52672}
52673
52674// GoString returns the string representation
52675func (s DescribeReservedInstancesOutput) GoString() string {
52676	return s.String()
52677}
52678
52679// SetReservedInstances sets the ReservedInstances field's value.
52680func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
52681	s.ReservedInstances = v
52682	return s
52683}
52684
52685type DescribeRouteTablesInput struct {
52686	_ struct{} `type:"structure"`
52687
52688	// Checks whether you have the required permissions for the action, without
52689	// actually making the request, and provides an error response. If you have
52690	// the required permissions, the error response is DryRunOperation. Otherwise,
52691	// it is UnauthorizedOperation.
52692	DryRun *bool `locationName:"dryRun" type:"boolean"`
52693
52694	// One or more filters.
52695	//
52696	//    * association.route-table-association-id - The ID of an association ID
52697	//    for the route table.
52698	//
52699	//    * association.route-table-id - The ID of the route table involved in the
52700	//    association.
52701	//
52702	//    * association.subnet-id - The ID of the subnet involved in the association.
52703	//
52704	//    * association.main - Indicates whether the route table is the main route
52705	//    table for the VPC (true | false). Route tables that do not have an association
52706	//    ID are not returned in the response.
52707	//
52708	//    * owner-id - The ID of the AWS account that owns the route table.
52709	//
52710	//    * route-table-id - The ID of the route table.
52711	//
52712	//    * route.destination-cidr-block - The IPv4 CIDR range specified in a route
52713	//    in the table.
52714	//
52715	//    * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
52716	//    a route in the route table.
52717	//
52718	//    * route.destination-prefix-list-id - The ID (prefix) of the AWS service
52719	//    specified in a route in the table.
52720	//
52721	//    * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
52722	//    gateway specified in a route in the route table.
52723	//
52724	//    * route.gateway-id - The ID of a gateway specified in a route in the table.
52725	//
52726	//    * route.instance-id - The ID of an instance specified in a route in the
52727	//    table.
52728	//
52729	//    * route.nat-gateway-id - The ID of a NAT gateway.
52730	//
52731	//    * route.transit-gateway-id - The ID of a transit gateway.
52732	//
52733	//    * route.origin - Describes how the route was created. CreateRouteTable
52734	//    indicates that the route was automatically created when the route table
52735	//    was created; CreateRoute indicates that the route was manually added to
52736	//    the route table; EnableVgwRoutePropagation indicates that the route was
52737	//    propagated by route propagation.
52738	//
52739	//    * route.state - The state of a route in the route table (active | blackhole).
52740	//    The blackhole state indicates that the route's target isn't available
52741	//    (for example, the specified gateway isn't attached to the VPC, the specified
52742	//    NAT instance has been terminated, and so on).
52743	//
52744	//    * route.vpc-peering-connection-id - The ID of a VPC peering connection
52745	//    specified in a route in the table.
52746	//
52747	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
52748	//    Use the tag key in the filter name and the tag value as the filter value.
52749	//    For example, to find all resources that have a tag with the key Owner
52750	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
52751	//    the filter value.
52752	//
52753	//    * tag-key - The key of a tag assigned to the resource. Use this filter
52754	//    to find all resources assigned a tag with a specific key, regardless of
52755	//    the tag value.
52756	//
52757	//    * transit-gateway-id - The ID of a transit gateway.
52758	//
52759	//    * vpc-id - The ID of the VPC for the route table.
52760	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52761
52762	// The maximum number of results to return with a single call. To retrieve the
52763	// remaining results, make another call with the returned nextToken value.
52764	MaxResults *int64 `min:"5" type:"integer"`
52765
52766	// The token for the next page of results.
52767	NextToken *string `type:"string"`
52768
52769	// One or more route table IDs.
52770	//
52771	// Default: Describes all your route tables.
52772	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
52773}
52774
52775// String returns the string representation
52776func (s DescribeRouteTablesInput) String() string {
52777	return awsutil.Prettify(s)
52778}
52779
52780// GoString returns the string representation
52781func (s DescribeRouteTablesInput) GoString() string {
52782	return s.String()
52783}
52784
52785// Validate inspects the fields of the type to determine if they are valid.
52786func (s *DescribeRouteTablesInput) Validate() error {
52787	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"}
52788	if s.MaxResults != nil && *s.MaxResults < 5 {
52789		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
52790	}
52791
52792	if invalidParams.Len() > 0 {
52793		return invalidParams
52794	}
52795	return nil
52796}
52797
52798// SetDryRun sets the DryRun field's value.
52799func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
52800	s.DryRun = &v
52801	return s
52802}
52803
52804// SetFilters sets the Filters field's value.
52805func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
52806	s.Filters = v
52807	return s
52808}
52809
52810// SetMaxResults sets the MaxResults field's value.
52811func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
52812	s.MaxResults = &v
52813	return s
52814}
52815
52816// SetNextToken sets the NextToken field's value.
52817func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
52818	s.NextToken = &v
52819	return s
52820}
52821
52822// SetRouteTableIds sets the RouteTableIds field's value.
52823func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
52824	s.RouteTableIds = v
52825	return s
52826}
52827
52828// Contains the output of DescribeRouteTables.
52829type DescribeRouteTablesOutput struct {
52830	_ struct{} `type:"structure"`
52831
52832	// The token to use to retrieve the next page of results. This value is null
52833	// when there are no more results to return.
52834	NextToken *string `locationName:"nextToken" type:"string"`
52835
52836	// Information about one or more route tables.
52837	RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
52838}
52839
52840// String returns the string representation
52841func (s DescribeRouteTablesOutput) String() string {
52842	return awsutil.Prettify(s)
52843}
52844
52845// GoString returns the string representation
52846func (s DescribeRouteTablesOutput) GoString() string {
52847	return s.String()
52848}
52849
52850// SetNextToken sets the NextToken field's value.
52851func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
52852	s.NextToken = &v
52853	return s
52854}
52855
52856// SetRouteTables sets the RouteTables field's value.
52857func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
52858	s.RouteTables = v
52859	return s
52860}
52861
52862// Contains the parameters for DescribeScheduledInstanceAvailability.
52863type DescribeScheduledInstanceAvailabilityInput struct {
52864	_ struct{} `type:"structure"`
52865
52866	// Checks whether you have the required permissions for the action, without
52867	// actually making the request, and provides an error response. If you have
52868	// the required permissions, the error response is DryRunOperation. Otherwise,
52869	// it is UnauthorizedOperation.
52870	DryRun *bool `type:"boolean"`
52871
52872	// The filters.
52873	//
52874	//    * availability-zone - The Availability Zone (for example, us-west-2a).
52875	//
52876	//    * instance-type - The instance type (for example, c4.large).
52877	//
52878	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
52879	//
52880	//    * platform - The platform (Linux/UNIX or Windows).
52881	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
52882
52883	// The time period for the first schedule to start.
52884	//
52885	// FirstSlotStartTimeRange is a required field
52886	FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
52887
52888	// The maximum number of results to return in a single call. This value can
52889	// be between 5 and 300. The default value is 300. To retrieve the remaining
52890	// results, make another call with the returned NextToken value.
52891	MaxResults *int64 `type:"integer"`
52892
52893	// The maximum available duration, in hours. This value must be greater than
52894	// MinSlotDurationInHours and less than 1,720.
52895	MaxSlotDurationInHours *int64 `type:"integer"`
52896
52897	// The minimum available duration, in hours. The minimum required duration is
52898	// 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
52899	// the minimum weekly schedule is 24 hours, and the minimum monthly schedule
52900	// is 100 hours.
52901	MinSlotDurationInHours *int64 `type:"integer"`
52902
52903	// The token for the next set of results.
52904	NextToken *string `type:"string"`
52905
52906	// The schedule recurrence.
52907	//
52908	// Recurrence is a required field
52909	Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
52910}
52911
52912// String returns the string representation
52913func (s DescribeScheduledInstanceAvailabilityInput) String() string {
52914	return awsutil.Prettify(s)
52915}
52916
52917// GoString returns the string representation
52918func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
52919	return s.String()
52920}
52921
52922// Validate inspects the fields of the type to determine if they are valid.
52923func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
52924	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
52925	if s.FirstSlotStartTimeRange == nil {
52926		invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
52927	}
52928	if s.Recurrence == nil {
52929		invalidParams.Add(request.NewErrParamRequired("Recurrence"))
52930	}
52931	if s.FirstSlotStartTimeRange != nil {
52932		if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
52933			invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
52934		}
52935	}
52936
52937	if invalidParams.Len() > 0 {
52938		return invalidParams
52939	}
52940	return nil
52941}
52942
52943// SetDryRun sets the DryRun field's value.
52944func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
52945	s.DryRun = &v
52946	return s
52947}
52948
52949// SetFilters sets the Filters field's value.
52950func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
52951	s.Filters = v
52952	return s
52953}
52954
52955// SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
52956func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
52957	s.FirstSlotStartTimeRange = v
52958	return s
52959}
52960
52961// SetMaxResults sets the MaxResults field's value.
52962func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
52963	s.MaxResults = &v
52964	return s
52965}
52966
52967// SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
52968func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
52969	s.MaxSlotDurationInHours = &v
52970	return s
52971}
52972
52973// SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
52974func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
52975	s.MinSlotDurationInHours = &v
52976	return s
52977}
52978
52979// SetNextToken sets the NextToken field's value.
52980func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
52981	s.NextToken = &v
52982	return s
52983}
52984
52985// SetRecurrence sets the Recurrence field's value.
52986func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
52987	s.Recurrence = v
52988	return s
52989}
52990
52991// Contains the output of DescribeScheduledInstanceAvailability.
52992type DescribeScheduledInstanceAvailabilityOutput struct {
52993	_ struct{} `type:"structure"`
52994
52995	// The token required to retrieve the next set of results. This value is null
52996	// when there are no more results to return.
52997	NextToken *string `locationName:"nextToken" type:"string"`
52998
52999	// Information about the available Scheduled Instances.
53000	ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
53001}
53002
53003// String returns the string representation
53004func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
53005	return awsutil.Prettify(s)
53006}
53007
53008// GoString returns the string representation
53009func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
53010	return s.String()
53011}
53012
53013// SetNextToken sets the NextToken field's value.
53014func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
53015	s.NextToken = &v
53016	return s
53017}
53018
53019// SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
53020func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
53021	s.ScheduledInstanceAvailabilitySet = v
53022	return s
53023}
53024
53025// Contains the parameters for DescribeScheduledInstances.
53026type DescribeScheduledInstancesInput struct {
53027	_ struct{} `type:"structure"`
53028
53029	// Checks whether you have the required permissions for the action, without
53030	// actually making the request, and provides an error response. If you have
53031	// the required permissions, the error response is DryRunOperation. Otherwise,
53032	// it is UnauthorizedOperation.
53033	DryRun *bool `type:"boolean"`
53034
53035	// The filters.
53036	//
53037	//    * availability-zone - The Availability Zone (for example, us-west-2a).
53038	//
53039	//    * instance-type - The instance type (for example, c4.large).
53040	//
53041	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
53042	//
53043	//    * platform - The platform (Linux/UNIX or Windows).
53044	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53045
53046	// The maximum number of results to return in a single call. This value can
53047	// be between 5 and 300. The default value is 100. To retrieve the remaining
53048	// results, make another call with the returned NextToken value.
53049	MaxResults *int64 `type:"integer"`
53050
53051	// The token for the next set of results.
53052	NextToken *string `type:"string"`
53053
53054	// The Scheduled Instance IDs.
53055	ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
53056
53057	// The time period for the first schedule to start.
53058	SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
53059}
53060
53061// String returns the string representation
53062func (s DescribeScheduledInstancesInput) String() string {
53063	return awsutil.Prettify(s)
53064}
53065
53066// GoString returns the string representation
53067func (s DescribeScheduledInstancesInput) GoString() string {
53068	return s.String()
53069}
53070
53071// SetDryRun sets the DryRun field's value.
53072func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
53073	s.DryRun = &v
53074	return s
53075}
53076
53077// SetFilters sets the Filters field's value.
53078func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
53079	s.Filters = v
53080	return s
53081}
53082
53083// SetMaxResults sets the MaxResults field's value.
53084func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
53085	s.MaxResults = &v
53086	return s
53087}
53088
53089// SetNextToken sets the NextToken field's value.
53090func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
53091	s.NextToken = &v
53092	return s
53093}
53094
53095// SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
53096func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
53097	s.ScheduledInstanceIds = v
53098	return s
53099}
53100
53101// SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
53102func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
53103	s.SlotStartTimeRange = v
53104	return s
53105}
53106
53107// Contains the output of DescribeScheduledInstances.
53108type DescribeScheduledInstancesOutput struct {
53109	_ struct{} `type:"structure"`
53110
53111	// The token required to retrieve the next set of results. This value is null
53112	// when there are no more results to return.
53113	NextToken *string `locationName:"nextToken" type:"string"`
53114
53115	// Information about the Scheduled Instances.
53116	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
53117}
53118
53119// String returns the string representation
53120func (s DescribeScheduledInstancesOutput) String() string {
53121	return awsutil.Prettify(s)
53122}
53123
53124// GoString returns the string representation
53125func (s DescribeScheduledInstancesOutput) GoString() string {
53126	return s.String()
53127}
53128
53129// SetNextToken sets the NextToken field's value.
53130func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
53131	s.NextToken = &v
53132	return s
53133}
53134
53135// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
53136func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
53137	s.ScheduledInstanceSet = v
53138	return s
53139}
53140
53141type DescribeSecurityGroupReferencesInput struct {
53142	_ struct{} `type:"structure"`
53143
53144	// Checks whether you have the required permissions for the action, without
53145	// actually making the request, and provides an error response. If you have
53146	// the required permissions, the error response is DryRunOperation. Otherwise,
53147	// it is UnauthorizedOperation.
53148	DryRun *bool `type:"boolean"`
53149
53150	// The IDs of the security groups in your account.
53151	//
53152	// GroupId is a required field
53153	GroupId []*string `locationNameList:"item" type:"list" required:"true"`
53154}
53155
53156// String returns the string representation
53157func (s DescribeSecurityGroupReferencesInput) String() string {
53158	return awsutil.Prettify(s)
53159}
53160
53161// GoString returns the string representation
53162func (s DescribeSecurityGroupReferencesInput) GoString() string {
53163	return s.String()
53164}
53165
53166// Validate inspects the fields of the type to determine if they are valid.
53167func (s *DescribeSecurityGroupReferencesInput) Validate() error {
53168	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
53169	if s.GroupId == nil {
53170		invalidParams.Add(request.NewErrParamRequired("GroupId"))
53171	}
53172
53173	if invalidParams.Len() > 0 {
53174		return invalidParams
53175	}
53176	return nil
53177}
53178
53179// SetDryRun sets the DryRun field's value.
53180func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
53181	s.DryRun = &v
53182	return s
53183}
53184
53185// SetGroupId sets the GroupId field's value.
53186func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
53187	s.GroupId = v
53188	return s
53189}
53190
53191type DescribeSecurityGroupReferencesOutput struct {
53192	_ struct{} `type:"structure"`
53193
53194	// Information about the VPCs with the referencing security groups.
53195	SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
53196}
53197
53198// String returns the string representation
53199func (s DescribeSecurityGroupReferencesOutput) String() string {
53200	return awsutil.Prettify(s)
53201}
53202
53203// GoString returns the string representation
53204func (s DescribeSecurityGroupReferencesOutput) GoString() string {
53205	return s.String()
53206}
53207
53208// SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
53209func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
53210	s.SecurityGroupReferenceSet = v
53211	return s
53212}
53213
53214type DescribeSecurityGroupsInput struct {
53215	_ struct{} `type:"structure"`
53216
53217	// Checks whether you have the required permissions for the action, without
53218	// actually making the request, and provides an error response. If you have
53219	// the required permissions, the error response is DryRunOperation. Otherwise,
53220	// it is UnauthorizedOperation.
53221	DryRun *bool `locationName:"dryRun" type:"boolean"`
53222
53223	// The filters. If using multiple filters for rules, the results include security
53224	// groups for which any combination of rules - not necessarily a single rule
53225	// - match all filters.
53226	//
53227	//    * description - The description of the security group.
53228	//
53229	//    * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
53230	//    group rule.
53231	//
53232	//    * egress.ip-permission.from-port - For an outbound rule, the start of
53233	//    port range for the TCP and UDP protocols, or an ICMP type number.
53234	//
53235	//    * egress.ip-permission.group-id - The ID of a security group that has
53236	//    been referenced in an outbound security group rule.
53237	//
53238	//    * egress.ip-permission.group-name - The name of a security group that
53239	//    has been referenced in an outbound security group rule.
53240	//
53241	//    * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
53242	//    security group rule.
53243	//
53244	//    * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
53245	//    to which a security group rule allows outbound access.
53246	//
53247	//    * egress.ip-permission.protocol - The IP protocol for an outbound security
53248	//    group rule (tcp | udp | icmp or a protocol number).
53249	//
53250	//    * egress.ip-permission.to-port - For an outbound rule, the end of port
53251	//    range for the TCP and UDP protocols, or an ICMP code.
53252	//
53253	//    * egress.ip-permission.user-id - The ID of an AWS account that has been
53254	//    referenced in an outbound security group rule.
53255	//
53256	//    * group-id - The ID of the security group.
53257	//
53258	//    * group-name - The name of the security group.
53259	//
53260	//    * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
53261	//    rule.
53262	//
53263	//    * ip-permission.from-port - For an inbound rule, the start of port range
53264	//    for the TCP and UDP protocols, or an ICMP type number.
53265	//
53266	//    * ip-permission.group-id - The ID of a security group that has been referenced
53267	//    in an inbound security group rule.
53268	//
53269	//    * ip-permission.group-name - The name of a security group that has been
53270	//    referenced in an inbound security group rule.
53271	//
53272	//    * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
53273	//    group rule.
53274	//
53275	//    * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
53276	//    which a security group rule allows inbound access.
53277	//
53278	//    * ip-permission.protocol - The IP protocol for an inbound security group
53279	//    rule (tcp | udp | icmp or a protocol number).
53280	//
53281	//    * ip-permission.to-port - For an inbound rule, the end of port range for
53282	//    the TCP and UDP protocols, or an ICMP code.
53283	//
53284	//    * ip-permission.user-id - The ID of an AWS account that has been referenced
53285	//    in an inbound security group rule.
53286	//
53287	//    * owner-id - The AWS account ID of the owner of the security group.
53288	//
53289	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
53290	//    Use the tag key in the filter name and the tag value as the filter value.
53291	//    For example, to find all resources that have a tag with the key Owner
53292	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
53293	//    the filter value.
53294	//
53295	//    * tag-key - The key of a tag assigned to the resource. Use this filter
53296	//    to find all resources assigned a tag with a specific key, regardless of
53297	//    the tag value.
53298	//
53299	//    * vpc-id - The ID of the VPC specified when the security group was created.
53300	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53301
53302	// The IDs of the security groups. Required for security groups in a nondefault
53303	// VPC.
53304	//
53305	// Default: Describes all your security groups.
53306	GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
53307
53308	// [EC2-Classic and default VPC only] The names of the security groups. You
53309	// can specify either the security group name or the security group ID. For
53310	// security groups in a nondefault VPC, use the group-name filter to describe
53311	// security groups by name.
53312	//
53313	// Default: Describes all your security groups.
53314	GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
53315
53316	// The maximum number of results to return in a single call. To retrieve the
53317	// remaining results, make another request with the returned NextToken value.
53318	// This value can be between 5 and 1000. If this parameter is not specified,
53319	// then all results are returned.
53320	MaxResults *int64 `min:"5" type:"integer"`
53321
53322	// The token to request the next page of results.
53323	NextToken *string `type:"string"`
53324}
53325
53326// String returns the string representation
53327func (s DescribeSecurityGroupsInput) String() string {
53328	return awsutil.Prettify(s)
53329}
53330
53331// GoString returns the string representation
53332func (s DescribeSecurityGroupsInput) GoString() string {
53333	return s.String()
53334}
53335
53336// Validate inspects the fields of the type to determine if they are valid.
53337func (s *DescribeSecurityGroupsInput) Validate() error {
53338	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"}
53339	if s.MaxResults != nil && *s.MaxResults < 5 {
53340		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
53341	}
53342
53343	if invalidParams.Len() > 0 {
53344		return invalidParams
53345	}
53346	return nil
53347}
53348
53349// SetDryRun sets the DryRun field's value.
53350func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
53351	s.DryRun = &v
53352	return s
53353}
53354
53355// SetFilters sets the Filters field's value.
53356func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
53357	s.Filters = v
53358	return s
53359}
53360
53361// SetGroupIds sets the GroupIds field's value.
53362func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
53363	s.GroupIds = v
53364	return s
53365}
53366
53367// SetGroupNames sets the GroupNames field's value.
53368func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
53369	s.GroupNames = v
53370	return s
53371}
53372
53373// SetMaxResults sets the MaxResults field's value.
53374func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
53375	s.MaxResults = &v
53376	return s
53377}
53378
53379// SetNextToken sets the NextToken field's value.
53380func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
53381	s.NextToken = &v
53382	return s
53383}
53384
53385type DescribeSecurityGroupsOutput struct {
53386	_ struct{} `type:"structure"`
53387
53388	// The token to use to retrieve the next page of results. This value is null
53389	// when there are no more results to return.
53390	NextToken *string `locationName:"nextToken" type:"string"`
53391
53392	// Information about the security groups.
53393	SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
53394}
53395
53396// String returns the string representation
53397func (s DescribeSecurityGroupsOutput) String() string {
53398	return awsutil.Prettify(s)
53399}
53400
53401// GoString returns the string representation
53402func (s DescribeSecurityGroupsOutput) GoString() string {
53403	return s.String()
53404}
53405
53406// SetNextToken sets the NextToken field's value.
53407func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
53408	s.NextToken = &v
53409	return s
53410}
53411
53412// SetSecurityGroups sets the SecurityGroups field's value.
53413func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
53414	s.SecurityGroups = v
53415	return s
53416}
53417
53418// Contains the parameters for DescribeSnapshotAttribute.
53419type DescribeSnapshotAttributeInput struct {
53420	_ struct{} `type:"structure"`
53421
53422	// The snapshot attribute you would like to view.
53423	//
53424	// Attribute is a required field
53425	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
53426
53427	// Checks whether you have the required permissions for the action, without
53428	// actually making the request, and provides an error response. If you have
53429	// the required permissions, the error response is DryRunOperation. Otherwise,
53430	// it is UnauthorizedOperation.
53431	DryRun *bool `locationName:"dryRun" type:"boolean"`
53432
53433	// The ID of the EBS snapshot.
53434	//
53435	// SnapshotId is a required field
53436	SnapshotId *string `type:"string" required:"true"`
53437}
53438
53439// String returns the string representation
53440func (s DescribeSnapshotAttributeInput) String() string {
53441	return awsutil.Prettify(s)
53442}
53443
53444// GoString returns the string representation
53445func (s DescribeSnapshotAttributeInput) GoString() string {
53446	return s.String()
53447}
53448
53449// Validate inspects the fields of the type to determine if they are valid.
53450func (s *DescribeSnapshotAttributeInput) Validate() error {
53451	invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
53452	if s.Attribute == nil {
53453		invalidParams.Add(request.NewErrParamRequired("Attribute"))
53454	}
53455	if s.SnapshotId == nil {
53456		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
53457	}
53458
53459	if invalidParams.Len() > 0 {
53460		return invalidParams
53461	}
53462	return nil
53463}
53464
53465// SetAttribute sets the Attribute field's value.
53466func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
53467	s.Attribute = &v
53468	return s
53469}
53470
53471// SetDryRun sets the DryRun field's value.
53472func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
53473	s.DryRun = &v
53474	return s
53475}
53476
53477// SetSnapshotId sets the SnapshotId field's value.
53478func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
53479	s.SnapshotId = &v
53480	return s
53481}
53482
53483// Contains the output of DescribeSnapshotAttribute.
53484type DescribeSnapshotAttributeOutput struct {
53485	_ struct{} `type:"structure"`
53486
53487	// The users and groups that have the permissions for creating volumes from
53488	// the snapshot.
53489	CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
53490
53491	// The product codes.
53492	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
53493
53494	// The ID of the EBS snapshot.
53495	SnapshotId *string `locationName:"snapshotId" type:"string"`
53496}
53497
53498// String returns the string representation
53499func (s DescribeSnapshotAttributeOutput) String() string {
53500	return awsutil.Prettify(s)
53501}
53502
53503// GoString returns the string representation
53504func (s DescribeSnapshotAttributeOutput) GoString() string {
53505	return s.String()
53506}
53507
53508// SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
53509func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
53510	s.CreateVolumePermissions = v
53511	return s
53512}
53513
53514// SetProductCodes sets the ProductCodes field's value.
53515func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
53516	s.ProductCodes = v
53517	return s
53518}
53519
53520// SetSnapshotId sets the SnapshotId field's value.
53521func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
53522	s.SnapshotId = &v
53523	return s
53524}
53525
53526type DescribeSnapshotsInput struct {
53527	_ struct{} `type:"structure"`
53528
53529	// Checks whether you have the required permissions for the action, without
53530	// actually making the request, and provides an error response. If you have
53531	// the required permissions, the error response is DryRunOperation. Otherwise,
53532	// it is UnauthorizedOperation.
53533	DryRun *bool `locationName:"dryRun" type:"boolean"`
53534
53535	// The filters.
53536	//
53537	//    * description - A description of the snapshot.
53538	//
53539	//    * encrypted - Indicates whether the snapshot is encrypted (true | false)
53540	//
53541	//    * owner-alias - Value from an Amazon-maintained list (amazon | self |
53542	//    all | aws-marketplace | microsoft) of snapshot owners. Not to be confused
53543	//    with the user-configured AWS account alias, which is set from the IAM
53544	//    console.
53545	//
53546	//    * owner-id - The ID of the AWS account that owns the snapshot.
53547	//
53548	//    * progress - The progress of the snapshot, as a percentage (for example,
53549	//    80%).
53550	//
53551	//    * snapshot-id - The snapshot ID.
53552	//
53553	//    * start-time - The time stamp when the snapshot was initiated.
53554	//
53555	//    * status - The status of the snapshot (pending | completed | error).
53556	//
53557	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
53558	//    Use the tag key in the filter name and the tag value as the filter value.
53559	//    For example, to find all resources that have a tag with the key Owner
53560	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
53561	//    the filter value.
53562	//
53563	//    * tag-key - The key of a tag assigned to the resource. Use this filter
53564	//    to find all resources assigned a tag with a specific key, regardless of
53565	//    the tag value.
53566	//
53567	//    * volume-id - The ID of the volume the snapshot is for.
53568	//
53569	//    * volume-size - The size of the volume, in GiB.
53570	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53571
53572	// The maximum number of snapshot results returned by DescribeSnapshots in paginated
53573	// output. When this parameter is used, DescribeSnapshots only returns MaxResults
53574	// results in a single page along with a NextToken response element. The remaining
53575	// results of the initial request can be seen by sending another DescribeSnapshots
53576	// request with the returned NextToken value. This value can be between 5 and
53577	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
53578	// are returned. If this parameter is not used, then DescribeSnapshots returns
53579	// all results. You cannot specify this parameter and the snapshot IDs parameter
53580	// in the same request.
53581	MaxResults *int64 `type:"integer"`
53582
53583	// The NextToken value returned from a previous paginated DescribeSnapshots
53584	// request where MaxResults was used and the results exceeded the value of that
53585	// parameter. Pagination continues from the end of the previous results that
53586	// returned the NextToken value. This value is null when there are no more results
53587	// to return.
53588	NextToken *string `type:"string"`
53589
53590	// Describes the snapshots owned by these owners.
53591	OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
53592
53593	// The IDs of the AWS accounts that can create volumes from the snapshot.
53594	RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
53595
53596	// The snapshot IDs.
53597	//
53598	// Default: Describes the snapshots for which you have create volume permissions.
53599	SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
53600}
53601
53602// String returns the string representation
53603func (s DescribeSnapshotsInput) String() string {
53604	return awsutil.Prettify(s)
53605}
53606
53607// GoString returns the string representation
53608func (s DescribeSnapshotsInput) GoString() string {
53609	return s.String()
53610}
53611
53612// SetDryRun sets the DryRun field's value.
53613func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
53614	s.DryRun = &v
53615	return s
53616}
53617
53618// SetFilters sets the Filters field's value.
53619func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
53620	s.Filters = v
53621	return s
53622}
53623
53624// SetMaxResults sets the MaxResults field's value.
53625func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
53626	s.MaxResults = &v
53627	return s
53628}
53629
53630// SetNextToken sets the NextToken field's value.
53631func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
53632	s.NextToken = &v
53633	return s
53634}
53635
53636// SetOwnerIds sets the OwnerIds field's value.
53637func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
53638	s.OwnerIds = v
53639	return s
53640}
53641
53642// SetRestorableByUserIds sets the RestorableByUserIds field's value.
53643func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
53644	s.RestorableByUserIds = v
53645	return s
53646}
53647
53648// SetSnapshotIds sets the SnapshotIds field's value.
53649func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
53650	s.SnapshotIds = v
53651	return s
53652}
53653
53654type DescribeSnapshotsOutput struct {
53655	_ struct{} `type:"structure"`
53656
53657	// The NextToken value to include in a future DescribeSnapshots request. When
53658	// the results of a DescribeSnapshots request exceed MaxResults, this value
53659	// can be used to retrieve the next page of results. This value is null when
53660	// there are no more results to return.
53661	NextToken *string `locationName:"nextToken" type:"string"`
53662
53663	// Information about the snapshots.
53664	Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
53665}
53666
53667// String returns the string representation
53668func (s DescribeSnapshotsOutput) String() string {
53669	return awsutil.Prettify(s)
53670}
53671
53672// GoString returns the string representation
53673func (s DescribeSnapshotsOutput) GoString() string {
53674	return s.String()
53675}
53676
53677// SetNextToken sets the NextToken field's value.
53678func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
53679	s.NextToken = &v
53680	return s
53681}
53682
53683// SetSnapshots sets the Snapshots field's value.
53684func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
53685	s.Snapshots = v
53686	return s
53687}
53688
53689// Contains the parameters for DescribeSpotDatafeedSubscription.
53690type DescribeSpotDatafeedSubscriptionInput struct {
53691	_ struct{} `type:"structure"`
53692
53693	// Checks whether you have the required permissions for the action, without
53694	// actually making the request, and provides an error response. If you have
53695	// the required permissions, the error response is DryRunOperation. Otherwise,
53696	// it is UnauthorizedOperation.
53697	DryRun *bool `locationName:"dryRun" type:"boolean"`
53698}
53699
53700// String returns the string representation
53701func (s DescribeSpotDatafeedSubscriptionInput) String() string {
53702	return awsutil.Prettify(s)
53703}
53704
53705// GoString returns the string representation
53706func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
53707	return s.String()
53708}
53709
53710// SetDryRun sets the DryRun field's value.
53711func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
53712	s.DryRun = &v
53713	return s
53714}
53715
53716// Contains the output of DescribeSpotDatafeedSubscription.
53717type DescribeSpotDatafeedSubscriptionOutput struct {
53718	_ struct{} `type:"structure"`
53719
53720	// The Spot Instance data feed subscription.
53721	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
53722}
53723
53724// String returns the string representation
53725func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
53726	return awsutil.Prettify(s)
53727}
53728
53729// GoString returns the string representation
53730func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
53731	return s.String()
53732}
53733
53734// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
53735func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
53736	s.SpotDatafeedSubscription = v
53737	return s
53738}
53739
53740// Contains the parameters for DescribeSpotFleetInstances.
53741type DescribeSpotFleetInstancesInput struct {
53742	_ struct{} `type:"structure"`
53743
53744	// Checks whether you have the required permissions for the action, without
53745	// actually making the request, and provides an error response. If you have
53746	// the required permissions, the error response is DryRunOperation. Otherwise,
53747	// it is UnauthorizedOperation.
53748	DryRun *bool `locationName:"dryRun" type:"boolean"`
53749
53750	// The maximum number of results to return in a single call. Specify a value
53751	// between 1 and 1000. The default value is 1000. To retrieve the remaining
53752	// results, make another call with the returned NextToken value.
53753	MaxResults *int64 `locationName:"maxResults" type:"integer"`
53754
53755	// The token for the next set of results.
53756	NextToken *string `locationName:"nextToken" type:"string"`
53757
53758	// The ID of the Spot Fleet request.
53759	//
53760	// SpotFleetRequestId is a required field
53761	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
53762}
53763
53764// String returns the string representation
53765func (s DescribeSpotFleetInstancesInput) String() string {
53766	return awsutil.Prettify(s)
53767}
53768
53769// GoString returns the string representation
53770func (s DescribeSpotFleetInstancesInput) GoString() string {
53771	return s.String()
53772}
53773
53774// Validate inspects the fields of the type to determine if they are valid.
53775func (s *DescribeSpotFleetInstancesInput) Validate() error {
53776	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
53777	if s.SpotFleetRequestId == nil {
53778		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
53779	}
53780
53781	if invalidParams.Len() > 0 {
53782		return invalidParams
53783	}
53784	return nil
53785}
53786
53787// SetDryRun sets the DryRun field's value.
53788func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
53789	s.DryRun = &v
53790	return s
53791}
53792
53793// SetMaxResults sets the MaxResults field's value.
53794func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
53795	s.MaxResults = &v
53796	return s
53797}
53798
53799// SetNextToken sets the NextToken field's value.
53800func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
53801	s.NextToken = &v
53802	return s
53803}
53804
53805// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
53806func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
53807	s.SpotFleetRequestId = &v
53808	return s
53809}
53810
53811// Contains the output of DescribeSpotFleetInstances.
53812type DescribeSpotFleetInstancesOutput struct {
53813	_ struct{} `type:"structure"`
53814
53815	// The running instances. This list is refreshed periodically and might be out
53816	// of date.
53817	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
53818
53819	// The token required to retrieve the next set of results. This value is null
53820	// when there are no more results to return.
53821	NextToken *string `locationName:"nextToken" type:"string"`
53822
53823	// The ID of the Spot Fleet request.
53824	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
53825}
53826
53827// String returns the string representation
53828func (s DescribeSpotFleetInstancesOutput) String() string {
53829	return awsutil.Prettify(s)
53830}
53831
53832// GoString returns the string representation
53833func (s DescribeSpotFleetInstancesOutput) GoString() string {
53834	return s.String()
53835}
53836
53837// SetActiveInstances sets the ActiveInstances field's value.
53838func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
53839	s.ActiveInstances = v
53840	return s
53841}
53842
53843// SetNextToken sets the NextToken field's value.
53844func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
53845	s.NextToken = &v
53846	return s
53847}
53848
53849// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
53850func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
53851	s.SpotFleetRequestId = &v
53852	return s
53853}
53854
53855// Contains the parameters for DescribeSpotFleetRequestHistory.
53856type DescribeSpotFleetRequestHistoryInput struct {
53857	_ struct{} `type:"structure"`
53858
53859	// Checks whether you have the required permissions for the action, without
53860	// actually making the request, and provides an error response. If you have
53861	// the required permissions, the error response is DryRunOperation. Otherwise,
53862	// it is UnauthorizedOperation.
53863	DryRun *bool `locationName:"dryRun" type:"boolean"`
53864
53865	// The type of events to describe. By default, all events are described.
53866	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
53867
53868	// The maximum number of results to return in a single call. Specify a value
53869	// between 1 and 1000. The default value is 1000. To retrieve the remaining
53870	// results, make another call with the returned NextToken value.
53871	MaxResults *int64 `locationName:"maxResults" type:"integer"`
53872
53873	// The token for the next set of results.
53874	NextToken *string `locationName:"nextToken" type:"string"`
53875
53876	// The ID of the Spot Fleet request.
53877	//
53878	// SpotFleetRequestId is a required field
53879	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
53880
53881	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
53882	//
53883	// StartTime is a required field
53884	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
53885}
53886
53887// String returns the string representation
53888func (s DescribeSpotFleetRequestHistoryInput) String() string {
53889	return awsutil.Prettify(s)
53890}
53891
53892// GoString returns the string representation
53893func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
53894	return s.String()
53895}
53896
53897// Validate inspects the fields of the type to determine if they are valid.
53898func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
53899	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
53900	if s.SpotFleetRequestId == nil {
53901		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
53902	}
53903	if s.StartTime == nil {
53904		invalidParams.Add(request.NewErrParamRequired("StartTime"))
53905	}
53906
53907	if invalidParams.Len() > 0 {
53908		return invalidParams
53909	}
53910	return nil
53911}
53912
53913// SetDryRun sets the DryRun field's value.
53914func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
53915	s.DryRun = &v
53916	return s
53917}
53918
53919// SetEventType sets the EventType field's value.
53920func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
53921	s.EventType = &v
53922	return s
53923}
53924
53925// SetMaxResults sets the MaxResults field's value.
53926func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
53927	s.MaxResults = &v
53928	return s
53929}
53930
53931// SetNextToken sets the NextToken field's value.
53932func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
53933	s.NextToken = &v
53934	return s
53935}
53936
53937// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
53938func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
53939	s.SpotFleetRequestId = &v
53940	return s
53941}
53942
53943// SetStartTime sets the StartTime field's value.
53944func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
53945	s.StartTime = &v
53946	return s
53947}
53948
53949// Contains the output of DescribeSpotFleetRequestHistory.
53950type DescribeSpotFleetRequestHistoryOutput struct {
53951	_ struct{} `type:"structure"`
53952
53953	// Information about the events in the history of the Spot Fleet request.
53954	HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
53955
53956	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
53957	// All records up to this time were retrieved.
53958	//
53959	// If nextToken indicates that there are more results, this value is not present.
53960	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
53961
53962	// The token required to retrieve the next set of results. This value is null
53963	// when there are no more results to return.
53964	NextToken *string `locationName:"nextToken" type:"string"`
53965
53966	// The ID of the Spot Fleet request.
53967	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
53968
53969	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
53970	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
53971}
53972
53973// String returns the string representation
53974func (s DescribeSpotFleetRequestHistoryOutput) String() string {
53975	return awsutil.Prettify(s)
53976}
53977
53978// GoString returns the string representation
53979func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
53980	return s.String()
53981}
53982
53983// SetHistoryRecords sets the HistoryRecords field's value.
53984func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
53985	s.HistoryRecords = v
53986	return s
53987}
53988
53989// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
53990func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
53991	s.LastEvaluatedTime = &v
53992	return s
53993}
53994
53995// SetNextToken sets the NextToken field's value.
53996func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
53997	s.NextToken = &v
53998	return s
53999}
54000
54001// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
54002func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
54003	s.SpotFleetRequestId = &v
54004	return s
54005}
54006
54007// SetStartTime sets the StartTime field's value.
54008func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
54009	s.StartTime = &v
54010	return s
54011}
54012
54013// Contains the parameters for DescribeSpotFleetRequests.
54014type DescribeSpotFleetRequestsInput struct {
54015	_ struct{} `type:"structure"`
54016
54017	// Checks whether you have the required permissions for the action, without
54018	// actually making the request, and provides an error response. If you have
54019	// the required permissions, the error response is DryRunOperation. Otherwise,
54020	// it is UnauthorizedOperation.
54021	DryRun *bool `locationName:"dryRun" type:"boolean"`
54022
54023	// The maximum number of results to return in a single call. Specify a value
54024	// between 1 and 1000. The default value is 1000. To retrieve the remaining
54025	// results, make another call with the returned NextToken value.
54026	MaxResults *int64 `locationName:"maxResults" type:"integer"`
54027
54028	// The token for the next set of results.
54029	NextToken *string `locationName:"nextToken" type:"string"`
54030
54031	// The IDs of the Spot Fleet requests.
54032	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
54033}
54034
54035// String returns the string representation
54036func (s DescribeSpotFleetRequestsInput) String() string {
54037	return awsutil.Prettify(s)
54038}
54039
54040// GoString returns the string representation
54041func (s DescribeSpotFleetRequestsInput) GoString() string {
54042	return s.String()
54043}
54044
54045// SetDryRun sets the DryRun field's value.
54046func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
54047	s.DryRun = &v
54048	return s
54049}
54050
54051// SetMaxResults sets the MaxResults field's value.
54052func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
54053	s.MaxResults = &v
54054	return s
54055}
54056
54057// SetNextToken sets the NextToken field's value.
54058func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
54059	s.NextToken = &v
54060	return s
54061}
54062
54063// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
54064func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
54065	s.SpotFleetRequestIds = v
54066	return s
54067}
54068
54069// Contains the output of DescribeSpotFleetRequests.
54070type DescribeSpotFleetRequestsOutput struct {
54071	_ struct{} `type:"structure"`
54072
54073	// The token required to retrieve the next set of results. This value is null
54074	// when there are no more results to return.
54075	NextToken *string `locationName:"nextToken" type:"string"`
54076
54077	// Information about the configuration of your Spot Fleet.
54078	SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
54079}
54080
54081// String returns the string representation
54082func (s DescribeSpotFleetRequestsOutput) String() string {
54083	return awsutil.Prettify(s)
54084}
54085
54086// GoString returns the string representation
54087func (s DescribeSpotFleetRequestsOutput) GoString() string {
54088	return s.String()
54089}
54090
54091// SetNextToken sets the NextToken field's value.
54092func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
54093	s.NextToken = &v
54094	return s
54095}
54096
54097// SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
54098func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
54099	s.SpotFleetRequestConfigs = v
54100	return s
54101}
54102
54103// Contains the parameters for DescribeSpotInstanceRequests.
54104type DescribeSpotInstanceRequestsInput struct {
54105	_ struct{} `type:"structure"`
54106
54107	// Checks whether you have the required permissions for the action, without
54108	// actually making the request, and provides an error response. If you have
54109	// the required permissions, the error response is DryRunOperation. Otherwise,
54110	// it is UnauthorizedOperation.
54111	DryRun *bool `locationName:"dryRun" type:"boolean"`
54112
54113	// One or more filters.
54114	//
54115	//    * availability-zone-group - The Availability Zone group.
54116	//
54117	//    * create-time - The time stamp when the Spot Instance request was created.
54118	//
54119	//    * fault-code - The fault code related to the request.
54120	//
54121	//    * fault-message - The fault message related to the request.
54122	//
54123	//    * instance-id - The ID of the instance that fulfilled the request.
54124	//
54125	//    * launch-group - The Spot Instance launch group.
54126	//
54127	//    * launch.block-device-mapping.delete-on-termination - Indicates whether
54128	//    the EBS volume is deleted on instance termination.
54129	//
54130	//    * launch.block-device-mapping.device-name - The device name for the volume
54131	//    in the block device mapping (for example, /dev/sdh or xvdh).
54132	//
54133	//    * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
54134	//    the EBS volume.
54135	//
54136	//    * launch.block-device-mapping.volume-size - The size of the EBS volume,
54137	//    in GiB.
54138	//
54139	//    * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
54140	//    for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
54141	//    Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
54142	//
54143	//    * launch.group-id - The ID of the security group for the instance.
54144	//
54145	//    * launch.group-name - The name of the security group for the instance.
54146	//
54147	//    * launch.image-id - The ID of the AMI.
54148	//
54149	//    * launch.instance-type - The type of instance (for example, m3.medium).
54150	//
54151	//    * launch.kernel-id - The kernel ID.
54152	//
54153	//    * launch.key-name - The name of the key pair the instance launched with.
54154	//
54155	//    * launch.monitoring-enabled - Whether detailed monitoring is enabled for
54156	//    the Spot Instance.
54157	//
54158	//    * launch.ramdisk-id - The RAM disk ID.
54159	//
54160	//    * launched-availability-zone - The Availability Zone in which the request
54161	//    is launched.
54162	//
54163	//    * network-interface.addresses.primary - Indicates whether the IP address
54164	//    is the primary private IP address.
54165	//
54166	//    * network-interface.delete-on-termination - Indicates whether the network
54167	//    interface is deleted when the instance is terminated.
54168	//
54169	//    * network-interface.description - A description of the network interface.
54170	//
54171	//    * network-interface.device-index - The index of the device for the network
54172	//    interface attachment on the instance.
54173	//
54174	//    * network-interface.group-id - The ID of the security group associated
54175	//    with the network interface.
54176	//
54177	//    * network-interface.network-interface-id - The ID of the network interface.
54178	//
54179	//    * network-interface.private-ip-address - The primary private IP address
54180	//    of the network interface.
54181	//
54182	//    * network-interface.subnet-id - The ID of the subnet for the instance.
54183	//
54184	//    * product-description - The product description associated with the instance
54185	//    (Linux/UNIX | Windows).
54186	//
54187	//    * spot-instance-request-id - The Spot Instance request ID.
54188	//
54189	//    * spot-price - The maximum hourly price for any Spot Instance launched
54190	//    to fulfill the request.
54191	//
54192	//    * state - The state of the Spot Instance request (open | active | closed
54193	//    | cancelled | failed). Spot request status information can help you track
54194	//    your Amazon EC2 Spot Instance requests. For more information, see Spot
54195	//    Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
54196	//    in the Amazon EC2 User Guide for Linux Instances.
54197	//
54198	//    * status-code - The short code describing the most recent evaluation of
54199	//    your Spot Instance request.
54200	//
54201	//    * status-message - The message explaining the status of the Spot Instance
54202	//    request.
54203	//
54204	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
54205	//    Use the tag key in the filter name and the tag value as the filter value.
54206	//    For example, to find all resources that have a tag with the key Owner
54207	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
54208	//    the filter value.
54209	//
54210	//    * tag-key - The key of a tag assigned to the resource. Use this filter
54211	//    to find all resources assigned a tag with a specific key, regardless of
54212	//    the tag value.
54213	//
54214	//    * type - The type of Spot Instance request (one-time | persistent).
54215	//
54216	//    * valid-from - The start date of the request.
54217	//
54218	//    * valid-until - The end date of the request.
54219	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54220
54221	// The maximum number of results to return in a single call. Specify a value
54222	// between 5 and 1000. To retrieve the remaining results, make another call
54223	// with the returned NextToken value.
54224	MaxResults *int64 `type:"integer"`
54225
54226	// The token to request the next set of results. This value is null when there
54227	// are no more results to return.
54228	NextToken *string `type:"string"`
54229
54230	// One or more Spot Instance request IDs.
54231	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
54232}
54233
54234// String returns the string representation
54235func (s DescribeSpotInstanceRequestsInput) String() string {
54236	return awsutil.Prettify(s)
54237}
54238
54239// GoString returns the string representation
54240func (s DescribeSpotInstanceRequestsInput) GoString() string {
54241	return s.String()
54242}
54243
54244// SetDryRun sets the DryRun field's value.
54245func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
54246	s.DryRun = &v
54247	return s
54248}
54249
54250// SetFilters sets the Filters field's value.
54251func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
54252	s.Filters = v
54253	return s
54254}
54255
54256// SetMaxResults sets the MaxResults field's value.
54257func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
54258	s.MaxResults = &v
54259	return s
54260}
54261
54262// SetNextToken sets the NextToken field's value.
54263func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
54264	s.NextToken = &v
54265	return s
54266}
54267
54268// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
54269func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
54270	s.SpotInstanceRequestIds = v
54271	return s
54272}
54273
54274// Contains the output of DescribeSpotInstanceRequests.
54275type DescribeSpotInstanceRequestsOutput struct {
54276	_ struct{} `type:"structure"`
54277
54278	// The token to use to retrieve the next set of results. This value is null
54279	// when there are no more results to return.
54280	NextToken *string `locationName:"nextToken" type:"string"`
54281
54282	// One or more Spot Instance requests.
54283	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
54284}
54285
54286// String returns the string representation
54287func (s DescribeSpotInstanceRequestsOutput) String() string {
54288	return awsutil.Prettify(s)
54289}
54290
54291// GoString returns the string representation
54292func (s DescribeSpotInstanceRequestsOutput) GoString() string {
54293	return s.String()
54294}
54295
54296// SetNextToken sets the NextToken field's value.
54297func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
54298	s.NextToken = &v
54299	return s
54300}
54301
54302// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
54303func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
54304	s.SpotInstanceRequests = v
54305	return s
54306}
54307
54308// Contains the parameters for DescribeSpotPriceHistory.
54309type DescribeSpotPriceHistoryInput struct {
54310	_ struct{} `type:"structure"`
54311
54312	// Filters the results by the specified Availability Zone.
54313	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
54314
54315	// Checks whether you have the required permissions for the action, without
54316	// actually making the request, and provides an error response. If you have
54317	// the required permissions, the error response is DryRunOperation. Otherwise,
54318	// it is UnauthorizedOperation.
54319	DryRun *bool `locationName:"dryRun" type:"boolean"`
54320
54321	// The date and time, up to the current date, from which to stop retrieving
54322	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
54323	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
54324
54325	// One or more filters.
54326	//
54327	//    * availability-zone - The Availability Zone for which prices should be
54328	//    returned.
54329	//
54330	//    * instance-type - The type of instance (for example, m3.medium).
54331	//
54332	//    * product-description - The product description for the Spot price (Linux/UNIX
54333	//    | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
54334	//    VPC) | Windows (Amazon VPC)).
54335	//
54336	//    * spot-price - The Spot price. The value must match exactly (or use wildcards;
54337	//    greater than or less than comparison is not supported).
54338	//
54339	//    * timestamp - The time stamp of the Spot price history, in UTC format
54340	//    (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
54341	//    Greater than or less than comparison is not supported.
54342	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54343
54344	// Filters the results by the specified instance types.
54345	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
54346
54347	// The maximum number of results to return in a single call. Specify a value
54348	// between 1 and 1000. The default value is 1000. To retrieve the remaining
54349	// results, make another call with the returned NextToken value.
54350	MaxResults *int64 `locationName:"maxResults" type:"integer"`
54351
54352	// The token for the next set of results.
54353	NextToken *string `locationName:"nextToken" type:"string"`
54354
54355	// Filters the results by the specified basic product descriptions.
54356	ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
54357
54358	// The date and time, up to the past 90 days, from which to start retrieving
54359	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
54360	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
54361}
54362
54363// String returns the string representation
54364func (s DescribeSpotPriceHistoryInput) String() string {
54365	return awsutil.Prettify(s)
54366}
54367
54368// GoString returns the string representation
54369func (s DescribeSpotPriceHistoryInput) GoString() string {
54370	return s.String()
54371}
54372
54373// SetAvailabilityZone sets the AvailabilityZone field's value.
54374func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
54375	s.AvailabilityZone = &v
54376	return s
54377}
54378
54379// SetDryRun sets the DryRun field's value.
54380func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
54381	s.DryRun = &v
54382	return s
54383}
54384
54385// SetEndTime sets the EndTime field's value.
54386func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
54387	s.EndTime = &v
54388	return s
54389}
54390
54391// SetFilters sets the Filters field's value.
54392func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
54393	s.Filters = v
54394	return s
54395}
54396
54397// SetInstanceTypes sets the InstanceTypes field's value.
54398func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
54399	s.InstanceTypes = v
54400	return s
54401}
54402
54403// SetMaxResults sets the MaxResults field's value.
54404func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
54405	s.MaxResults = &v
54406	return s
54407}
54408
54409// SetNextToken sets the NextToken field's value.
54410func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
54411	s.NextToken = &v
54412	return s
54413}
54414
54415// SetProductDescriptions sets the ProductDescriptions field's value.
54416func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
54417	s.ProductDescriptions = v
54418	return s
54419}
54420
54421// SetStartTime sets the StartTime field's value.
54422func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
54423	s.StartTime = &v
54424	return s
54425}
54426
54427// Contains the output of DescribeSpotPriceHistory.
54428type DescribeSpotPriceHistoryOutput struct {
54429	_ struct{} `type:"structure"`
54430
54431	// The token required to retrieve the next set of results. This value is null
54432	// or an empty string when there are no more results to return.
54433	NextToken *string `locationName:"nextToken" type:"string"`
54434
54435	// The historical Spot prices.
54436	SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
54437}
54438
54439// String returns the string representation
54440func (s DescribeSpotPriceHistoryOutput) String() string {
54441	return awsutil.Prettify(s)
54442}
54443
54444// GoString returns the string representation
54445func (s DescribeSpotPriceHistoryOutput) GoString() string {
54446	return s.String()
54447}
54448
54449// SetNextToken sets the NextToken field's value.
54450func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
54451	s.NextToken = &v
54452	return s
54453}
54454
54455// SetSpotPriceHistory sets the SpotPriceHistory field's value.
54456func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
54457	s.SpotPriceHistory = v
54458	return s
54459}
54460
54461type DescribeStaleSecurityGroupsInput struct {
54462	_ struct{} `type:"structure"`
54463
54464	// Checks whether you have the required permissions for the action, without
54465	// actually making the request, and provides an error response. If you have
54466	// the required permissions, the error response is DryRunOperation. Otherwise,
54467	// it is UnauthorizedOperation.
54468	DryRun *bool `type:"boolean"`
54469
54470	// The maximum number of items to return for this request. The request returns
54471	// a token that you can specify in a subsequent call to get the next set of
54472	// results.
54473	MaxResults *int64 `min:"5" type:"integer"`
54474
54475	// The token for the next set of items to return. (You received this token from
54476	// a prior call.)
54477	NextToken *string `min:"1" type:"string"`
54478
54479	// The ID of the VPC.
54480	//
54481	// VpcId is a required field
54482	VpcId *string `type:"string" required:"true"`
54483}
54484
54485// String returns the string representation
54486func (s DescribeStaleSecurityGroupsInput) String() string {
54487	return awsutil.Prettify(s)
54488}
54489
54490// GoString returns the string representation
54491func (s DescribeStaleSecurityGroupsInput) GoString() string {
54492	return s.String()
54493}
54494
54495// Validate inspects the fields of the type to determine if they are valid.
54496func (s *DescribeStaleSecurityGroupsInput) Validate() error {
54497	invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
54498	if s.MaxResults != nil && *s.MaxResults < 5 {
54499		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54500	}
54501	if s.NextToken != nil && len(*s.NextToken) < 1 {
54502		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
54503	}
54504	if s.VpcId == nil {
54505		invalidParams.Add(request.NewErrParamRequired("VpcId"))
54506	}
54507
54508	if invalidParams.Len() > 0 {
54509		return invalidParams
54510	}
54511	return nil
54512}
54513
54514// SetDryRun sets the DryRun field's value.
54515func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
54516	s.DryRun = &v
54517	return s
54518}
54519
54520// SetMaxResults sets the MaxResults field's value.
54521func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
54522	s.MaxResults = &v
54523	return s
54524}
54525
54526// SetNextToken sets the NextToken field's value.
54527func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
54528	s.NextToken = &v
54529	return s
54530}
54531
54532// SetVpcId sets the VpcId field's value.
54533func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
54534	s.VpcId = &v
54535	return s
54536}
54537
54538type DescribeStaleSecurityGroupsOutput struct {
54539	_ struct{} `type:"structure"`
54540
54541	// The token to use when requesting the next set of items. If there are no additional
54542	// items to return, the string is empty.
54543	NextToken *string `locationName:"nextToken" type:"string"`
54544
54545	// Information about the stale security groups.
54546	StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
54547}
54548
54549// String returns the string representation
54550func (s DescribeStaleSecurityGroupsOutput) String() string {
54551	return awsutil.Prettify(s)
54552}
54553
54554// GoString returns the string representation
54555func (s DescribeStaleSecurityGroupsOutput) GoString() string {
54556	return s.String()
54557}
54558
54559// SetNextToken sets the NextToken field's value.
54560func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
54561	s.NextToken = &v
54562	return s
54563}
54564
54565// SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
54566func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
54567	s.StaleSecurityGroupSet = v
54568	return s
54569}
54570
54571type DescribeSubnetsInput struct {
54572	_ struct{} `type:"structure"`
54573
54574	// Checks whether you have the required permissions for the action, without
54575	// actually making the request, and provides an error response. If you have
54576	// the required permissions, the error response is DryRunOperation. Otherwise,
54577	// it is UnauthorizedOperation.
54578	DryRun *bool `locationName:"dryRun" type:"boolean"`
54579
54580	// One or more filters.
54581	//
54582	//    * availability-zone - The Availability Zone for the subnet. You can also
54583	//    use availabilityZone as the filter name.
54584	//
54585	//    * availability-zone-id - The ID of the Availability Zone for the subnet.
54586	//    You can also use availabilityZoneId as the filter name.
54587	//
54588	//    * available-ip-address-count - The number of IPv4 addresses in the subnet
54589	//    that are available.
54590	//
54591	//    * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
54592	//    must exactly match the subnet's CIDR block for information to be returned
54593	//    for the subnet. You can also use cidr or cidrBlock as the filter names.
54594	//
54595	//    * default-for-az - Indicates whether this is the default subnet for the
54596	//    Availability Zone. You can also use defaultForAz as the filter name.
54597	//
54598	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
54599	//    with the subnet.
54600	//
54601	//    * ipv6-cidr-block-association.association-id - An association ID for an
54602	//    IPv6 CIDR block associated with the subnet.
54603	//
54604	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
54605	//    associated with the subnet.
54606	//
54607	//    * owner-id - The ID of the AWS account that owns the subnet.
54608	//
54609	//    * state - The state of the subnet (pending | available).
54610	//
54611	//    * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
54612	//
54613	//    * subnet-id - The ID of the subnet.
54614	//
54615	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
54616	//    Use the tag key in the filter name and the tag value as the filter value.
54617	//    For example, to find all resources that have a tag with the key Owner
54618	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
54619	//    the filter value.
54620	//
54621	//    * tag-key - The key of a tag assigned to the resource. Use this filter
54622	//    to find all resources assigned a tag with a specific key, regardless of
54623	//    the tag value.
54624	//
54625	//    * vpc-id - The ID of the VPC for the subnet.
54626	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54627
54628	// The maximum number of results to return with a single call. To retrieve the
54629	// remaining results, make another call with the returned nextToken value.
54630	MaxResults *int64 `min:"5" type:"integer"`
54631
54632	// The token for the next page of results.
54633	NextToken *string `type:"string"`
54634
54635	// One or more subnet IDs.
54636	//
54637	// Default: Describes all your subnets.
54638	SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
54639}
54640
54641// String returns the string representation
54642func (s DescribeSubnetsInput) String() string {
54643	return awsutil.Prettify(s)
54644}
54645
54646// GoString returns the string representation
54647func (s DescribeSubnetsInput) GoString() string {
54648	return s.String()
54649}
54650
54651// Validate inspects the fields of the type to determine if they are valid.
54652func (s *DescribeSubnetsInput) Validate() error {
54653	invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"}
54654	if s.MaxResults != nil && *s.MaxResults < 5 {
54655		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54656	}
54657
54658	if invalidParams.Len() > 0 {
54659		return invalidParams
54660	}
54661	return nil
54662}
54663
54664// SetDryRun sets the DryRun field's value.
54665func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
54666	s.DryRun = &v
54667	return s
54668}
54669
54670// SetFilters sets the Filters field's value.
54671func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
54672	s.Filters = v
54673	return s
54674}
54675
54676// SetMaxResults sets the MaxResults field's value.
54677func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput {
54678	s.MaxResults = &v
54679	return s
54680}
54681
54682// SetNextToken sets the NextToken field's value.
54683func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput {
54684	s.NextToken = &v
54685	return s
54686}
54687
54688// SetSubnetIds sets the SubnetIds field's value.
54689func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
54690	s.SubnetIds = v
54691	return s
54692}
54693
54694type DescribeSubnetsOutput struct {
54695	_ struct{} `type:"structure"`
54696
54697	// The token to use to retrieve the next page of results. This value is null
54698	// when there are no more results to return.
54699	NextToken *string `locationName:"nextToken" type:"string"`
54700
54701	// Information about one or more subnets.
54702	Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
54703}
54704
54705// String returns the string representation
54706func (s DescribeSubnetsOutput) String() string {
54707	return awsutil.Prettify(s)
54708}
54709
54710// GoString returns the string representation
54711func (s DescribeSubnetsOutput) GoString() string {
54712	return s.String()
54713}
54714
54715// SetNextToken sets the NextToken field's value.
54716func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput {
54717	s.NextToken = &v
54718	return s
54719}
54720
54721// SetSubnets sets the Subnets field's value.
54722func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
54723	s.Subnets = v
54724	return s
54725}
54726
54727type DescribeTagsInput struct {
54728	_ struct{} `type:"structure"`
54729
54730	// Checks whether you have the required permissions for the action, without
54731	// actually making the request, and provides an error response. If you have
54732	// the required permissions, the error response is DryRunOperation. Otherwise,
54733	// it is UnauthorizedOperation.
54734	DryRun *bool `locationName:"dryRun" type:"boolean"`
54735
54736	// The filters.
54737	//
54738	//    * key - The tag key.
54739	//
54740	//    * resource-id - The ID of the resource.
54741	//
54742	//    * resource-type - The resource type (customer-gateway | dedicated-host
54743	//    | dhcp-options | elastic-ip | fleet | fpga-image | image | instance |
54744	//    host-reservation | internet-gateway | launch-template | natgateway | network-acl
54745	//    | network-interface | reserved-instances | route-table | security-group
54746	//    | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection
54747	//    | vpn-connection | vpn-gateway).
54748	//
54749	//    * tag:<key> - The key/value combination of the tag. For example, specify
54750	//    "tag:Owner" for the filter name and "TeamA" for the filter value to find
54751	//    resources with the tag "Owner=TeamA".
54752	//
54753	//    * value - The tag value.
54754	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54755
54756	// The maximum number of results to return in a single call. This value can
54757	// be between 5 and 1000. To retrieve the remaining results, make another call
54758	// with the returned NextToken value.
54759	MaxResults *int64 `locationName:"maxResults" type:"integer"`
54760
54761	// The token to retrieve the next page of results.
54762	NextToken *string `locationName:"nextToken" type:"string"`
54763}
54764
54765// String returns the string representation
54766func (s DescribeTagsInput) String() string {
54767	return awsutil.Prettify(s)
54768}
54769
54770// GoString returns the string representation
54771func (s DescribeTagsInput) GoString() string {
54772	return s.String()
54773}
54774
54775// SetDryRun sets the DryRun field's value.
54776func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
54777	s.DryRun = &v
54778	return s
54779}
54780
54781// SetFilters sets the Filters field's value.
54782func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
54783	s.Filters = v
54784	return s
54785}
54786
54787// SetMaxResults sets the MaxResults field's value.
54788func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
54789	s.MaxResults = &v
54790	return s
54791}
54792
54793// SetNextToken sets the NextToken field's value.
54794func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
54795	s.NextToken = &v
54796	return s
54797}
54798
54799type DescribeTagsOutput struct {
54800	_ struct{} `type:"structure"`
54801
54802	// The token to use to retrieve the next page of results. This value is null
54803	// when there are no more results to return.
54804	NextToken *string `locationName:"nextToken" type:"string"`
54805
54806	// The tags.
54807	Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
54808}
54809
54810// String returns the string representation
54811func (s DescribeTagsOutput) String() string {
54812	return awsutil.Prettify(s)
54813}
54814
54815// GoString returns the string representation
54816func (s DescribeTagsOutput) GoString() string {
54817	return s.String()
54818}
54819
54820// SetNextToken sets the NextToken field's value.
54821func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
54822	s.NextToken = &v
54823	return s
54824}
54825
54826// SetTags sets the Tags field's value.
54827func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
54828	s.Tags = v
54829	return s
54830}
54831
54832type DescribeTransitGatewayAttachmentsInput struct {
54833	_ struct{} `type:"structure"`
54834
54835	// Checks whether you have the required permissions for the action, without
54836	// actually making the request, and provides an error response. If you have
54837	// the required permissions, the error response is DryRunOperation. Otherwise,
54838	// it is UnauthorizedOperation.
54839	DryRun *bool `type:"boolean"`
54840
54841	// One or more filters. The possible values are:
54842	//
54843	//    * association.state - The state of the association (associating | associated
54844	//    | disassociating).
54845	//
54846	//    * association.transit-gateway-route-table-id - The ID of the route table
54847	//    for the transit gateway.
54848	//
54849	//    * resource-id - The ID of the resource.
54850	//
54851	//    * resource-owner-id - The ID of the AWS account that owns the resource.
54852	//
54853	//    * resource-type - The resource type (vpc | vpn).
54854	//
54855	//    * state - The state of the attachment (available | deleted | deleting
54856	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
54857	//    | rejecting).
54858	//
54859	//    * transit-gateway-attachment-id - The ID of the attachment.
54860	//
54861	//    * transit-gateway-id - The ID of the transit gateway.
54862	//
54863	//    * transit-gateway-owner-id - The ID of the AWS account that owns the transit
54864	//    gateway.
54865	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54866
54867	// The maximum number of results to return with a single call. To retrieve the
54868	// remaining results, make another call with the returned nextToken value.
54869	MaxResults *int64 `min:"5" type:"integer"`
54870
54871	// The token for the next page of results.
54872	NextToken *string `type:"string"`
54873
54874	// The IDs of the attachments.
54875	TransitGatewayAttachmentIds []*string `type:"list"`
54876}
54877
54878// String returns the string representation
54879func (s DescribeTransitGatewayAttachmentsInput) String() string {
54880	return awsutil.Prettify(s)
54881}
54882
54883// GoString returns the string representation
54884func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
54885	return s.String()
54886}
54887
54888// Validate inspects the fields of the type to determine if they are valid.
54889func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
54890	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
54891	if s.MaxResults != nil && *s.MaxResults < 5 {
54892		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54893	}
54894
54895	if invalidParams.Len() > 0 {
54896		return invalidParams
54897	}
54898	return nil
54899}
54900
54901// SetDryRun sets the DryRun field's value.
54902func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
54903	s.DryRun = &v
54904	return s
54905}
54906
54907// SetFilters sets the Filters field's value.
54908func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
54909	s.Filters = v
54910	return s
54911}
54912
54913// SetMaxResults sets the MaxResults field's value.
54914func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
54915	s.MaxResults = &v
54916	return s
54917}
54918
54919// SetNextToken sets the NextToken field's value.
54920func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
54921	s.NextToken = &v
54922	return s
54923}
54924
54925// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
54926func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
54927	s.TransitGatewayAttachmentIds = v
54928	return s
54929}
54930
54931type DescribeTransitGatewayAttachmentsOutput struct {
54932	_ struct{} `type:"structure"`
54933
54934	// The token to use to retrieve the next page of results. This value is null
54935	// when there are no more results to return.
54936	NextToken *string `locationName:"nextToken" type:"string"`
54937
54938	// Information about the attachments.
54939	TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
54940}
54941
54942// String returns the string representation
54943func (s DescribeTransitGatewayAttachmentsOutput) String() string {
54944	return awsutil.Prettify(s)
54945}
54946
54947// GoString returns the string representation
54948func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
54949	return s.String()
54950}
54951
54952// SetNextToken sets the NextToken field's value.
54953func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
54954	s.NextToken = &v
54955	return s
54956}
54957
54958// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
54959func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
54960	s.TransitGatewayAttachments = v
54961	return s
54962}
54963
54964type DescribeTransitGatewayRouteTablesInput struct {
54965	_ struct{} `type:"structure"`
54966
54967	// Checks whether you have the required permissions for the action, without
54968	// actually making the request, and provides an error response. If you have
54969	// the required permissions, the error response is DryRunOperation. Otherwise,
54970	// it is UnauthorizedOperation.
54971	DryRun *bool `type:"boolean"`
54972
54973	// One or more filters. The possible values are:
54974	//
54975	//    * default-association-route-table - Indicates whether this is the default
54976	//    association route table for the transit gateway (true | false).
54977	//
54978	//    * default-propagation-route-table - Indicates whether this is the default
54979	//    propagation route table for the transit gateway (true | false).
54980	//
54981	//    * state - The state of the attachment (available | deleted | deleting
54982	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
54983	//    | rejecting).
54984	//
54985	//    * transit-gateway-id - The ID of the transit gateway.
54986	//
54987	//    * transit-gateway-route-table-id - The ID of the transit gateway route
54988	//    table.
54989	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54990
54991	// The maximum number of results to return with a single call. To retrieve the
54992	// remaining results, make another call with the returned nextToken value.
54993	MaxResults *int64 `min:"5" type:"integer"`
54994
54995	// The token for the next page of results.
54996	NextToken *string `type:"string"`
54997
54998	// The IDs of the transit gateway route tables.
54999	TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
55000}
55001
55002// String returns the string representation
55003func (s DescribeTransitGatewayRouteTablesInput) String() string {
55004	return awsutil.Prettify(s)
55005}
55006
55007// GoString returns the string representation
55008func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
55009	return s.String()
55010}
55011
55012// Validate inspects the fields of the type to determine if they are valid.
55013func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
55014	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
55015	if s.MaxResults != nil && *s.MaxResults < 5 {
55016		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55017	}
55018
55019	if invalidParams.Len() > 0 {
55020		return invalidParams
55021	}
55022	return nil
55023}
55024
55025// SetDryRun sets the DryRun field's value.
55026func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
55027	s.DryRun = &v
55028	return s
55029}
55030
55031// SetFilters sets the Filters field's value.
55032func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
55033	s.Filters = v
55034	return s
55035}
55036
55037// SetMaxResults sets the MaxResults field's value.
55038func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
55039	s.MaxResults = &v
55040	return s
55041}
55042
55043// SetNextToken sets the NextToken field's value.
55044func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
55045	s.NextToken = &v
55046	return s
55047}
55048
55049// SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
55050func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
55051	s.TransitGatewayRouteTableIds = v
55052	return s
55053}
55054
55055type DescribeTransitGatewayRouteTablesOutput struct {
55056	_ struct{} `type:"structure"`
55057
55058	// The token to use to retrieve the next page of results. This value is null
55059	// when there are no more results to return.
55060	NextToken *string `locationName:"nextToken" type:"string"`
55061
55062	// Information about the transit gateway route tables.
55063	TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
55064}
55065
55066// String returns the string representation
55067func (s DescribeTransitGatewayRouteTablesOutput) String() string {
55068	return awsutil.Prettify(s)
55069}
55070
55071// GoString returns the string representation
55072func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
55073	return s.String()
55074}
55075
55076// SetNextToken sets the NextToken field's value.
55077func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
55078	s.NextToken = &v
55079	return s
55080}
55081
55082// SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
55083func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
55084	s.TransitGatewayRouteTables = v
55085	return s
55086}
55087
55088type DescribeTransitGatewayVpcAttachmentsInput struct {
55089	_ struct{} `type:"structure"`
55090
55091	// Checks whether you have the required permissions for the action, without
55092	// actually making the request, and provides an error response. If you have
55093	// the required permissions, the error response is DryRunOperation. Otherwise,
55094	// it is UnauthorizedOperation.
55095	DryRun *bool `type:"boolean"`
55096
55097	// One or more filters. The possible values are:
55098	//
55099	//    * state - The state of the attachment (available | deleted | deleting
55100	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
55101	//    | rejecting).
55102	//
55103	//    * transit-gateway-attachment-id - The ID of the attachment.
55104	//
55105	//    * transit-gateway-id - The ID of the transit gateway.
55106	//
55107	//    * vpc-id - The ID of the VPC.
55108	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55109
55110	// The maximum number of results to return with a single call. To retrieve the
55111	// remaining results, make another call with the returned nextToken value.
55112	MaxResults *int64 `min:"5" type:"integer"`
55113
55114	// The token for the next page of results.
55115	NextToken *string `type:"string"`
55116
55117	// The IDs of the attachments.
55118	TransitGatewayAttachmentIds []*string `type:"list"`
55119}
55120
55121// String returns the string representation
55122func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
55123	return awsutil.Prettify(s)
55124}
55125
55126// GoString returns the string representation
55127func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
55128	return s.String()
55129}
55130
55131// Validate inspects the fields of the type to determine if they are valid.
55132func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
55133	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
55134	if s.MaxResults != nil && *s.MaxResults < 5 {
55135		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55136	}
55137
55138	if invalidParams.Len() > 0 {
55139		return invalidParams
55140	}
55141	return nil
55142}
55143
55144// SetDryRun sets the DryRun field's value.
55145func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
55146	s.DryRun = &v
55147	return s
55148}
55149
55150// SetFilters sets the Filters field's value.
55151func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
55152	s.Filters = v
55153	return s
55154}
55155
55156// SetMaxResults sets the MaxResults field's value.
55157func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
55158	s.MaxResults = &v
55159	return s
55160}
55161
55162// SetNextToken sets the NextToken field's value.
55163func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
55164	s.NextToken = &v
55165	return s
55166}
55167
55168// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
55169func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
55170	s.TransitGatewayAttachmentIds = v
55171	return s
55172}
55173
55174type DescribeTransitGatewayVpcAttachmentsOutput struct {
55175	_ struct{} `type:"structure"`
55176
55177	// The token to use to retrieve the next page of results. This value is null
55178	// when there are no more results to return.
55179	NextToken *string `locationName:"nextToken" type:"string"`
55180
55181	// Information about the VPC attachments.
55182	TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
55183}
55184
55185// String returns the string representation
55186func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
55187	return awsutil.Prettify(s)
55188}
55189
55190// GoString returns the string representation
55191func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
55192	return s.String()
55193}
55194
55195// SetNextToken sets the NextToken field's value.
55196func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
55197	s.NextToken = &v
55198	return s
55199}
55200
55201// SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
55202func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
55203	s.TransitGatewayVpcAttachments = v
55204	return s
55205}
55206
55207type DescribeTransitGatewaysInput struct {
55208	_ struct{} `type:"structure"`
55209
55210	// Checks whether you have the required permissions for the action, without
55211	// actually making the request, and provides an error response. If you have
55212	// the required permissions, the error response is DryRunOperation. Otherwise,
55213	// it is UnauthorizedOperation.
55214	DryRun *bool `type:"boolean"`
55215
55216	// One or more filters. The possible values are:
55217	//
55218	//    * options.propagation-default-route-table-id - The ID of the default propagation
55219	//    route table.
55220	//
55221	//    * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
55222	//    session.
55223	//
55224	//    * options.association-default-route-table-id - The ID of the default association
55225	//    route table.
55226	//
55227	//    * options.auto-accept-shared-attachments - Indicates whether there is
55228	//    automatic acceptance of attachment requests (enable | disable).
55229	//
55230	//    * options.default-route-table-association - Indicates whether resource
55231	//    attachments are automatically associated with the default association
55232	//    route table (enable | disable).
55233	//
55234	//    * options.default-route-table-propagation - Indicates whether resource
55235	//    attachments automatically propagate routes to the default propagation
55236	//    route table (enable | disable).
55237	//
55238	//    * options.dns-support - Indicates whether DNS support is enabled (enable
55239	//    | disable).
55240	//
55241	//    * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
55242	//    support is enabled (enable | disable).
55243	//
55244	//    * owner-id - The ID of the AWS account that owns the transit gateway.
55245	//
55246	//    * state - The state of the attachment (available | deleted | deleting
55247	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
55248	//    | rejecting).
55249	//
55250	//    * transit-gateway-id - The ID of the transit gateway.
55251	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55252
55253	// The maximum number of results to return with a single call. To retrieve the
55254	// remaining results, make another call with the returned nextToken value.
55255	MaxResults *int64 `min:"5" type:"integer"`
55256
55257	// The token for the next page of results.
55258	NextToken *string `type:"string"`
55259
55260	// The IDs of the transit gateways.
55261	TransitGatewayIds []*string `locationNameList:"item" type:"list"`
55262}
55263
55264// String returns the string representation
55265func (s DescribeTransitGatewaysInput) String() string {
55266	return awsutil.Prettify(s)
55267}
55268
55269// GoString returns the string representation
55270func (s DescribeTransitGatewaysInput) GoString() string {
55271	return s.String()
55272}
55273
55274// Validate inspects the fields of the type to determine if they are valid.
55275func (s *DescribeTransitGatewaysInput) Validate() error {
55276	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
55277	if s.MaxResults != nil && *s.MaxResults < 5 {
55278		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55279	}
55280
55281	if invalidParams.Len() > 0 {
55282		return invalidParams
55283	}
55284	return nil
55285}
55286
55287// SetDryRun sets the DryRun field's value.
55288func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
55289	s.DryRun = &v
55290	return s
55291}
55292
55293// SetFilters sets the Filters field's value.
55294func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
55295	s.Filters = v
55296	return s
55297}
55298
55299// SetMaxResults sets the MaxResults field's value.
55300func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
55301	s.MaxResults = &v
55302	return s
55303}
55304
55305// SetNextToken sets the NextToken field's value.
55306func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
55307	s.NextToken = &v
55308	return s
55309}
55310
55311// SetTransitGatewayIds sets the TransitGatewayIds field's value.
55312func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
55313	s.TransitGatewayIds = v
55314	return s
55315}
55316
55317type DescribeTransitGatewaysOutput struct {
55318	_ struct{} `type:"structure"`
55319
55320	// The token to use to retrieve the next page of results. This value is null
55321	// when there are no more results to return.
55322	NextToken *string `locationName:"nextToken" type:"string"`
55323
55324	// Information about the transit gateways.
55325	TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
55326}
55327
55328// String returns the string representation
55329func (s DescribeTransitGatewaysOutput) String() string {
55330	return awsutil.Prettify(s)
55331}
55332
55333// GoString returns the string representation
55334func (s DescribeTransitGatewaysOutput) GoString() string {
55335	return s.String()
55336}
55337
55338// SetNextToken sets the NextToken field's value.
55339func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
55340	s.NextToken = &v
55341	return s
55342}
55343
55344// SetTransitGateways sets the TransitGateways field's value.
55345func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
55346	s.TransitGateways = v
55347	return s
55348}
55349
55350// Contains the parameters for DescribeVolumeAttribute.
55351type DescribeVolumeAttributeInput struct {
55352	_ struct{} `type:"structure"`
55353
55354	// The attribute of the volume. This parameter is required.
55355	//
55356	// Attribute is a required field
55357	Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
55358
55359	// Checks whether you have the required permissions for the action, without
55360	// actually making the request, and provides an error response. If you have
55361	// the required permissions, the error response is DryRunOperation. Otherwise,
55362	// it is UnauthorizedOperation.
55363	DryRun *bool `locationName:"dryRun" type:"boolean"`
55364
55365	// The ID of the volume.
55366	//
55367	// VolumeId is a required field
55368	VolumeId *string `type:"string" required:"true"`
55369}
55370
55371// String returns the string representation
55372func (s DescribeVolumeAttributeInput) String() string {
55373	return awsutil.Prettify(s)
55374}
55375
55376// GoString returns the string representation
55377func (s DescribeVolumeAttributeInput) GoString() string {
55378	return s.String()
55379}
55380
55381// Validate inspects the fields of the type to determine if they are valid.
55382func (s *DescribeVolumeAttributeInput) Validate() error {
55383	invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
55384	if s.Attribute == nil {
55385		invalidParams.Add(request.NewErrParamRequired("Attribute"))
55386	}
55387	if s.VolumeId == nil {
55388		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
55389	}
55390
55391	if invalidParams.Len() > 0 {
55392		return invalidParams
55393	}
55394	return nil
55395}
55396
55397// SetAttribute sets the Attribute field's value.
55398func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
55399	s.Attribute = &v
55400	return s
55401}
55402
55403// SetDryRun sets the DryRun field's value.
55404func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
55405	s.DryRun = &v
55406	return s
55407}
55408
55409// SetVolumeId sets the VolumeId field's value.
55410func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
55411	s.VolumeId = &v
55412	return s
55413}
55414
55415// Contains the output of DescribeVolumeAttribute.
55416type DescribeVolumeAttributeOutput struct {
55417	_ struct{} `type:"structure"`
55418
55419	// The state of autoEnableIO attribute.
55420	AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
55421
55422	// A list of product codes.
55423	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
55424
55425	// The ID of the volume.
55426	VolumeId *string `locationName:"volumeId" type:"string"`
55427}
55428
55429// String returns the string representation
55430func (s DescribeVolumeAttributeOutput) String() string {
55431	return awsutil.Prettify(s)
55432}
55433
55434// GoString returns the string representation
55435func (s DescribeVolumeAttributeOutput) GoString() string {
55436	return s.String()
55437}
55438
55439// SetAutoEnableIO sets the AutoEnableIO field's value.
55440func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
55441	s.AutoEnableIO = v
55442	return s
55443}
55444
55445// SetProductCodes sets the ProductCodes field's value.
55446func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
55447	s.ProductCodes = v
55448	return s
55449}
55450
55451// SetVolumeId sets the VolumeId field's value.
55452func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
55453	s.VolumeId = &v
55454	return s
55455}
55456
55457type DescribeVolumeStatusInput struct {
55458	_ struct{} `type:"structure"`
55459
55460	// Checks whether you have the required permissions for the action, without
55461	// actually making the request, and provides an error response. If you have
55462	// the required permissions, the error response is DryRunOperation. Otherwise,
55463	// it is UnauthorizedOperation.
55464	DryRun *bool `locationName:"dryRun" type:"boolean"`
55465
55466	// The filters.
55467	//
55468	//    * action.code - The action code for the event (for example, enable-volume-io).
55469	//
55470	//    * action.description - A description of the action.
55471	//
55472	//    * action.event-id - The event ID associated with the action.
55473	//
55474	//    * availability-zone - The Availability Zone of the instance.
55475	//
55476	//    * event.description - A description of the event.
55477	//
55478	//    * event.event-id - The event ID.
55479	//
55480	//    * event.event-type - The event type (for io-enabled: passed | failed;
55481	//    for io-performance: io-performance:degraded | io-performance:severely-degraded
55482	//    | io-performance:stalled).
55483	//
55484	//    * event.not-after - The latest end time for the event.
55485	//
55486	//    * event.not-before - The earliest start time for the event.
55487	//
55488	//    * volume-status.details-name - The cause for volume-status.status (io-enabled
55489	//    | io-performance).
55490	//
55491	//    * volume-status.details-status - The status of volume-status.details-name
55492	//    (for io-enabled: passed | failed; for io-performance: normal | degraded
55493	//    | severely-degraded | stalled).
55494	//
55495	//    * volume-status.status - The status of the volume (ok | impaired | warning
55496	//    | insufficient-data).
55497	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55498
55499	// The maximum number of volume results returned by DescribeVolumeStatus in
55500	// paginated output. When this parameter is used, the request only returns MaxResults
55501	// results in a single page along with a NextToken response element. The remaining
55502	// results of the initial request can be seen by sending another request with
55503	// the returned NextToken value. This value can be between 5 and 1000; if MaxResults
55504	// is given a value larger than 1000, only 1000 results are returned. If this
55505	// parameter is not used, then DescribeVolumeStatus returns all results. You
55506	// cannot specify this parameter and the volume IDs parameter in the same request.
55507	MaxResults *int64 `type:"integer"`
55508
55509	// The NextToken value to include in a future DescribeVolumeStatus request.
55510	// When the results of the request exceed MaxResults, this value can be used
55511	// to retrieve the next page of results. This value is null when there are no
55512	// more results to return.
55513	NextToken *string `type:"string"`
55514
55515	// The IDs of the volumes.
55516	//
55517	// Default: Describes all your volumes.
55518	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
55519}
55520
55521// String returns the string representation
55522func (s DescribeVolumeStatusInput) String() string {
55523	return awsutil.Prettify(s)
55524}
55525
55526// GoString returns the string representation
55527func (s DescribeVolumeStatusInput) GoString() string {
55528	return s.String()
55529}
55530
55531// SetDryRun sets the DryRun field's value.
55532func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
55533	s.DryRun = &v
55534	return s
55535}
55536
55537// SetFilters sets the Filters field's value.
55538func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
55539	s.Filters = v
55540	return s
55541}
55542
55543// SetMaxResults sets the MaxResults field's value.
55544func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
55545	s.MaxResults = &v
55546	return s
55547}
55548
55549// SetNextToken sets the NextToken field's value.
55550func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
55551	s.NextToken = &v
55552	return s
55553}
55554
55555// SetVolumeIds sets the VolumeIds field's value.
55556func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
55557	s.VolumeIds = v
55558	return s
55559}
55560
55561type DescribeVolumeStatusOutput struct {
55562	_ struct{} `type:"structure"`
55563
55564	// The token to use to retrieve the next page of results. This value is null
55565	// when there are no more results to return.
55566	NextToken *string `locationName:"nextToken" type:"string"`
55567
55568	// Information about the status of the volumes.
55569	VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
55570}
55571
55572// String returns the string representation
55573func (s DescribeVolumeStatusOutput) String() string {
55574	return awsutil.Prettify(s)
55575}
55576
55577// GoString returns the string representation
55578func (s DescribeVolumeStatusOutput) GoString() string {
55579	return s.String()
55580}
55581
55582// SetNextToken sets the NextToken field's value.
55583func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
55584	s.NextToken = &v
55585	return s
55586}
55587
55588// SetVolumeStatuses sets the VolumeStatuses field's value.
55589func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
55590	s.VolumeStatuses = v
55591	return s
55592}
55593
55594type DescribeVolumesInput struct {
55595	_ struct{} `type:"structure"`
55596
55597	// Checks whether you have the required permissions for the action, without
55598	// actually making the request, and provides an error response. If you have
55599	// the required permissions, the error response is DryRunOperation. Otherwise,
55600	// it is UnauthorizedOperation.
55601	DryRun *bool `locationName:"dryRun" type:"boolean"`
55602
55603	// The filters.
55604	//
55605	//    * attachment.attach-time - The time stamp when the attachment initiated.
55606	//
55607	//    * attachment.delete-on-termination - Whether the volume is deleted on
55608	//    instance termination.
55609	//
55610	//    * attachment.device - The device name specified in the block device mapping
55611	//    (for example, /dev/sda1).
55612	//
55613	//    * attachment.instance-id - The ID of the instance the volume is attached
55614	//    to.
55615	//
55616	//    * attachment.status - The attachment state (attaching | attached | detaching).
55617	//
55618	//    * availability-zone - The Availability Zone in which the volume was created.
55619	//
55620	//    * create-time - The time stamp when the volume was created.
55621	//
55622	//    * encrypted - Indicates whether the volume is encrypted (true | false)
55623	//
55624	//    * size - The size of the volume, in GiB.
55625	//
55626	//    * snapshot-id - The snapshot from which the volume was created.
55627	//
55628	//    * status - The status of the volume (creating | available | in-use | deleting
55629	//    | deleted | error).
55630	//
55631	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
55632	//    Use the tag key in the filter name and the tag value as the filter value.
55633	//    For example, to find all resources that have a tag with the key Owner
55634	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
55635	//    the filter value.
55636	//
55637	//    * tag-key - The key of a tag assigned to the resource. Use this filter
55638	//    to find all resources assigned a tag with a specific key, regardless of
55639	//    the tag value.
55640	//
55641	//    * volume-id - The volume ID.
55642	//
55643	//    * volume-type - The Amazon EBS volume type. This can be gp2 for General
55644	//    Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
55645	//    HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
55646	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55647
55648	// The maximum number of volume results returned by DescribeVolumes in paginated
55649	// output. When this parameter is used, DescribeVolumes only returns MaxResults
55650	// results in a single page along with a NextToken response element. The remaining
55651	// results of the initial request can be seen by sending another DescribeVolumes
55652	// request with the returned NextToken value. This value can be between 5 and
55653	// 500; if MaxResults is given a value larger than 500, only 500 results are
55654	// returned. If this parameter is not used, then DescribeVolumes returns all
55655	// results. You cannot specify this parameter and the volume IDs parameter in
55656	// the same request.
55657	MaxResults *int64 `locationName:"maxResults" type:"integer"`
55658
55659	// The NextToken value returned from a previous paginated DescribeVolumes request
55660	// where MaxResults was used and the results exceeded the value of that parameter.
55661	// Pagination continues from the end of the previous results that returned the
55662	// NextToken value. This value is null when there are no more results to return.
55663	NextToken *string `locationName:"nextToken" type:"string"`
55664
55665	// The volume IDs.
55666	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
55667}
55668
55669// String returns the string representation
55670func (s DescribeVolumesInput) String() string {
55671	return awsutil.Prettify(s)
55672}
55673
55674// GoString returns the string representation
55675func (s DescribeVolumesInput) GoString() string {
55676	return s.String()
55677}
55678
55679// SetDryRun sets the DryRun field's value.
55680func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
55681	s.DryRun = &v
55682	return s
55683}
55684
55685// SetFilters sets the Filters field's value.
55686func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
55687	s.Filters = v
55688	return s
55689}
55690
55691// SetMaxResults sets the MaxResults field's value.
55692func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
55693	s.MaxResults = &v
55694	return s
55695}
55696
55697// SetNextToken sets the NextToken field's value.
55698func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
55699	s.NextToken = &v
55700	return s
55701}
55702
55703// SetVolumeIds sets the VolumeIds field's value.
55704func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
55705	s.VolumeIds = v
55706	return s
55707}
55708
55709type DescribeVolumesModificationsInput struct {
55710	_ struct{} `type:"structure"`
55711
55712	// Checks whether you have the required permissions for the action, without
55713	// actually making the request, and provides an error response. If you have
55714	// the required permissions, the error response is DryRunOperation. Otherwise,
55715	// it is UnauthorizedOperation.
55716	DryRun *bool `type:"boolean"`
55717
55718	// The filters. Supported filters: volume-id, modification-state, target-size,
55719	// target-iops, target-volume-type, original-size, original-iops, original-volume-type,
55720	// start-time.
55721	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55722
55723	// The maximum number of results (up to a limit of 500) to be returned in a
55724	// paginated request.
55725	MaxResults *int64 `type:"integer"`
55726
55727	// The nextToken value returned by a previous paginated request.
55728	NextToken *string `type:"string"`
55729
55730	// The IDs of the volumes for which in-progress modifications will be described.
55731	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
55732}
55733
55734// String returns the string representation
55735func (s DescribeVolumesModificationsInput) String() string {
55736	return awsutil.Prettify(s)
55737}
55738
55739// GoString returns the string representation
55740func (s DescribeVolumesModificationsInput) GoString() string {
55741	return s.String()
55742}
55743
55744// SetDryRun sets the DryRun field's value.
55745func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
55746	s.DryRun = &v
55747	return s
55748}
55749
55750// SetFilters sets the Filters field's value.
55751func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
55752	s.Filters = v
55753	return s
55754}
55755
55756// SetMaxResults sets the MaxResults field's value.
55757func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
55758	s.MaxResults = &v
55759	return s
55760}
55761
55762// SetNextToken sets the NextToken field's value.
55763func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
55764	s.NextToken = &v
55765	return s
55766}
55767
55768// SetVolumeIds sets the VolumeIds field's value.
55769func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
55770	s.VolumeIds = v
55771	return s
55772}
55773
55774type DescribeVolumesModificationsOutput struct {
55775	_ struct{} `type:"structure"`
55776
55777	// Token for pagination, null if there are no more results
55778	NextToken *string `locationName:"nextToken" type:"string"`
55779
55780	// Information about the volume modifications.
55781	VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
55782}
55783
55784// String returns the string representation
55785func (s DescribeVolumesModificationsOutput) String() string {
55786	return awsutil.Prettify(s)
55787}
55788
55789// GoString returns the string representation
55790func (s DescribeVolumesModificationsOutput) GoString() string {
55791	return s.String()
55792}
55793
55794// SetNextToken sets the NextToken field's value.
55795func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
55796	s.NextToken = &v
55797	return s
55798}
55799
55800// SetVolumesModifications sets the VolumesModifications field's value.
55801func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
55802	s.VolumesModifications = v
55803	return s
55804}
55805
55806type DescribeVolumesOutput struct {
55807	_ struct{} `type:"structure"`
55808
55809	// The NextToken value to include in a future DescribeVolumes request. When
55810	// the results of a DescribeVolumes request exceed MaxResults, this value can
55811	// be used to retrieve the next page of results. This value is null when there
55812	// are no more results to return.
55813	NextToken *string `locationName:"nextToken" type:"string"`
55814
55815	// Information about the volumes.
55816	Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
55817}
55818
55819// String returns the string representation
55820func (s DescribeVolumesOutput) String() string {
55821	return awsutil.Prettify(s)
55822}
55823
55824// GoString returns the string representation
55825func (s DescribeVolumesOutput) GoString() string {
55826	return s.String()
55827}
55828
55829// SetNextToken sets the NextToken field's value.
55830func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
55831	s.NextToken = &v
55832	return s
55833}
55834
55835// SetVolumes sets the Volumes field's value.
55836func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
55837	s.Volumes = v
55838	return s
55839}
55840
55841type DescribeVpcAttributeInput struct {
55842	_ struct{} `type:"structure"`
55843
55844	// The VPC attribute.
55845	//
55846	// Attribute is a required field
55847	Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
55848
55849	// Checks whether you have the required permissions for the action, without
55850	// actually making the request, and provides an error response. If you have
55851	// the required permissions, the error response is DryRunOperation. Otherwise,
55852	// it is UnauthorizedOperation.
55853	DryRun *bool `locationName:"dryRun" type:"boolean"`
55854
55855	// The ID of the VPC.
55856	//
55857	// VpcId is a required field
55858	VpcId *string `type:"string" required:"true"`
55859}
55860
55861// String returns the string representation
55862func (s DescribeVpcAttributeInput) String() string {
55863	return awsutil.Prettify(s)
55864}
55865
55866// GoString returns the string representation
55867func (s DescribeVpcAttributeInput) GoString() string {
55868	return s.String()
55869}
55870
55871// Validate inspects the fields of the type to determine if they are valid.
55872func (s *DescribeVpcAttributeInput) Validate() error {
55873	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
55874	if s.Attribute == nil {
55875		invalidParams.Add(request.NewErrParamRequired("Attribute"))
55876	}
55877	if s.VpcId == nil {
55878		invalidParams.Add(request.NewErrParamRequired("VpcId"))
55879	}
55880
55881	if invalidParams.Len() > 0 {
55882		return invalidParams
55883	}
55884	return nil
55885}
55886
55887// SetAttribute sets the Attribute field's value.
55888func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
55889	s.Attribute = &v
55890	return s
55891}
55892
55893// SetDryRun sets the DryRun field's value.
55894func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
55895	s.DryRun = &v
55896	return s
55897}
55898
55899// SetVpcId sets the VpcId field's value.
55900func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
55901	s.VpcId = &v
55902	return s
55903}
55904
55905type DescribeVpcAttributeOutput struct {
55906	_ struct{} `type:"structure"`
55907
55908	// Indicates whether the instances launched in the VPC get DNS hostnames. If
55909	// this attribute is true, instances in the VPC get DNS hostnames; otherwise,
55910	// they do not.
55911	EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
55912
55913	// Indicates whether DNS resolution is enabled for the VPC. If this attribute
55914	// is true, the Amazon DNS server resolves DNS hostnames for your instances
55915	// to their corresponding IP addresses; otherwise, it does not.
55916	EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
55917
55918	// The ID of the VPC.
55919	VpcId *string `locationName:"vpcId" type:"string"`
55920}
55921
55922// String returns the string representation
55923func (s DescribeVpcAttributeOutput) String() string {
55924	return awsutil.Prettify(s)
55925}
55926
55927// GoString returns the string representation
55928func (s DescribeVpcAttributeOutput) GoString() string {
55929	return s.String()
55930}
55931
55932// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
55933func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
55934	s.EnableDnsHostnames = v
55935	return s
55936}
55937
55938// SetEnableDnsSupport sets the EnableDnsSupport field's value.
55939func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
55940	s.EnableDnsSupport = v
55941	return s
55942}
55943
55944// SetVpcId sets the VpcId field's value.
55945func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
55946	s.VpcId = &v
55947	return s
55948}
55949
55950type DescribeVpcClassicLinkDnsSupportInput struct {
55951	_ struct{} `type:"structure"`
55952
55953	// The maximum number of results to return with a single call. To retrieve the
55954	// remaining results, make another call with the returned nextToken value.
55955	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
55956
55957	// The token for the next page of results.
55958	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
55959
55960	// One or more VPC IDs.
55961	VpcIds []*string `locationNameList:"VpcId" type:"list"`
55962}
55963
55964// String returns the string representation
55965func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
55966	return awsutil.Prettify(s)
55967}
55968
55969// GoString returns the string representation
55970func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
55971	return s.String()
55972}
55973
55974// Validate inspects the fields of the type to determine if they are valid.
55975func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
55976	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
55977	if s.MaxResults != nil && *s.MaxResults < 5 {
55978		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55979	}
55980	if s.NextToken != nil && len(*s.NextToken) < 1 {
55981		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
55982	}
55983
55984	if invalidParams.Len() > 0 {
55985		return invalidParams
55986	}
55987	return nil
55988}
55989
55990// SetMaxResults sets the MaxResults field's value.
55991func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
55992	s.MaxResults = &v
55993	return s
55994}
55995
55996// SetNextToken sets the NextToken field's value.
55997func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
55998	s.NextToken = &v
55999	return s
56000}
56001
56002// SetVpcIds sets the VpcIds field's value.
56003func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
56004	s.VpcIds = v
56005	return s
56006}
56007
56008type DescribeVpcClassicLinkDnsSupportOutput struct {
56009	_ struct{} `type:"structure"`
56010
56011	// The token to use to retrieve the next page of results. This value is null
56012	// when there are no more results to return.
56013	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
56014
56015	// Information about the ClassicLink DNS support status of the VPCs.
56016	Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
56017}
56018
56019// String returns the string representation
56020func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
56021	return awsutil.Prettify(s)
56022}
56023
56024// GoString returns the string representation
56025func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
56026	return s.String()
56027}
56028
56029// SetNextToken sets the NextToken field's value.
56030func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
56031	s.NextToken = &v
56032	return s
56033}
56034
56035// SetVpcs sets the Vpcs field's value.
56036func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
56037	s.Vpcs = v
56038	return s
56039}
56040
56041type DescribeVpcClassicLinkInput struct {
56042	_ struct{} `type:"structure"`
56043
56044	// Checks whether you have the required permissions for the action, without
56045	// actually making the request, and provides an error response. If you have
56046	// the required permissions, the error response is DryRunOperation. Otherwise,
56047	// it is UnauthorizedOperation.
56048	DryRun *bool `locationName:"dryRun" type:"boolean"`
56049
56050	// One or more filters.
56051	//
56052	//    * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
56053	//    (true | false).
56054	//
56055	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56056	//    Use the tag key in the filter name and the tag value as the filter value.
56057	//    For example, to find all resources that have a tag with the key Owner
56058	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56059	//    the filter value.
56060	//
56061	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56062	//    to find all resources assigned a tag with a specific key, regardless of
56063	//    the tag value.
56064	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56065
56066	// One or more VPCs for which you want to describe the ClassicLink status.
56067	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
56068}
56069
56070// String returns the string representation
56071func (s DescribeVpcClassicLinkInput) String() string {
56072	return awsutil.Prettify(s)
56073}
56074
56075// GoString returns the string representation
56076func (s DescribeVpcClassicLinkInput) GoString() string {
56077	return s.String()
56078}
56079
56080// SetDryRun sets the DryRun field's value.
56081func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
56082	s.DryRun = &v
56083	return s
56084}
56085
56086// SetFilters sets the Filters field's value.
56087func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
56088	s.Filters = v
56089	return s
56090}
56091
56092// SetVpcIds sets the VpcIds field's value.
56093func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
56094	s.VpcIds = v
56095	return s
56096}
56097
56098type DescribeVpcClassicLinkOutput struct {
56099	_ struct{} `type:"structure"`
56100
56101	// The ClassicLink status of one or more VPCs.
56102	Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
56103}
56104
56105// String returns the string representation
56106func (s DescribeVpcClassicLinkOutput) String() string {
56107	return awsutil.Prettify(s)
56108}
56109
56110// GoString returns the string representation
56111func (s DescribeVpcClassicLinkOutput) GoString() string {
56112	return s.String()
56113}
56114
56115// SetVpcs sets the Vpcs field's value.
56116func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
56117	s.Vpcs = v
56118	return s
56119}
56120
56121type DescribeVpcEndpointConnectionNotificationsInput struct {
56122	_ struct{} `type:"structure"`
56123
56124	// The ID of the notification.
56125	ConnectionNotificationId *string `type:"string"`
56126
56127	// Checks whether you have the required permissions for the action, without
56128	// actually making the request, and provides an error response. If you have
56129	// the required permissions, the error response is DryRunOperation. Otherwise,
56130	// it is UnauthorizedOperation.
56131	DryRun *bool `type:"boolean"`
56132
56133	// One or more filters.
56134	//
56135	//    * connection-notification-arn - The ARN of SNS topic for the notification.
56136	//
56137	//    * connection-notification-id - The ID of the notification.
56138	//
56139	//    * connection-notification-state - The state of the notification (Enabled
56140	//    | Disabled).
56141	//
56142	//    * connection-notification-type - The type of notification (Topic).
56143	//
56144	//    * service-id - The ID of the endpoint service.
56145	//
56146	//    * vpc-endpoint-id - The ID of the VPC endpoint.
56147	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56148
56149	// The maximum number of results to return in a single call. To retrieve the
56150	// remaining results, make another request with the returned NextToken value.
56151	MaxResults *int64 `type:"integer"`
56152
56153	// The token to request the next page of results.
56154	NextToken *string `type:"string"`
56155}
56156
56157// String returns the string representation
56158func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
56159	return awsutil.Prettify(s)
56160}
56161
56162// GoString returns the string representation
56163func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
56164	return s.String()
56165}
56166
56167// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
56168func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
56169	s.ConnectionNotificationId = &v
56170	return s
56171}
56172
56173// SetDryRun sets the DryRun field's value.
56174func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
56175	s.DryRun = &v
56176	return s
56177}
56178
56179// SetFilters sets the Filters field's value.
56180func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
56181	s.Filters = v
56182	return s
56183}
56184
56185// SetMaxResults sets the MaxResults field's value.
56186func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
56187	s.MaxResults = &v
56188	return s
56189}
56190
56191// SetNextToken sets the NextToken field's value.
56192func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
56193	s.NextToken = &v
56194	return s
56195}
56196
56197type DescribeVpcEndpointConnectionNotificationsOutput struct {
56198	_ struct{} `type:"structure"`
56199
56200	// One or more notifications.
56201	ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
56202
56203	// The token to use to retrieve the next page of results. This value is null
56204	// when there are no more results to return.
56205	NextToken *string `locationName:"nextToken" type:"string"`
56206}
56207
56208// String returns the string representation
56209func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
56210	return awsutil.Prettify(s)
56211}
56212
56213// GoString returns the string representation
56214func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
56215	return s.String()
56216}
56217
56218// SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
56219func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
56220	s.ConnectionNotificationSet = v
56221	return s
56222}
56223
56224// SetNextToken sets the NextToken field's value.
56225func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
56226	s.NextToken = &v
56227	return s
56228}
56229
56230type DescribeVpcEndpointConnectionsInput struct {
56231	_ struct{} `type:"structure"`
56232
56233	// Checks whether you have the required permissions for the action, without
56234	// actually making the request, and provides an error response. If you have
56235	// the required permissions, the error response is DryRunOperation. Otherwise,
56236	// it is UnauthorizedOperation.
56237	DryRun *bool `type:"boolean"`
56238
56239	// One or more filters.
56240	//
56241	//    * service-id - The ID of the service.
56242	//
56243	//    * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
56244	//
56245	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
56246	//    pending | available | deleting | deleted | rejected | failed).
56247	//
56248	//    * vpc-endpoint-id - The ID of the endpoint.
56249	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56250
56251	// The maximum number of results to return for the request in a single page.
56252	// The remaining results of the initial request can be seen by sending another
56253	// request with the returned NextToken value. This value can be between 5 and
56254	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
56255	// are returned.
56256	MaxResults *int64 `type:"integer"`
56257
56258	// The token to retrieve the next page of results.
56259	NextToken *string `type:"string"`
56260}
56261
56262// String returns the string representation
56263func (s DescribeVpcEndpointConnectionsInput) String() string {
56264	return awsutil.Prettify(s)
56265}
56266
56267// GoString returns the string representation
56268func (s DescribeVpcEndpointConnectionsInput) GoString() string {
56269	return s.String()
56270}
56271
56272// SetDryRun sets the DryRun field's value.
56273func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
56274	s.DryRun = &v
56275	return s
56276}
56277
56278// SetFilters sets the Filters field's value.
56279func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
56280	s.Filters = v
56281	return s
56282}
56283
56284// SetMaxResults sets the MaxResults field's value.
56285func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
56286	s.MaxResults = &v
56287	return s
56288}
56289
56290// SetNextToken sets the NextToken field's value.
56291func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
56292	s.NextToken = &v
56293	return s
56294}
56295
56296type DescribeVpcEndpointConnectionsOutput struct {
56297	_ struct{} `type:"structure"`
56298
56299	// The token to use to retrieve the next page of results. This value is null
56300	// when there are no more results to return.
56301	NextToken *string `locationName:"nextToken" type:"string"`
56302
56303	// Information about one or more VPC endpoint connections.
56304	VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
56305}
56306
56307// String returns the string representation
56308func (s DescribeVpcEndpointConnectionsOutput) String() string {
56309	return awsutil.Prettify(s)
56310}
56311
56312// GoString returns the string representation
56313func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
56314	return s.String()
56315}
56316
56317// SetNextToken sets the NextToken field's value.
56318func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
56319	s.NextToken = &v
56320	return s
56321}
56322
56323// SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
56324func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
56325	s.VpcEndpointConnections = v
56326	return s
56327}
56328
56329type DescribeVpcEndpointServiceConfigurationsInput struct {
56330	_ struct{} `type:"structure"`
56331
56332	// Checks whether you have the required permissions for the action, without
56333	// actually making the request, and provides an error response. If you have
56334	// the required permissions, the error response is DryRunOperation. Otherwise,
56335	// it is UnauthorizedOperation.
56336	DryRun *bool `type:"boolean"`
56337
56338	// One or more filters.
56339	//
56340	//    * service-name - The name of the service.
56341	//
56342	//    * service-id - The ID of the service.
56343	//
56344	//    * service-state - The state of the service (Pending | Available | Deleting
56345	//    | Deleted | Failed).
56346	//
56347	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56348	//    Use the tag key in the filter name and the tag value as the filter value.
56349	//    For example, to find all resources that have a tag with the key Owner
56350	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56351	//    the filter value.
56352	//
56353	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56354	//    to find all resources assigned a tag with a specific key, regardless of
56355	//    the tag value.
56356	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56357
56358	// The maximum number of results to return for the request in a single page.
56359	// The remaining results of the initial request can be seen by sending another
56360	// request with the returned NextToken value. This value can be between 5 and
56361	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
56362	// are returned.
56363	MaxResults *int64 `type:"integer"`
56364
56365	// The token to retrieve the next page of results.
56366	NextToken *string `type:"string"`
56367
56368	// The IDs of one or more services.
56369	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
56370}
56371
56372// String returns the string representation
56373func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
56374	return awsutil.Prettify(s)
56375}
56376
56377// GoString returns the string representation
56378func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
56379	return s.String()
56380}
56381
56382// SetDryRun sets the DryRun field's value.
56383func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
56384	s.DryRun = &v
56385	return s
56386}
56387
56388// SetFilters sets the Filters field's value.
56389func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
56390	s.Filters = v
56391	return s
56392}
56393
56394// SetMaxResults sets the MaxResults field's value.
56395func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
56396	s.MaxResults = &v
56397	return s
56398}
56399
56400// SetNextToken sets the NextToken field's value.
56401func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
56402	s.NextToken = &v
56403	return s
56404}
56405
56406// SetServiceIds sets the ServiceIds field's value.
56407func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
56408	s.ServiceIds = v
56409	return s
56410}
56411
56412type DescribeVpcEndpointServiceConfigurationsOutput struct {
56413	_ struct{} `type:"structure"`
56414
56415	// The token to use to retrieve the next page of results. This value is null
56416	// when there are no more results to return.
56417	NextToken *string `locationName:"nextToken" type:"string"`
56418
56419	// Information about one or more services.
56420	ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
56421}
56422
56423// String returns the string representation
56424func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
56425	return awsutil.Prettify(s)
56426}
56427
56428// GoString returns the string representation
56429func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
56430	return s.String()
56431}
56432
56433// SetNextToken sets the NextToken field's value.
56434func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
56435	s.NextToken = &v
56436	return s
56437}
56438
56439// SetServiceConfigurations sets the ServiceConfigurations field's value.
56440func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
56441	s.ServiceConfigurations = v
56442	return s
56443}
56444
56445type DescribeVpcEndpointServicePermissionsInput struct {
56446	_ struct{} `type:"structure"`
56447
56448	// Checks whether you have the required permissions for the action, without
56449	// actually making the request, and provides an error response. If you have
56450	// the required permissions, the error response is DryRunOperation. Otherwise,
56451	// it is UnauthorizedOperation.
56452	DryRun *bool `type:"boolean"`
56453
56454	// One or more filters.
56455	//
56456	//    * principal - The ARN of the principal.
56457	//
56458	//    * principal-type - The principal type (All | Service | OrganizationUnit
56459	//    | Account | User | Role).
56460	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56461
56462	// The maximum number of results to return for the request in a single page.
56463	// The remaining results of the initial request can be seen by sending another
56464	// request with the returned NextToken value. This value can be between 5 and
56465	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
56466	// are returned.
56467	MaxResults *int64 `type:"integer"`
56468
56469	// The token to retrieve the next page of results.
56470	NextToken *string `type:"string"`
56471
56472	// The ID of the service.
56473	//
56474	// ServiceId is a required field
56475	ServiceId *string `type:"string" required:"true"`
56476}
56477
56478// String returns the string representation
56479func (s DescribeVpcEndpointServicePermissionsInput) String() string {
56480	return awsutil.Prettify(s)
56481}
56482
56483// GoString returns the string representation
56484func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
56485	return s.String()
56486}
56487
56488// Validate inspects the fields of the type to determine if they are valid.
56489func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
56490	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
56491	if s.ServiceId == nil {
56492		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
56493	}
56494
56495	if invalidParams.Len() > 0 {
56496		return invalidParams
56497	}
56498	return nil
56499}
56500
56501// SetDryRun sets the DryRun field's value.
56502func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
56503	s.DryRun = &v
56504	return s
56505}
56506
56507// SetFilters sets the Filters field's value.
56508func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
56509	s.Filters = v
56510	return s
56511}
56512
56513// SetMaxResults sets the MaxResults field's value.
56514func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
56515	s.MaxResults = &v
56516	return s
56517}
56518
56519// SetNextToken sets the NextToken field's value.
56520func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
56521	s.NextToken = &v
56522	return s
56523}
56524
56525// SetServiceId sets the ServiceId field's value.
56526func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
56527	s.ServiceId = &v
56528	return s
56529}
56530
56531type DescribeVpcEndpointServicePermissionsOutput struct {
56532	_ struct{} `type:"structure"`
56533
56534	// Information about one or more allowed principals.
56535	AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
56536
56537	// The token to use to retrieve the next page of results. This value is null
56538	// when there are no more results to return.
56539	NextToken *string `locationName:"nextToken" type:"string"`
56540}
56541
56542// String returns the string representation
56543func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
56544	return awsutil.Prettify(s)
56545}
56546
56547// GoString returns the string representation
56548func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
56549	return s.String()
56550}
56551
56552// SetAllowedPrincipals sets the AllowedPrincipals field's value.
56553func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
56554	s.AllowedPrincipals = v
56555	return s
56556}
56557
56558// SetNextToken sets the NextToken field's value.
56559func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
56560	s.NextToken = &v
56561	return s
56562}
56563
56564// Contains the parameters for DescribeVpcEndpointServices.
56565type DescribeVpcEndpointServicesInput struct {
56566	_ struct{} `type:"structure"`
56567
56568	// Checks whether you have the required permissions for the action, without
56569	// actually making the request, and provides an error response. If you have
56570	// the required permissions, the error response is DryRunOperation. Otherwise,
56571	// it is UnauthorizedOperation.
56572	DryRun *bool `type:"boolean"`
56573
56574	// One or more filters.
56575	//
56576	//    * service-name: The name of the service.
56577	//
56578	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56579	//    Use the tag key in the filter name and the tag value as the filter value.
56580	//    For example, to find all resources that have a tag with the key Owner
56581	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56582	//    the filter value.
56583	//
56584	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56585	//    to find all resources assigned a tag with a specific key, regardless of
56586	//    the tag value.
56587	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56588
56589	// The maximum number of items to return for this request. The request returns
56590	// a token that you can specify in a subsequent call to get the next set of
56591	// results.
56592	//
56593	// Constraint: If the value is greater than 1000, we return only 1000 items.
56594	MaxResults *int64 `type:"integer"`
56595
56596	// The token for the next set of items to return. (You received this token from
56597	// a prior call.)
56598	NextToken *string `type:"string"`
56599
56600	// One or more service names.
56601	ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
56602}
56603
56604// String returns the string representation
56605func (s DescribeVpcEndpointServicesInput) String() string {
56606	return awsutil.Prettify(s)
56607}
56608
56609// GoString returns the string representation
56610func (s DescribeVpcEndpointServicesInput) GoString() string {
56611	return s.String()
56612}
56613
56614// SetDryRun sets the DryRun field's value.
56615func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
56616	s.DryRun = &v
56617	return s
56618}
56619
56620// SetFilters sets the Filters field's value.
56621func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
56622	s.Filters = v
56623	return s
56624}
56625
56626// SetMaxResults sets the MaxResults field's value.
56627func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
56628	s.MaxResults = &v
56629	return s
56630}
56631
56632// SetNextToken sets the NextToken field's value.
56633func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
56634	s.NextToken = &v
56635	return s
56636}
56637
56638// SetServiceNames sets the ServiceNames field's value.
56639func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
56640	s.ServiceNames = v
56641	return s
56642}
56643
56644// Contains the output of DescribeVpcEndpointServices.
56645type DescribeVpcEndpointServicesOutput struct {
56646	_ struct{} `type:"structure"`
56647
56648	// The token to use when requesting the next set of items. If there are no additional
56649	// items to return, the string is empty.
56650	NextToken *string `locationName:"nextToken" type:"string"`
56651
56652	// Information about the service.
56653	ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
56654
56655	// A list of supported services.
56656	ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
56657}
56658
56659// String returns the string representation
56660func (s DescribeVpcEndpointServicesOutput) String() string {
56661	return awsutil.Prettify(s)
56662}
56663
56664// GoString returns the string representation
56665func (s DescribeVpcEndpointServicesOutput) GoString() string {
56666	return s.String()
56667}
56668
56669// SetNextToken sets the NextToken field's value.
56670func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
56671	s.NextToken = &v
56672	return s
56673}
56674
56675// SetServiceDetails sets the ServiceDetails field's value.
56676func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
56677	s.ServiceDetails = v
56678	return s
56679}
56680
56681// SetServiceNames sets the ServiceNames field's value.
56682func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
56683	s.ServiceNames = v
56684	return s
56685}
56686
56687// Contains the parameters for DescribeVpcEndpoints.
56688type DescribeVpcEndpointsInput struct {
56689	_ struct{} `type:"structure"`
56690
56691	// Checks whether you have the required permissions for the action, without
56692	// actually making the request, and provides an error response. If you have
56693	// the required permissions, the error response is DryRunOperation. Otherwise,
56694	// it is UnauthorizedOperation.
56695	DryRun *bool `type:"boolean"`
56696
56697	// One or more filters.
56698	//
56699	//    * service-name: The name of the service.
56700	//
56701	//    * vpc-id: The ID of the VPC in which the endpoint resides.
56702	//
56703	//    * vpc-endpoint-id: The ID of the endpoint.
56704	//
56705	//    * vpc-endpoint-state: The state of the endpoint. (pending | available
56706	//    | deleting | deleted)
56707	//
56708	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56709	//    Use the tag key in the filter name and the tag value as the filter value.
56710	//    For example, to find all resources that have a tag with the key Owner
56711	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56712	//    the filter value.
56713	//
56714	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56715	//    to find all resources assigned a tag with a specific key, regardless of
56716	//    the tag value.
56717	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56718
56719	// The maximum number of items to return for this request. The request returns
56720	// a token that you can specify in a subsequent call to get the next set of
56721	// results.
56722	//
56723	// Constraint: If the value is greater than 1000, we return only 1000 items.
56724	MaxResults *int64 `type:"integer"`
56725
56726	// The token for the next set of items to return. (You received this token from
56727	// a prior call.)
56728	NextToken *string `type:"string"`
56729
56730	// One or more endpoint IDs.
56731	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
56732}
56733
56734// String returns the string representation
56735func (s DescribeVpcEndpointsInput) String() string {
56736	return awsutil.Prettify(s)
56737}
56738
56739// GoString returns the string representation
56740func (s DescribeVpcEndpointsInput) GoString() string {
56741	return s.String()
56742}
56743
56744// SetDryRun sets the DryRun field's value.
56745func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
56746	s.DryRun = &v
56747	return s
56748}
56749
56750// SetFilters sets the Filters field's value.
56751func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
56752	s.Filters = v
56753	return s
56754}
56755
56756// SetMaxResults sets the MaxResults field's value.
56757func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
56758	s.MaxResults = &v
56759	return s
56760}
56761
56762// SetNextToken sets the NextToken field's value.
56763func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
56764	s.NextToken = &v
56765	return s
56766}
56767
56768// SetVpcEndpointIds sets the VpcEndpointIds field's value.
56769func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
56770	s.VpcEndpointIds = v
56771	return s
56772}
56773
56774// Contains the output of DescribeVpcEndpoints.
56775type DescribeVpcEndpointsOutput struct {
56776	_ struct{} `type:"structure"`
56777
56778	// The token to use when requesting the next set of items. If there are no additional
56779	// items to return, the string is empty.
56780	NextToken *string `locationName:"nextToken" type:"string"`
56781
56782	// Information about the endpoints.
56783	VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
56784}
56785
56786// String returns the string representation
56787func (s DescribeVpcEndpointsOutput) String() string {
56788	return awsutil.Prettify(s)
56789}
56790
56791// GoString returns the string representation
56792func (s DescribeVpcEndpointsOutput) GoString() string {
56793	return s.String()
56794}
56795
56796// SetNextToken sets the NextToken field's value.
56797func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
56798	s.NextToken = &v
56799	return s
56800}
56801
56802// SetVpcEndpoints sets the VpcEndpoints field's value.
56803func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
56804	s.VpcEndpoints = v
56805	return s
56806}
56807
56808type DescribeVpcPeeringConnectionsInput struct {
56809	_ struct{} `type:"structure"`
56810
56811	// Checks whether you have the required permissions for the action, without
56812	// actually making the request, and provides an error response. If you have
56813	// the required permissions, the error response is DryRunOperation. Otherwise,
56814	// it is UnauthorizedOperation.
56815	DryRun *bool `locationName:"dryRun" type:"boolean"`
56816
56817	// One or more filters.
56818	//
56819	//    * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
56820	//
56821	//    * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
56822	//    accepter VPC.
56823	//
56824	//    * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
56825	//
56826	//    * expiration-time - The expiration date and time for the VPC peering connection.
56827	//
56828	//    * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
56829	//    VPC.
56830	//
56831	//    * requester-vpc-info.owner-id - The AWS account ID of the owner of the
56832	//    requester VPC.
56833	//
56834	//    * requester-vpc-info.vpc-id - The ID of the requester VPC.
56835	//
56836	//    * status-code - The status of the VPC peering connection (pending-acceptance
56837	//    | failed | expired | provisioning | active | deleting | deleted | rejected).
56838	//
56839	//    * status-message - A message that provides more information about the
56840	//    status of the VPC peering connection, if applicable.
56841	//
56842	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56843	//    Use the tag key in the filter name and the tag value as the filter value.
56844	//    For example, to find all resources that have a tag with the key Owner
56845	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56846	//    the filter value.
56847	//
56848	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56849	//    to find all resources assigned a tag with a specific key, regardless of
56850	//    the tag value.
56851	//
56852	//    * vpc-peering-connection-id - The ID of the VPC peering connection.
56853	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56854
56855	// The maximum number of results to return with a single call. To retrieve the
56856	// remaining results, make another call with the returned nextToken value.
56857	MaxResults *int64 `min:"5" type:"integer"`
56858
56859	// The token for the next page of results.
56860	NextToken *string `type:"string"`
56861
56862	// One or more VPC peering connection IDs.
56863	//
56864	// Default: Describes all your VPC peering connections.
56865	VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
56866}
56867
56868// String returns the string representation
56869func (s DescribeVpcPeeringConnectionsInput) String() string {
56870	return awsutil.Prettify(s)
56871}
56872
56873// GoString returns the string representation
56874func (s DescribeVpcPeeringConnectionsInput) GoString() string {
56875	return s.String()
56876}
56877
56878// Validate inspects the fields of the type to determine if they are valid.
56879func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
56880	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
56881	if s.MaxResults != nil && *s.MaxResults < 5 {
56882		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56883	}
56884
56885	if invalidParams.Len() > 0 {
56886		return invalidParams
56887	}
56888	return nil
56889}
56890
56891// SetDryRun sets the DryRun field's value.
56892func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
56893	s.DryRun = &v
56894	return s
56895}
56896
56897// SetFilters sets the Filters field's value.
56898func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
56899	s.Filters = v
56900	return s
56901}
56902
56903// SetMaxResults sets the MaxResults field's value.
56904func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
56905	s.MaxResults = &v
56906	return s
56907}
56908
56909// SetNextToken sets the NextToken field's value.
56910func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
56911	s.NextToken = &v
56912	return s
56913}
56914
56915// SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
56916func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
56917	s.VpcPeeringConnectionIds = v
56918	return s
56919}
56920
56921type DescribeVpcPeeringConnectionsOutput struct {
56922	_ struct{} `type:"structure"`
56923
56924	// The token to use to retrieve the next page of results. This value is null
56925	// when there are no more results to return.
56926	NextToken *string `locationName:"nextToken" type:"string"`
56927
56928	// Information about the VPC peering connections.
56929	VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
56930}
56931
56932// String returns the string representation
56933func (s DescribeVpcPeeringConnectionsOutput) String() string {
56934	return awsutil.Prettify(s)
56935}
56936
56937// GoString returns the string representation
56938func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
56939	return s.String()
56940}
56941
56942// SetNextToken sets the NextToken field's value.
56943func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
56944	s.NextToken = &v
56945	return s
56946}
56947
56948// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
56949func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
56950	s.VpcPeeringConnections = v
56951	return s
56952}
56953
56954type DescribeVpcsInput struct {
56955	_ struct{} `type:"structure"`
56956
56957	// Checks whether you have the required permissions for the action, without
56958	// actually making the request, and provides an error response. If you have
56959	// the required permissions, the error response is DryRunOperation. Otherwise,
56960	// it is UnauthorizedOperation.
56961	DryRun *bool `locationName:"dryRun" type:"boolean"`
56962
56963	// One or more filters.
56964	//
56965	//    * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
56966	//    must exactly match the VPC's CIDR block for information to be returned
56967	//    for the VPC. Must contain the slash followed by one or two digits (for
56968	//    example, /28).
56969	//
56970	//    * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
56971	//    the VPC.
56972	//
56973	//    * cidr-block-association.association-id - The association ID for an IPv4
56974	//    CIDR block associated with the VPC.
56975	//
56976	//    * cidr-block-association.state - The state of an IPv4 CIDR block associated
56977	//    with the VPC.
56978	//
56979	//    * dhcp-options-id - The ID of a set of DHCP options.
56980	//
56981	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
56982	//    with the VPC.
56983	//
56984	//    * ipv6-cidr-block-association.association-id - The association ID for
56985	//    an IPv6 CIDR block associated with the VPC.
56986	//
56987	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
56988	//    associated with the VPC.
56989	//
56990	//    * isDefault - Indicates whether the VPC is the default VPC.
56991	//
56992	//    * owner-id - The ID of the AWS account that owns the VPC.
56993	//
56994	//    * state - The state of the VPC (pending | available).
56995	//
56996	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56997	//    Use the tag key in the filter name and the tag value as the filter value.
56998	//    For example, to find all resources that have a tag with the key Owner
56999	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
57000	//    the filter value.
57001	//
57002	//    * tag-key - The key of a tag assigned to the resource. Use this filter
57003	//    to find all resources assigned a tag with a specific key, regardless of
57004	//    the tag value.
57005	//
57006	//    * vpc-id - The ID of the VPC.
57007	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57008
57009	// The maximum number of results to return with a single call. To retrieve the
57010	// remaining results, make another call with the returned nextToken value.
57011	MaxResults *int64 `min:"5" type:"integer"`
57012
57013	// The token for the next page of results.
57014	NextToken *string `type:"string"`
57015
57016	// One or more VPC IDs.
57017	//
57018	// Default: Describes all your VPCs.
57019	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
57020}
57021
57022// String returns the string representation
57023func (s DescribeVpcsInput) String() string {
57024	return awsutil.Prettify(s)
57025}
57026
57027// GoString returns the string representation
57028func (s DescribeVpcsInput) GoString() string {
57029	return s.String()
57030}
57031
57032// Validate inspects the fields of the type to determine if they are valid.
57033func (s *DescribeVpcsInput) Validate() error {
57034	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
57035	if s.MaxResults != nil && *s.MaxResults < 5 {
57036		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
57037	}
57038
57039	if invalidParams.Len() > 0 {
57040		return invalidParams
57041	}
57042	return nil
57043}
57044
57045// SetDryRun sets the DryRun field's value.
57046func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
57047	s.DryRun = &v
57048	return s
57049}
57050
57051// SetFilters sets the Filters field's value.
57052func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
57053	s.Filters = v
57054	return s
57055}
57056
57057// SetMaxResults sets the MaxResults field's value.
57058func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
57059	s.MaxResults = &v
57060	return s
57061}
57062
57063// SetNextToken sets the NextToken field's value.
57064func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
57065	s.NextToken = &v
57066	return s
57067}
57068
57069// SetVpcIds sets the VpcIds field's value.
57070func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
57071	s.VpcIds = v
57072	return s
57073}
57074
57075type DescribeVpcsOutput struct {
57076	_ struct{} `type:"structure"`
57077
57078	// The token to use to retrieve the next page of results. This value is null
57079	// when there are no more results to return.
57080	NextToken *string `locationName:"nextToken" type:"string"`
57081
57082	// Information about one or more VPCs.
57083	Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
57084}
57085
57086// String returns the string representation
57087func (s DescribeVpcsOutput) String() string {
57088	return awsutil.Prettify(s)
57089}
57090
57091// GoString returns the string representation
57092func (s DescribeVpcsOutput) GoString() string {
57093	return s.String()
57094}
57095
57096// SetNextToken sets the NextToken field's value.
57097func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
57098	s.NextToken = &v
57099	return s
57100}
57101
57102// SetVpcs sets the Vpcs field's value.
57103func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
57104	s.Vpcs = v
57105	return s
57106}
57107
57108// Contains the parameters for DescribeVpnConnections.
57109type DescribeVpnConnectionsInput struct {
57110	_ struct{} `type:"structure"`
57111
57112	// Checks whether you have the required permissions for the action, without
57113	// actually making the request, and provides an error response. If you have
57114	// the required permissions, the error response is DryRunOperation. Otherwise,
57115	// it is UnauthorizedOperation.
57116	DryRun *bool `locationName:"dryRun" type:"boolean"`
57117
57118	// One or more filters.
57119	//
57120	//    * customer-gateway-configuration - The configuration information for the
57121	//    customer gateway.
57122	//
57123	//    * customer-gateway-id - The ID of a customer gateway associated with the
57124	//    VPN connection.
57125	//
57126	//    * state - The state of the VPN connection (pending | available | deleting
57127	//    | deleted).
57128	//
57129	//    * option.static-routes-only - Indicates whether the connection has static
57130	//    routes only. Used for devices that do not support Border Gateway Protocol
57131	//    (BGP).
57132	//
57133	//    * route.destination-cidr-block - The destination CIDR block. This corresponds
57134	//    to the subnet used in a customer data center.
57135	//
57136	//    * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
57137	//    device.
57138	//
57139	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
57140	//    Use the tag key in the filter name and the tag value as the filter value.
57141	//    For example, to find all resources that have a tag with the key Owner
57142	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
57143	//    the filter value.
57144	//
57145	//    * tag-key - The key of a tag assigned to the resource. Use this filter
57146	//    to find all resources assigned a tag with a specific key, regardless of
57147	//    the tag value.
57148	//
57149	//    * type - The type of VPN connection. Currently the only supported type
57150	//    is ipsec.1.
57151	//
57152	//    * vpn-connection-id - The ID of the VPN connection.
57153	//
57154	//    * vpn-gateway-id - The ID of a virtual private gateway associated with
57155	//    the VPN connection.
57156	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57157
57158	// One or more VPN connection IDs.
57159	//
57160	// Default: Describes your VPN connections.
57161	VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
57162}
57163
57164// String returns the string representation
57165func (s DescribeVpnConnectionsInput) String() string {
57166	return awsutil.Prettify(s)
57167}
57168
57169// GoString returns the string representation
57170func (s DescribeVpnConnectionsInput) GoString() string {
57171	return s.String()
57172}
57173
57174// SetDryRun sets the DryRun field's value.
57175func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
57176	s.DryRun = &v
57177	return s
57178}
57179
57180// SetFilters sets the Filters field's value.
57181func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
57182	s.Filters = v
57183	return s
57184}
57185
57186// SetVpnConnectionIds sets the VpnConnectionIds field's value.
57187func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
57188	s.VpnConnectionIds = v
57189	return s
57190}
57191
57192// Contains the output of DescribeVpnConnections.
57193type DescribeVpnConnectionsOutput struct {
57194	_ struct{} `type:"structure"`
57195
57196	// Information about one or more VPN connections.
57197	VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
57198}
57199
57200// String returns the string representation
57201func (s DescribeVpnConnectionsOutput) String() string {
57202	return awsutil.Prettify(s)
57203}
57204
57205// GoString returns the string representation
57206func (s DescribeVpnConnectionsOutput) GoString() string {
57207	return s.String()
57208}
57209
57210// SetVpnConnections sets the VpnConnections field's value.
57211func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
57212	s.VpnConnections = v
57213	return s
57214}
57215
57216// Contains the parameters for DescribeVpnGateways.
57217type DescribeVpnGatewaysInput struct {
57218	_ struct{} `type:"structure"`
57219
57220	// Checks whether you have the required permissions for the action, without
57221	// actually making the request, and provides an error response. If you have
57222	// the required permissions, the error response is DryRunOperation. Otherwise,
57223	// it is UnauthorizedOperation.
57224	DryRun *bool `locationName:"dryRun" type:"boolean"`
57225
57226	// One or more filters.
57227	//
57228	//    * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
57229	//    side of the gateway.
57230	//
57231	//    * attachment.state - The current state of the attachment between the gateway
57232	//    and the VPC (attaching | attached | detaching | detached).
57233	//
57234	//    * attachment.vpc-id - The ID of an attached VPC.
57235	//
57236	//    * availability-zone - The Availability Zone for the virtual private gateway
57237	//    (if applicable).
57238	//
57239	//    * state - The state of the virtual private gateway (pending | available
57240	//    | deleting | deleted).
57241	//
57242	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
57243	//    Use the tag key in the filter name and the tag value as the filter value.
57244	//    For example, to find all resources that have a tag with the key Owner
57245	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
57246	//    the filter value.
57247	//
57248	//    * tag-key - The key of a tag assigned to the resource. Use this filter
57249	//    to find all resources assigned a tag with a specific key, regardless of
57250	//    the tag value.
57251	//
57252	//    * type - The type of virtual private gateway. Currently the only supported
57253	//    type is ipsec.1.
57254	//
57255	//    * vpn-gateway-id - The ID of the virtual private gateway.
57256	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57257
57258	// One or more virtual private gateway IDs.
57259	//
57260	// Default: Describes all your virtual private gateways.
57261	VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
57262}
57263
57264// String returns the string representation
57265func (s DescribeVpnGatewaysInput) String() string {
57266	return awsutil.Prettify(s)
57267}
57268
57269// GoString returns the string representation
57270func (s DescribeVpnGatewaysInput) GoString() string {
57271	return s.String()
57272}
57273
57274// SetDryRun sets the DryRun field's value.
57275func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
57276	s.DryRun = &v
57277	return s
57278}
57279
57280// SetFilters sets the Filters field's value.
57281func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
57282	s.Filters = v
57283	return s
57284}
57285
57286// SetVpnGatewayIds sets the VpnGatewayIds field's value.
57287func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
57288	s.VpnGatewayIds = v
57289	return s
57290}
57291
57292// Contains the output of DescribeVpnGateways.
57293type DescribeVpnGatewaysOutput struct {
57294	_ struct{} `type:"structure"`
57295
57296	// Information about one or more virtual private gateways.
57297	VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
57298}
57299
57300// String returns the string representation
57301func (s DescribeVpnGatewaysOutput) String() string {
57302	return awsutil.Prettify(s)
57303}
57304
57305// GoString returns the string representation
57306func (s DescribeVpnGatewaysOutput) GoString() string {
57307	return s.String()
57308}
57309
57310// SetVpnGateways sets the VpnGateways field's value.
57311func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
57312	s.VpnGateways = v
57313	return s
57314}
57315
57316type DetachClassicLinkVpcInput struct {
57317	_ struct{} `type:"structure"`
57318
57319	// Checks whether you have the required permissions for the action, without
57320	// actually making the request, and provides an error response. If you have
57321	// the required permissions, the error response is DryRunOperation. Otherwise,
57322	// it is UnauthorizedOperation.
57323	DryRun *bool `locationName:"dryRun" type:"boolean"`
57324
57325	// The ID of the instance to unlink from the VPC.
57326	//
57327	// InstanceId is a required field
57328	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
57329
57330	// The ID of the VPC to which the instance is linked.
57331	//
57332	// VpcId is a required field
57333	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
57334}
57335
57336// String returns the string representation
57337func (s DetachClassicLinkVpcInput) String() string {
57338	return awsutil.Prettify(s)
57339}
57340
57341// GoString returns the string representation
57342func (s DetachClassicLinkVpcInput) GoString() string {
57343	return s.String()
57344}
57345
57346// Validate inspects the fields of the type to determine if they are valid.
57347func (s *DetachClassicLinkVpcInput) Validate() error {
57348	invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
57349	if s.InstanceId == nil {
57350		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
57351	}
57352	if s.VpcId == nil {
57353		invalidParams.Add(request.NewErrParamRequired("VpcId"))
57354	}
57355
57356	if invalidParams.Len() > 0 {
57357		return invalidParams
57358	}
57359	return nil
57360}
57361
57362// SetDryRun sets the DryRun field's value.
57363func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
57364	s.DryRun = &v
57365	return s
57366}
57367
57368// SetInstanceId sets the InstanceId field's value.
57369func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
57370	s.InstanceId = &v
57371	return s
57372}
57373
57374// SetVpcId sets the VpcId field's value.
57375func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
57376	s.VpcId = &v
57377	return s
57378}
57379
57380type DetachClassicLinkVpcOutput struct {
57381	_ struct{} `type:"structure"`
57382
57383	// Returns true if the request succeeds; otherwise, it returns an error.
57384	Return *bool `locationName:"return" type:"boolean"`
57385}
57386
57387// String returns the string representation
57388func (s DetachClassicLinkVpcOutput) String() string {
57389	return awsutil.Prettify(s)
57390}
57391
57392// GoString returns the string representation
57393func (s DetachClassicLinkVpcOutput) GoString() string {
57394	return s.String()
57395}
57396
57397// SetReturn sets the Return field's value.
57398func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
57399	s.Return = &v
57400	return s
57401}
57402
57403type DetachInternetGatewayInput struct {
57404	_ struct{} `type:"structure"`
57405
57406	// Checks whether you have the required permissions for the action, without
57407	// actually making the request, and provides an error response. If you have
57408	// the required permissions, the error response is DryRunOperation. Otherwise,
57409	// it is UnauthorizedOperation.
57410	DryRun *bool `locationName:"dryRun" type:"boolean"`
57411
57412	// The ID of the internet gateway.
57413	//
57414	// InternetGatewayId is a required field
57415	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
57416
57417	// The ID of the VPC.
57418	//
57419	// VpcId is a required field
57420	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
57421}
57422
57423// String returns the string representation
57424func (s DetachInternetGatewayInput) String() string {
57425	return awsutil.Prettify(s)
57426}
57427
57428// GoString returns the string representation
57429func (s DetachInternetGatewayInput) GoString() string {
57430	return s.String()
57431}
57432
57433// Validate inspects the fields of the type to determine if they are valid.
57434func (s *DetachInternetGatewayInput) Validate() error {
57435	invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
57436	if s.InternetGatewayId == nil {
57437		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
57438	}
57439	if s.VpcId == nil {
57440		invalidParams.Add(request.NewErrParamRequired("VpcId"))
57441	}
57442
57443	if invalidParams.Len() > 0 {
57444		return invalidParams
57445	}
57446	return nil
57447}
57448
57449// SetDryRun sets the DryRun field's value.
57450func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
57451	s.DryRun = &v
57452	return s
57453}
57454
57455// SetInternetGatewayId sets the InternetGatewayId field's value.
57456func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
57457	s.InternetGatewayId = &v
57458	return s
57459}
57460
57461// SetVpcId sets the VpcId field's value.
57462func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
57463	s.VpcId = &v
57464	return s
57465}
57466
57467type DetachInternetGatewayOutput struct {
57468	_ struct{} `type:"structure"`
57469}
57470
57471// String returns the string representation
57472func (s DetachInternetGatewayOutput) String() string {
57473	return awsutil.Prettify(s)
57474}
57475
57476// GoString returns the string representation
57477func (s DetachInternetGatewayOutput) GoString() string {
57478	return s.String()
57479}
57480
57481// Contains the parameters for DetachNetworkInterface.
57482type DetachNetworkInterfaceInput struct {
57483	_ struct{} `type:"structure"`
57484
57485	// The ID of the attachment.
57486	//
57487	// AttachmentId is a required field
57488	AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
57489
57490	// Checks whether you have the required permissions for the action, without
57491	// actually making the request, and provides an error response. If you have
57492	// the required permissions, the error response is DryRunOperation. Otherwise,
57493	// it is UnauthorizedOperation.
57494	DryRun *bool `locationName:"dryRun" type:"boolean"`
57495
57496	// Specifies whether to force a detachment.
57497	Force *bool `locationName:"force" type:"boolean"`
57498}
57499
57500// String returns the string representation
57501func (s DetachNetworkInterfaceInput) String() string {
57502	return awsutil.Prettify(s)
57503}
57504
57505// GoString returns the string representation
57506func (s DetachNetworkInterfaceInput) GoString() string {
57507	return s.String()
57508}
57509
57510// Validate inspects the fields of the type to determine if they are valid.
57511func (s *DetachNetworkInterfaceInput) Validate() error {
57512	invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
57513	if s.AttachmentId == nil {
57514		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
57515	}
57516
57517	if invalidParams.Len() > 0 {
57518		return invalidParams
57519	}
57520	return nil
57521}
57522
57523// SetAttachmentId sets the AttachmentId field's value.
57524func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
57525	s.AttachmentId = &v
57526	return s
57527}
57528
57529// SetDryRun sets the DryRun field's value.
57530func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
57531	s.DryRun = &v
57532	return s
57533}
57534
57535// SetForce sets the Force field's value.
57536func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
57537	s.Force = &v
57538	return s
57539}
57540
57541type DetachNetworkInterfaceOutput struct {
57542	_ struct{} `type:"structure"`
57543}
57544
57545// String returns the string representation
57546func (s DetachNetworkInterfaceOutput) String() string {
57547	return awsutil.Prettify(s)
57548}
57549
57550// GoString returns the string representation
57551func (s DetachNetworkInterfaceOutput) GoString() string {
57552	return s.String()
57553}
57554
57555// Contains the parameters for DetachVolume.
57556type DetachVolumeInput struct {
57557	_ struct{} `type:"structure"`
57558
57559	// The device name.
57560	Device *string `type:"string"`
57561
57562	// Checks whether you have the required permissions for the action, without
57563	// actually making the request, and provides an error response. If you have
57564	// the required permissions, the error response is DryRunOperation. Otherwise,
57565	// it is UnauthorizedOperation.
57566	DryRun *bool `locationName:"dryRun" type:"boolean"`
57567
57568	// Forces detachment if the previous detachment attempt did not occur cleanly
57569	// (for example, logging into an instance, unmounting the volume, and detaching
57570	// normally). This option can lead to data loss or a corrupted file system.
57571	// Use this option only as a last resort to detach a volume from a failed instance.
57572	// The instance won't have an opportunity to flush file system caches or file
57573	// system metadata. If you use this option, you must perform file system check
57574	// and repair procedures.
57575	Force *bool `type:"boolean"`
57576
57577	// The ID of the instance.
57578	InstanceId *string `type:"string"`
57579
57580	// The ID of the volume.
57581	//
57582	// VolumeId is a required field
57583	VolumeId *string `type:"string" required:"true"`
57584}
57585
57586// String returns the string representation
57587func (s DetachVolumeInput) String() string {
57588	return awsutil.Prettify(s)
57589}
57590
57591// GoString returns the string representation
57592func (s DetachVolumeInput) GoString() string {
57593	return s.String()
57594}
57595
57596// Validate inspects the fields of the type to determine if they are valid.
57597func (s *DetachVolumeInput) Validate() error {
57598	invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
57599	if s.VolumeId == nil {
57600		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
57601	}
57602
57603	if invalidParams.Len() > 0 {
57604		return invalidParams
57605	}
57606	return nil
57607}
57608
57609// SetDevice sets the Device field's value.
57610func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
57611	s.Device = &v
57612	return s
57613}
57614
57615// SetDryRun sets the DryRun field's value.
57616func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
57617	s.DryRun = &v
57618	return s
57619}
57620
57621// SetForce sets the Force field's value.
57622func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
57623	s.Force = &v
57624	return s
57625}
57626
57627// SetInstanceId sets the InstanceId field's value.
57628func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
57629	s.InstanceId = &v
57630	return s
57631}
57632
57633// SetVolumeId sets the VolumeId field's value.
57634func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
57635	s.VolumeId = &v
57636	return s
57637}
57638
57639// Contains the parameters for DetachVpnGateway.
57640type DetachVpnGatewayInput struct {
57641	_ struct{} `type:"structure"`
57642
57643	// Checks whether you have the required permissions for the action, without
57644	// actually making the request, and provides an error response. If you have
57645	// the required permissions, the error response is DryRunOperation. Otherwise,
57646	// it is UnauthorizedOperation.
57647	DryRun *bool `locationName:"dryRun" type:"boolean"`
57648
57649	// The ID of the VPC.
57650	//
57651	// VpcId is a required field
57652	VpcId *string `type:"string" required:"true"`
57653
57654	// The ID of the virtual private gateway.
57655	//
57656	// VpnGatewayId is a required field
57657	VpnGatewayId *string `type:"string" required:"true"`
57658}
57659
57660// String returns the string representation
57661func (s DetachVpnGatewayInput) String() string {
57662	return awsutil.Prettify(s)
57663}
57664
57665// GoString returns the string representation
57666func (s DetachVpnGatewayInput) GoString() string {
57667	return s.String()
57668}
57669
57670// Validate inspects the fields of the type to determine if they are valid.
57671func (s *DetachVpnGatewayInput) Validate() error {
57672	invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
57673	if s.VpcId == nil {
57674		invalidParams.Add(request.NewErrParamRequired("VpcId"))
57675	}
57676	if s.VpnGatewayId == nil {
57677		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
57678	}
57679
57680	if invalidParams.Len() > 0 {
57681		return invalidParams
57682	}
57683	return nil
57684}
57685
57686// SetDryRun sets the DryRun field's value.
57687func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
57688	s.DryRun = &v
57689	return s
57690}
57691
57692// SetVpcId sets the VpcId field's value.
57693func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
57694	s.VpcId = &v
57695	return s
57696}
57697
57698// SetVpnGatewayId sets the VpnGatewayId field's value.
57699func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
57700	s.VpnGatewayId = &v
57701	return s
57702}
57703
57704type DetachVpnGatewayOutput struct {
57705	_ struct{} `type:"structure"`
57706}
57707
57708// String returns the string representation
57709func (s DetachVpnGatewayOutput) String() string {
57710	return awsutil.Prettify(s)
57711}
57712
57713// GoString returns the string representation
57714func (s DetachVpnGatewayOutput) GoString() string {
57715	return s.String()
57716}
57717
57718// Describes a DHCP configuration option.
57719type DhcpConfiguration struct {
57720	_ struct{} `type:"structure"`
57721
57722	// The name of a DHCP option.
57723	Key *string `locationName:"key" type:"string"`
57724
57725	// One or more values for the DHCP option.
57726	Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
57727}
57728
57729// String returns the string representation
57730func (s DhcpConfiguration) String() string {
57731	return awsutil.Prettify(s)
57732}
57733
57734// GoString returns the string representation
57735func (s DhcpConfiguration) GoString() string {
57736	return s.String()
57737}
57738
57739// SetKey sets the Key field's value.
57740func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
57741	s.Key = &v
57742	return s
57743}
57744
57745// SetValues sets the Values field's value.
57746func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
57747	s.Values = v
57748	return s
57749}
57750
57751// Describes a set of DHCP options.
57752type DhcpOptions struct {
57753	_ struct{} `type:"structure"`
57754
57755	// One or more DHCP options in the set.
57756	DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
57757
57758	// The ID of the set of DHCP options.
57759	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
57760
57761	// The ID of the AWS account that owns the DHCP options set.
57762	OwnerId *string `locationName:"ownerId" type:"string"`
57763
57764	// Any tags assigned to the DHCP options set.
57765	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
57766}
57767
57768// String returns the string representation
57769func (s DhcpOptions) String() string {
57770	return awsutil.Prettify(s)
57771}
57772
57773// GoString returns the string representation
57774func (s DhcpOptions) GoString() string {
57775	return s.String()
57776}
57777
57778// SetDhcpConfigurations sets the DhcpConfigurations field's value.
57779func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
57780	s.DhcpConfigurations = v
57781	return s
57782}
57783
57784// SetDhcpOptionsId sets the DhcpOptionsId field's value.
57785func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
57786	s.DhcpOptionsId = &v
57787	return s
57788}
57789
57790// SetOwnerId sets the OwnerId field's value.
57791func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
57792	s.OwnerId = &v
57793	return s
57794}
57795
57796// SetTags sets the Tags field's value.
57797func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
57798	s.Tags = v
57799	return s
57800}
57801
57802// Describes an Active Directory.
57803type DirectoryServiceAuthentication struct {
57804	_ struct{} `type:"structure"`
57805
57806	// The ID of the Active Directory used for authentication.
57807	DirectoryId *string `locationName:"directoryId" type:"string"`
57808}
57809
57810// String returns the string representation
57811func (s DirectoryServiceAuthentication) String() string {
57812	return awsutil.Prettify(s)
57813}
57814
57815// GoString returns the string representation
57816func (s DirectoryServiceAuthentication) GoString() string {
57817	return s.String()
57818}
57819
57820// SetDirectoryId sets the DirectoryId field's value.
57821func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
57822	s.DirectoryId = &v
57823	return s
57824}
57825
57826// Describes the Active Directory to be used for client authentication.
57827type DirectoryServiceAuthenticationRequest struct {
57828	_ struct{} `type:"structure"`
57829
57830	// The ID of the Active Directory to be used for authentication.
57831	DirectoryId *string `type:"string"`
57832}
57833
57834// String returns the string representation
57835func (s DirectoryServiceAuthenticationRequest) String() string {
57836	return awsutil.Prettify(s)
57837}
57838
57839// GoString returns the string representation
57840func (s DirectoryServiceAuthenticationRequest) GoString() string {
57841	return s.String()
57842}
57843
57844// SetDirectoryId sets the DirectoryId field's value.
57845func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
57846	s.DirectoryId = &v
57847	return s
57848}
57849
57850type DisableEbsEncryptionByDefaultInput struct {
57851	_ struct{} `type:"structure"`
57852
57853	// Checks whether you have the required permissions for the action, without
57854	// actually making the request, and provides an error response. If you have
57855	// the required permissions, the error response is DryRunOperation. Otherwise,
57856	// it is UnauthorizedOperation.
57857	DryRun *bool `type:"boolean"`
57858}
57859
57860// String returns the string representation
57861func (s DisableEbsEncryptionByDefaultInput) String() string {
57862	return awsutil.Prettify(s)
57863}
57864
57865// GoString returns the string representation
57866func (s DisableEbsEncryptionByDefaultInput) GoString() string {
57867	return s.String()
57868}
57869
57870// SetDryRun sets the DryRun field's value.
57871func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput {
57872	s.DryRun = &v
57873	return s
57874}
57875
57876type DisableEbsEncryptionByDefaultOutput struct {
57877	_ struct{} `type:"structure"`
57878
57879	// Account-level encryption status after performing the action.
57880	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
57881}
57882
57883// String returns the string representation
57884func (s DisableEbsEncryptionByDefaultOutput) String() string {
57885	return awsutil.Prettify(s)
57886}
57887
57888// GoString returns the string representation
57889func (s DisableEbsEncryptionByDefaultOutput) GoString() string {
57890	return s.String()
57891}
57892
57893// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
57894func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput {
57895	s.EbsEncryptionByDefault = &v
57896	return s
57897}
57898
57899type DisableTransitGatewayRouteTablePropagationInput struct {
57900	_ struct{} `type:"structure"`
57901
57902	// Checks whether you have the required permissions for the action, without
57903	// actually making the request, and provides an error response. If you have
57904	// the required permissions, the error response is DryRunOperation. Otherwise,
57905	// it is UnauthorizedOperation.
57906	DryRun *bool `type:"boolean"`
57907
57908	// The ID of the attachment.
57909	//
57910	// TransitGatewayAttachmentId is a required field
57911	TransitGatewayAttachmentId *string `type:"string" required:"true"`
57912
57913	// The ID of the propagation route table.
57914	//
57915	// TransitGatewayRouteTableId is a required field
57916	TransitGatewayRouteTableId *string `type:"string" required:"true"`
57917}
57918
57919// String returns the string representation
57920func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
57921	return awsutil.Prettify(s)
57922}
57923
57924// GoString returns the string representation
57925func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
57926	return s.String()
57927}
57928
57929// Validate inspects the fields of the type to determine if they are valid.
57930func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
57931	invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
57932	if s.TransitGatewayAttachmentId == nil {
57933		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
57934	}
57935	if s.TransitGatewayRouteTableId == nil {
57936		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
57937	}
57938
57939	if invalidParams.Len() > 0 {
57940		return invalidParams
57941	}
57942	return nil
57943}
57944
57945// SetDryRun sets the DryRun field's value.
57946func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
57947	s.DryRun = &v
57948	return s
57949}
57950
57951// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
57952func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
57953	s.TransitGatewayAttachmentId = &v
57954	return s
57955}
57956
57957// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
57958func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
57959	s.TransitGatewayRouteTableId = &v
57960	return s
57961}
57962
57963type DisableTransitGatewayRouteTablePropagationOutput struct {
57964	_ struct{} `type:"structure"`
57965
57966	// Information about route propagation.
57967	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
57968}
57969
57970// String returns the string representation
57971func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
57972	return awsutil.Prettify(s)
57973}
57974
57975// GoString returns the string representation
57976func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
57977	return s.String()
57978}
57979
57980// SetPropagation sets the Propagation field's value.
57981func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
57982	s.Propagation = v
57983	return s
57984}
57985
57986// Contains the parameters for DisableVgwRoutePropagation.
57987type DisableVgwRoutePropagationInput struct {
57988	_ struct{} `type:"structure"`
57989
57990	// The ID of the virtual private gateway.
57991	//
57992	// GatewayId is a required field
57993	GatewayId *string `type:"string" required:"true"`
57994
57995	// The ID of the route table.
57996	//
57997	// RouteTableId is a required field
57998	RouteTableId *string `type:"string" required:"true"`
57999}
58000
58001// String returns the string representation
58002func (s DisableVgwRoutePropagationInput) String() string {
58003	return awsutil.Prettify(s)
58004}
58005
58006// GoString returns the string representation
58007func (s DisableVgwRoutePropagationInput) GoString() string {
58008	return s.String()
58009}
58010
58011// Validate inspects the fields of the type to determine if they are valid.
58012func (s *DisableVgwRoutePropagationInput) Validate() error {
58013	invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
58014	if s.GatewayId == nil {
58015		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
58016	}
58017	if s.RouteTableId == nil {
58018		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
58019	}
58020
58021	if invalidParams.Len() > 0 {
58022		return invalidParams
58023	}
58024	return nil
58025}
58026
58027// SetGatewayId sets the GatewayId field's value.
58028func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
58029	s.GatewayId = &v
58030	return s
58031}
58032
58033// SetRouteTableId sets the RouteTableId field's value.
58034func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
58035	s.RouteTableId = &v
58036	return s
58037}
58038
58039type DisableVgwRoutePropagationOutput struct {
58040	_ struct{} `type:"structure"`
58041}
58042
58043// String returns the string representation
58044func (s DisableVgwRoutePropagationOutput) String() string {
58045	return awsutil.Prettify(s)
58046}
58047
58048// GoString returns the string representation
58049func (s DisableVgwRoutePropagationOutput) GoString() string {
58050	return s.String()
58051}
58052
58053type DisableVpcClassicLinkDnsSupportInput struct {
58054	_ struct{} `type:"structure"`
58055
58056	// The ID of the VPC.
58057	VpcId *string `type:"string"`
58058}
58059
58060// String returns the string representation
58061func (s DisableVpcClassicLinkDnsSupportInput) String() string {
58062	return awsutil.Prettify(s)
58063}
58064
58065// GoString returns the string representation
58066func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
58067	return s.String()
58068}
58069
58070// SetVpcId sets the VpcId field's value.
58071func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
58072	s.VpcId = &v
58073	return s
58074}
58075
58076type DisableVpcClassicLinkDnsSupportOutput struct {
58077	_ struct{} `type:"structure"`
58078
58079	// Returns true if the request succeeds; otherwise, it returns an error.
58080	Return *bool `locationName:"return" type:"boolean"`
58081}
58082
58083// String returns the string representation
58084func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
58085	return awsutil.Prettify(s)
58086}
58087
58088// GoString returns the string representation
58089func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
58090	return s.String()
58091}
58092
58093// SetReturn sets the Return field's value.
58094func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
58095	s.Return = &v
58096	return s
58097}
58098
58099type DisableVpcClassicLinkInput struct {
58100	_ struct{} `type:"structure"`
58101
58102	// Checks whether you have the required permissions for the action, without
58103	// actually making the request, and provides an error response. If you have
58104	// the required permissions, the error response is DryRunOperation. Otherwise,
58105	// it is UnauthorizedOperation.
58106	DryRun *bool `locationName:"dryRun" type:"boolean"`
58107
58108	// The ID of the VPC.
58109	//
58110	// VpcId is a required field
58111	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
58112}
58113
58114// String returns the string representation
58115func (s DisableVpcClassicLinkInput) String() string {
58116	return awsutil.Prettify(s)
58117}
58118
58119// GoString returns the string representation
58120func (s DisableVpcClassicLinkInput) GoString() string {
58121	return s.String()
58122}
58123
58124// Validate inspects the fields of the type to determine if they are valid.
58125func (s *DisableVpcClassicLinkInput) Validate() error {
58126	invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
58127	if s.VpcId == nil {
58128		invalidParams.Add(request.NewErrParamRequired("VpcId"))
58129	}
58130
58131	if invalidParams.Len() > 0 {
58132		return invalidParams
58133	}
58134	return nil
58135}
58136
58137// SetDryRun sets the DryRun field's value.
58138func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
58139	s.DryRun = &v
58140	return s
58141}
58142
58143// SetVpcId sets the VpcId field's value.
58144func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
58145	s.VpcId = &v
58146	return s
58147}
58148
58149type DisableVpcClassicLinkOutput struct {
58150	_ struct{} `type:"structure"`
58151
58152	// Returns true if the request succeeds; otherwise, it returns an error.
58153	Return *bool `locationName:"return" type:"boolean"`
58154}
58155
58156// String returns the string representation
58157func (s DisableVpcClassicLinkOutput) String() string {
58158	return awsutil.Prettify(s)
58159}
58160
58161// GoString returns the string representation
58162func (s DisableVpcClassicLinkOutput) GoString() string {
58163	return s.String()
58164}
58165
58166// SetReturn sets the Return field's value.
58167func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
58168	s.Return = &v
58169	return s
58170}
58171
58172type DisassociateAddressInput struct {
58173	_ struct{} `type:"structure"`
58174
58175	// [EC2-VPC] The association ID. Required for EC2-VPC.
58176	AssociationId *string `type:"string"`
58177
58178	// Checks whether you have the required permissions for the action, without
58179	// actually making the request, and provides an error response. If you have
58180	// the required permissions, the error response is DryRunOperation. Otherwise,
58181	// it is UnauthorizedOperation.
58182	DryRun *bool `locationName:"dryRun" type:"boolean"`
58183
58184	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
58185	PublicIp *string `type:"string"`
58186}
58187
58188// String returns the string representation
58189func (s DisassociateAddressInput) String() string {
58190	return awsutil.Prettify(s)
58191}
58192
58193// GoString returns the string representation
58194func (s DisassociateAddressInput) GoString() string {
58195	return s.String()
58196}
58197
58198// SetAssociationId sets the AssociationId field's value.
58199func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
58200	s.AssociationId = &v
58201	return s
58202}
58203
58204// SetDryRun sets the DryRun field's value.
58205func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
58206	s.DryRun = &v
58207	return s
58208}
58209
58210// SetPublicIp sets the PublicIp field's value.
58211func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
58212	s.PublicIp = &v
58213	return s
58214}
58215
58216type DisassociateAddressOutput struct {
58217	_ struct{} `type:"structure"`
58218}
58219
58220// String returns the string representation
58221func (s DisassociateAddressOutput) String() string {
58222	return awsutil.Prettify(s)
58223}
58224
58225// GoString returns the string representation
58226func (s DisassociateAddressOutput) GoString() string {
58227	return s.String()
58228}
58229
58230type DisassociateClientVpnTargetNetworkInput struct {
58231	_ struct{} `type:"structure"`
58232
58233	// The ID of the target network association.
58234	//
58235	// AssociationId is a required field
58236	AssociationId *string `type:"string" required:"true"`
58237
58238	// The ID of the Client VPN endpoint from which to disassociate the target network.
58239	//
58240	// ClientVpnEndpointId is a required field
58241	ClientVpnEndpointId *string `type:"string" required:"true"`
58242
58243	// Checks whether you have the required permissions for the action, without
58244	// actually making the request, and provides an error response. If you have
58245	// the required permissions, the error response is DryRunOperation. Otherwise,
58246	// it is UnauthorizedOperation.
58247	DryRun *bool `type:"boolean"`
58248}
58249
58250// String returns the string representation
58251func (s DisassociateClientVpnTargetNetworkInput) String() string {
58252	return awsutil.Prettify(s)
58253}
58254
58255// GoString returns the string representation
58256func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
58257	return s.String()
58258}
58259
58260// Validate inspects the fields of the type to determine if they are valid.
58261func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
58262	invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
58263	if s.AssociationId == nil {
58264		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
58265	}
58266	if s.ClientVpnEndpointId == nil {
58267		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
58268	}
58269
58270	if invalidParams.Len() > 0 {
58271		return invalidParams
58272	}
58273	return nil
58274}
58275
58276// SetAssociationId sets the AssociationId field's value.
58277func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
58278	s.AssociationId = &v
58279	return s
58280}
58281
58282// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
58283func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
58284	s.ClientVpnEndpointId = &v
58285	return s
58286}
58287
58288// SetDryRun sets the DryRun field's value.
58289func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
58290	s.DryRun = &v
58291	return s
58292}
58293
58294type DisassociateClientVpnTargetNetworkOutput struct {
58295	_ struct{} `type:"structure"`
58296
58297	// The ID of the target network association.
58298	AssociationId *string `locationName:"associationId" type:"string"`
58299
58300	// The current state of the target network association.
58301	Status *AssociationStatus `locationName:"status" type:"structure"`
58302}
58303
58304// String returns the string representation
58305func (s DisassociateClientVpnTargetNetworkOutput) String() string {
58306	return awsutil.Prettify(s)
58307}
58308
58309// GoString returns the string representation
58310func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
58311	return s.String()
58312}
58313
58314// SetAssociationId sets the AssociationId field's value.
58315func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
58316	s.AssociationId = &v
58317	return s
58318}
58319
58320// SetStatus sets the Status field's value.
58321func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
58322	s.Status = v
58323	return s
58324}
58325
58326type DisassociateIamInstanceProfileInput struct {
58327	_ struct{} `type:"structure"`
58328
58329	// The ID of the IAM instance profile association.
58330	//
58331	// AssociationId is a required field
58332	AssociationId *string `type:"string" required:"true"`
58333}
58334
58335// String returns the string representation
58336func (s DisassociateIamInstanceProfileInput) String() string {
58337	return awsutil.Prettify(s)
58338}
58339
58340// GoString returns the string representation
58341func (s DisassociateIamInstanceProfileInput) GoString() string {
58342	return s.String()
58343}
58344
58345// Validate inspects the fields of the type to determine if they are valid.
58346func (s *DisassociateIamInstanceProfileInput) Validate() error {
58347	invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
58348	if s.AssociationId == nil {
58349		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
58350	}
58351
58352	if invalidParams.Len() > 0 {
58353		return invalidParams
58354	}
58355	return nil
58356}
58357
58358// SetAssociationId sets the AssociationId field's value.
58359func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
58360	s.AssociationId = &v
58361	return s
58362}
58363
58364type DisassociateIamInstanceProfileOutput struct {
58365	_ struct{} `type:"structure"`
58366
58367	// Information about the IAM instance profile association.
58368	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
58369}
58370
58371// String returns the string representation
58372func (s DisassociateIamInstanceProfileOutput) String() string {
58373	return awsutil.Prettify(s)
58374}
58375
58376// GoString returns the string representation
58377func (s DisassociateIamInstanceProfileOutput) GoString() string {
58378	return s.String()
58379}
58380
58381// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
58382func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
58383	s.IamInstanceProfileAssociation = v
58384	return s
58385}
58386
58387type DisassociateRouteTableInput struct {
58388	_ struct{} `type:"structure"`
58389
58390	// The association ID representing the current association between the route
58391	// table and subnet.
58392	//
58393	// AssociationId is a required field
58394	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
58395
58396	// Checks whether you have the required permissions for the action, without
58397	// actually making the request, and provides an error response. If you have
58398	// the required permissions, the error response is DryRunOperation. Otherwise,
58399	// it is UnauthorizedOperation.
58400	DryRun *bool `locationName:"dryRun" type:"boolean"`
58401}
58402
58403// String returns the string representation
58404func (s DisassociateRouteTableInput) String() string {
58405	return awsutil.Prettify(s)
58406}
58407
58408// GoString returns the string representation
58409func (s DisassociateRouteTableInput) GoString() string {
58410	return s.String()
58411}
58412
58413// Validate inspects the fields of the type to determine if they are valid.
58414func (s *DisassociateRouteTableInput) Validate() error {
58415	invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
58416	if s.AssociationId == nil {
58417		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
58418	}
58419
58420	if invalidParams.Len() > 0 {
58421		return invalidParams
58422	}
58423	return nil
58424}
58425
58426// SetAssociationId sets the AssociationId field's value.
58427func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
58428	s.AssociationId = &v
58429	return s
58430}
58431
58432// SetDryRun sets the DryRun field's value.
58433func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
58434	s.DryRun = &v
58435	return s
58436}
58437
58438type DisassociateRouteTableOutput struct {
58439	_ struct{} `type:"structure"`
58440}
58441
58442// String returns the string representation
58443func (s DisassociateRouteTableOutput) String() string {
58444	return awsutil.Prettify(s)
58445}
58446
58447// GoString returns the string representation
58448func (s DisassociateRouteTableOutput) GoString() string {
58449	return s.String()
58450}
58451
58452type DisassociateSubnetCidrBlockInput struct {
58453	_ struct{} `type:"structure"`
58454
58455	// The association ID for the CIDR block.
58456	//
58457	// AssociationId is a required field
58458	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
58459}
58460
58461// String returns the string representation
58462func (s DisassociateSubnetCidrBlockInput) String() string {
58463	return awsutil.Prettify(s)
58464}
58465
58466// GoString returns the string representation
58467func (s DisassociateSubnetCidrBlockInput) GoString() string {
58468	return s.String()
58469}
58470
58471// Validate inspects the fields of the type to determine if they are valid.
58472func (s *DisassociateSubnetCidrBlockInput) Validate() error {
58473	invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
58474	if s.AssociationId == nil {
58475		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
58476	}
58477
58478	if invalidParams.Len() > 0 {
58479		return invalidParams
58480	}
58481	return nil
58482}
58483
58484// SetAssociationId sets the AssociationId field's value.
58485func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
58486	s.AssociationId = &v
58487	return s
58488}
58489
58490type DisassociateSubnetCidrBlockOutput struct {
58491	_ struct{} `type:"structure"`
58492
58493	// Information about the IPv6 CIDR block association.
58494	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
58495
58496	// The ID of the subnet.
58497	SubnetId *string `locationName:"subnetId" type:"string"`
58498}
58499
58500// String returns the string representation
58501func (s DisassociateSubnetCidrBlockOutput) String() string {
58502	return awsutil.Prettify(s)
58503}
58504
58505// GoString returns the string representation
58506func (s DisassociateSubnetCidrBlockOutput) GoString() string {
58507	return s.String()
58508}
58509
58510// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
58511func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
58512	s.Ipv6CidrBlockAssociation = v
58513	return s
58514}
58515
58516// SetSubnetId sets the SubnetId field's value.
58517func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
58518	s.SubnetId = &v
58519	return s
58520}
58521
58522type DisassociateTransitGatewayRouteTableInput struct {
58523	_ struct{} `type:"structure"`
58524
58525	// Checks whether you have the required permissions for the action, without
58526	// actually making the request, and provides an error response. If you have
58527	// the required permissions, the error response is DryRunOperation. Otherwise,
58528	// it is UnauthorizedOperation.
58529	DryRun *bool `type:"boolean"`
58530
58531	// The ID of the attachment.
58532	//
58533	// TransitGatewayAttachmentId is a required field
58534	TransitGatewayAttachmentId *string `type:"string" required:"true"`
58535
58536	// The ID of the transit gateway route table.
58537	//
58538	// TransitGatewayRouteTableId is a required field
58539	TransitGatewayRouteTableId *string `type:"string" required:"true"`
58540}
58541
58542// String returns the string representation
58543func (s DisassociateTransitGatewayRouteTableInput) String() string {
58544	return awsutil.Prettify(s)
58545}
58546
58547// GoString returns the string representation
58548func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
58549	return s.String()
58550}
58551
58552// Validate inspects the fields of the type to determine if they are valid.
58553func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
58554	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
58555	if s.TransitGatewayAttachmentId == nil {
58556		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
58557	}
58558	if s.TransitGatewayRouteTableId == nil {
58559		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
58560	}
58561
58562	if invalidParams.Len() > 0 {
58563		return invalidParams
58564	}
58565	return nil
58566}
58567
58568// SetDryRun sets the DryRun field's value.
58569func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
58570	s.DryRun = &v
58571	return s
58572}
58573
58574// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
58575func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
58576	s.TransitGatewayAttachmentId = &v
58577	return s
58578}
58579
58580// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
58581func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
58582	s.TransitGatewayRouteTableId = &v
58583	return s
58584}
58585
58586type DisassociateTransitGatewayRouteTableOutput struct {
58587	_ struct{} `type:"structure"`
58588
58589	// Information about the association.
58590	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
58591}
58592
58593// String returns the string representation
58594func (s DisassociateTransitGatewayRouteTableOutput) String() string {
58595	return awsutil.Prettify(s)
58596}
58597
58598// GoString returns the string representation
58599func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
58600	return s.String()
58601}
58602
58603// SetAssociation sets the Association field's value.
58604func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
58605	s.Association = v
58606	return s
58607}
58608
58609type DisassociateVpcCidrBlockInput struct {
58610	_ struct{} `type:"structure"`
58611
58612	// The association ID for the CIDR block.
58613	//
58614	// AssociationId is a required field
58615	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
58616}
58617
58618// String returns the string representation
58619func (s DisassociateVpcCidrBlockInput) String() string {
58620	return awsutil.Prettify(s)
58621}
58622
58623// GoString returns the string representation
58624func (s DisassociateVpcCidrBlockInput) GoString() string {
58625	return s.String()
58626}
58627
58628// Validate inspects the fields of the type to determine if they are valid.
58629func (s *DisassociateVpcCidrBlockInput) Validate() error {
58630	invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
58631	if s.AssociationId == nil {
58632		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
58633	}
58634
58635	if invalidParams.Len() > 0 {
58636		return invalidParams
58637	}
58638	return nil
58639}
58640
58641// SetAssociationId sets the AssociationId field's value.
58642func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
58643	s.AssociationId = &v
58644	return s
58645}
58646
58647type DisassociateVpcCidrBlockOutput struct {
58648	_ struct{} `type:"structure"`
58649
58650	// Information about the IPv4 CIDR block association.
58651	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
58652
58653	// Information about the IPv6 CIDR block association.
58654	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
58655
58656	// The ID of the VPC.
58657	VpcId *string `locationName:"vpcId" type:"string"`
58658}
58659
58660// String returns the string representation
58661func (s DisassociateVpcCidrBlockOutput) String() string {
58662	return awsutil.Prettify(s)
58663}
58664
58665// GoString returns the string representation
58666func (s DisassociateVpcCidrBlockOutput) GoString() string {
58667	return s.String()
58668}
58669
58670// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
58671func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
58672	s.CidrBlockAssociation = v
58673	return s
58674}
58675
58676// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
58677func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
58678	s.Ipv6CidrBlockAssociation = v
58679	return s
58680}
58681
58682// SetVpcId sets the VpcId field's value.
58683func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
58684	s.VpcId = &v
58685	return s
58686}
58687
58688// Describes a disk image.
58689type DiskImage struct {
58690	_ struct{} `type:"structure"`
58691
58692	// A description of the disk image.
58693	Description *string `type:"string"`
58694
58695	// Information about the disk image.
58696	Image *DiskImageDetail `type:"structure"`
58697
58698	// Information about the volume.
58699	Volume *VolumeDetail `type:"structure"`
58700}
58701
58702// String returns the string representation
58703func (s DiskImage) String() string {
58704	return awsutil.Prettify(s)
58705}
58706
58707// GoString returns the string representation
58708func (s DiskImage) GoString() string {
58709	return s.String()
58710}
58711
58712// Validate inspects the fields of the type to determine if they are valid.
58713func (s *DiskImage) Validate() error {
58714	invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
58715	if s.Image != nil {
58716		if err := s.Image.Validate(); err != nil {
58717			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
58718		}
58719	}
58720	if s.Volume != nil {
58721		if err := s.Volume.Validate(); err != nil {
58722			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
58723		}
58724	}
58725
58726	if invalidParams.Len() > 0 {
58727		return invalidParams
58728	}
58729	return nil
58730}
58731
58732// SetDescription sets the Description field's value.
58733func (s *DiskImage) SetDescription(v string) *DiskImage {
58734	s.Description = &v
58735	return s
58736}
58737
58738// SetImage sets the Image field's value.
58739func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
58740	s.Image = v
58741	return s
58742}
58743
58744// SetVolume sets the Volume field's value.
58745func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
58746	s.Volume = v
58747	return s
58748}
58749
58750// Describes a disk image.
58751type DiskImageDescription struct {
58752	_ struct{} `type:"structure"`
58753
58754	// The checksum computed for the disk image.
58755	Checksum *string `locationName:"checksum" type:"string"`
58756
58757	// The disk image format.
58758	Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
58759
58760	// A presigned URL for the import manifest stored in Amazon S3. For information
58761	// about creating a presigned URL for an Amazon S3 object, read the "Query String
58762	// Request Authentication Alternative" section of the Authenticating REST Requests
58763	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
58764	// topic in the Amazon Simple Storage Service Developer Guide.
58765	//
58766	// For information about the import manifest referenced by this API action,
58767	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
58768	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
58769
58770	// The size of the disk image, in GiB.
58771	Size *int64 `locationName:"size" type:"long"`
58772}
58773
58774// String returns the string representation
58775func (s DiskImageDescription) String() string {
58776	return awsutil.Prettify(s)
58777}
58778
58779// GoString returns the string representation
58780func (s DiskImageDescription) GoString() string {
58781	return s.String()
58782}
58783
58784// SetChecksum sets the Checksum field's value.
58785func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
58786	s.Checksum = &v
58787	return s
58788}
58789
58790// SetFormat sets the Format field's value.
58791func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
58792	s.Format = &v
58793	return s
58794}
58795
58796// SetImportManifestUrl sets the ImportManifestUrl field's value.
58797func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
58798	s.ImportManifestUrl = &v
58799	return s
58800}
58801
58802// SetSize sets the Size field's value.
58803func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
58804	s.Size = &v
58805	return s
58806}
58807
58808// Describes a disk image.
58809type DiskImageDetail struct {
58810	_ struct{} `type:"structure"`
58811
58812	// The size of the disk image, in GiB.
58813	//
58814	// Bytes is a required field
58815	Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
58816
58817	// The disk image format.
58818	//
58819	// Format is a required field
58820	Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
58821
58822	// A presigned URL for the import manifest stored in Amazon S3 and presented
58823	// here as an Amazon S3 presigned URL. For information about creating a presigned
58824	// URL for an Amazon S3 object, read the "Query String Request Authentication
58825	// Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
58826	// topic in the Amazon Simple Storage Service Developer Guide.
58827	//
58828	// For information about the import manifest referenced by this API action,
58829	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
58830	//
58831	// ImportManifestUrl is a required field
58832	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
58833}
58834
58835// String returns the string representation
58836func (s DiskImageDetail) String() string {
58837	return awsutil.Prettify(s)
58838}
58839
58840// GoString returns the string representation
58841func (s DiskImageDetail) GoString() string {
58842	return s.String()
58843}
58844
58845// Validate inspects the fields of the type to determine if they are valid.
58846func (s *DiskImageDetail) Validate() error {
58847	invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
58848	if s.Bytes == nil {
58849		invalidParams.Add(request.NewErrParamRequired("Bytes"))
58850	}
58851	if s.Format == nil {
58852		invalidParams.Add(request.NewErrParamRequired("Format"))
58853	}
58854	if s.ImportManifestUrl == nil {
58855		invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
58856	}
58857
58858	if invalidParams.Len() > 0 {
58859		return invalidParams
58860	}
58861	return nil
58862}
58863
58864// SetBytes sets the Bytes field's value.
58865func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
58866	s.Bytes = &v
58867	return s
58868}
58869
58870// SetFormat sets the Format field's value.
58871func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
58872	s.Format = &v
58873	return s
58874}
58875
58876// SetImportManifestUrl sets the ImportManifestUrl field's value.
58877func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
58878	s.ImportManifestUrl = &v
58879	return s
58880}
58881
58882// Describes a disk image volume.
58883type DiskImageVolumeDescription struct {
58884	_ struct{} `type:"structure"`
58885
58886	// The volume identifier.
58887	Id *string `locationName:"id" type:"string"`
58888
58889	// The size of the volume, in GiB.
58890	Size *int64 `locationName:"size" type:"long"`
58891}
58892
58893// String returns the string representation
58894func (s DiskImageVolumeDescription) String() string {
58895	return awsutil.Prettify(s)
58896}
58897
58898// GoString returns the string representation
58899func (s DiskImageVolumeDescription) GoString() string {
58900	return s.String()
58901}
58902
58903// SetId sets the Id field's value.
58904func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
58905	s.Id = &v
58906	return s
58907}
58908
58909// SetSize sets the Size field's value.
58910func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
58911	s.Size = &v
58912	return s
58913}
58914
58915// Describes a DNS entry.
58916type DnsEntry struct {
58917	_ struct{} `type:"structure"`
58918
58919	// The DNS name.
58920	DnsName *string `locationName:"dnsName" type:"string"`
58921
58922	// The ID of the private hosted zone.
58923	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
58924}
58925
58926// String returns the string representation
58927func (s DnsEntry) String() string {
58928	return awsutil.Prettify(s)
58929}
58930
58931// GoString returns the string representation
58932func (s DnsEntry) GoString() string {
58933	return s.String()
58934}
58935
58936// SetDnsName sets the DnsName field's value.
58937func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
58938	s.DnsName = &v
58939	return s
58940}
58941
58942// SetHostedZoneId sets the HostedZoneId field's value.
58943func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
58944	s.HostedZoneId = &v
58945	return s
58946}
58947
58948// Information about the DNS server to be used.
58949type DnsServersOptionsModifyStructure struct {
58950	_ struct{} `type:"structure"`
58951
58952	// The IPv4 address range, in CIDR notation, of the DNS servers to be used.
58953	// You can specify up to two DNS servers. Ensure that the DNS servers can be
58954	// reached by the clients. The specified values overwrite the existing values.
58955	CustomDnsServers []*string `locationNameList:"item" type:"list"`
58956
58957	// Indicates whether DNS servers should be used. Specify False to delete the
58958	// existing DNS servers.
58959	Enabled *bool `type:"boolean"`
58960}
58961
58962// String returns the string representation
58963func (s DnsServersOptionsModifyStructure) String() string {
58964	return awsutil.Prettify(s)
58965}
58966
58967// GoString returns the string representation
58968func (s DnsServersOptionsModifyStructure) GoString() string {
58969	return s.String()
58970}
58971
58972// SetCustomDnsServers sets the CustomDnsServers field's value.
58973func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
58974	s.CustomDnsServers = v
58975	return s
58976}
58977
58978// SetEnabled sets the Enabled field's value.
58979func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
58980	s.Enabled = &v
58981	return s
58982}
58983
58984// Describes a block device for an EBS volume.
58985type EbsBlockDevice struct {
58986	_ struct{} `type:"structure"`
58987
58988	// Indicates whether the EBS volume is deleted on instance termination.
58989	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
58990
58991	// Indicates whether the encryption state of an EBS volume is changed while
58992	// being restored from a backing snapshot. The default effect of setting the
58993	// Encrypted parameter to true through the console, API, or CLI depends on the
58994	// volume's origin (new or from a snapshot), starting encryption state, ownership,
58995	// and whether account-level encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/account-level-encryption.html)
58996	// is enabled. Each default case can be overridden by specifying a customer
58997	// master key (CMK) with the KmsKeyId parameter in addition to setting Encrypted
58998	// to true. For a complete list of possible encryption cases, see Amazon EBS
58999	// Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
59000	// in the Amazon Elastic Compute Cloud User Guide.
59001	//
59002	// In no case can you remove encryption from an encrypted volume.
59003	//
59004	// Encrypted volumes can only be attached to instances that support Amazon EBS
59005	// encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
59006	Encrypted *bool `locationName:"encrypted" type:"boolean"`
59007
59008	// The number of I/O operations per second (IOPS) that the volume supports.
59009	// For io1 volumes, this represents the number of IOPS that are provisioned
59010	// for the volume. For gp2 volumes, this represents the baseline performance
59011	// of the volume and the rate at which the volume accumulates I/O credits for
59012	// bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
59013	// in the Amazon Elastic Compute Cloud User Guide.
59014	//
59015	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
59016	// for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed
59017	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
59018	// Other instance families guarantee performance up to 32,000 IOPS. For more
59019	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
59020	// in the Amazon Elastic Compute Cloud User Guide.
59021	//
59022	// Condition: This parameter is required for requests to create io1 volumes;
59023	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
59024	Iops *int64 `locationName:"iops" type:"integer"`
59025
59026	// Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK
59027	// under which the EBS volume is encrypted.
59028	//
59029	// This parameter is only supported on BlockDeviceMapping objects called by
59030	// RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
59031	// RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
59032	// and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
59033	KmsKeyId *string `type:"string"`
59034
59035	// The ID of the snapshot.
59036	SnapshotId *string `locationName:"snapshotId" type:"string"`
59037
59038	// The size of the volume, in GiB.
59039	//
59040	// Default: If you're creating the volume from a snapshot and don't specify
59041	// a volume size, the default is the snapshot size.
59042	//
59043	// Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
59044	// IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
59045	// Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
59046	// a snapshot, the volume size must be equal to or larger than the snapshot
59047	// size.
59048	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
59049
59050	// The volume type. If you set the type to io1, you must also set the Iops property.
59051	//
59052	// Default: standard
59053	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
59054}
59055
59056// String returns the string representation
59057func (s EbsBlockDevice) String() string {
59058	return awsutil.Prettify(s)
59059}
59060
59061// GoString returns the string representation
59062func (s EbsBlockDevice) GoString() string {
59063	return s.String()
59064}
59065
59066// SetDeleteOnTermination sets the DeleteOnTermination field's value.
59067func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
59068	s.DeleteOnTermination = &v
59069	return s
59070}
59071
59072// SetEncrypted sets the Encrypted field's value.
59073func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
59074	s.Encrypted = &v
59075	return s
59076}
59077
59078// SetIops sets the Iops field's value.
59079func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
59080	s.Iops = &v
59081	return s
59082}
59083
59084// SetKmsKeyId sets the KmsKeyId field's value.
59085func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
59086	s.KmsKeyId = &v
59087	return s
59088}
59089
59090// SetSnapshotId sets the SnapshotId field's value.
59091func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
59092	s.SnapshotId = &v
59093	return s
59094}
59095
59096// SetVolumeSize sets the VolumeSize field's value.
59097func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
59098	s.VolumeSize = &v
59099	return s
59100}
59101
59102// SetVolumeType sets the VolumeType field's value.
59103func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
59104	s.VolumeType = &v
59105	return s
59106}
59107
59108// Describes a parameter used to set up an EBS volume in a block device mapping.
59109type EbsInstanceBlockDevice struct {
59110	_ struct{} `type:"structure"`
59111
59112	// The time stamp when the attachment initiated.
59113	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
59114
59115	// Indicates whether the volume is deleted on instance termination.
59116	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
59117
59118	// The attachment state.
59119	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
59120
59121	// The ID of the EBS volume.
59122	VolumeId *string `locationName:"volumeId" type:"string"`
59123}
59124
59125// String returns the string representation
59126func (s EbsInstanceBlockDevice) String() string {
59127	return awsutil.Prettify(s)
59128}
59129
59130// GoString returns the string representation
59131func (s EbsInstanceBlockDevice) GoString() string {
59132	return s.String()
59133}
59134
59135// SetAttachTime sets the AttachTime field's value.
59136func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
59137	s.AttachTime = &v
59138	return s
59139}
59140
59141// SetDeleteOnTermination sets the DeleteOnTermination field's value.
59142func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
59143	s.DeleteOnTermination = &v
59144	return s
59145}
59146
59147// SetStatus sets the Status field's value.
59148func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
59149	s.Status = &v
59150	return s
59151}
59152
59153// SetVolumeId sets the VolumeId field's value.
59154func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
59155	s.VolumeId = &v
59156	return s
59157}
59158
59159// Describes information used to set up an EBS volume specified in a block device
59160// mapping.
59161type EbsInstanceBlockDeviceSpecification struct {
59162	_ struct{} `type:"structure"`
59163
59164	// Indicates whether the volume is deleted on instance termination.
59165	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
59166
59167	// The ID of the EBS volume.
59168	VolumeId *string `locationName:"volumeId" type:"string"`
59169}
59170
59171// String returns the string representation
59172func (s EbsInstanceBlockDeviceSpecification) String() string {
59173	return awsutil.Prettify(s)
59174}
59175
59176// GoString returns the string representation
59177func (s EbsInstanceBlockDeviceSpecification) GoString() string {
59178	return s.String()
59179}
59180
59181// SetDeleteOnTermination sets the DeleteOnTermination field's value.
59182func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
59183	s.DeleteOnTermination = &v
59184	return s
59185}
59186
59187// SetVolumeId sets the VolumeId field's value.
59188func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
59189	s.VolumeId = &v
59190	return s
59191}
59192
59193// Describes an egress-only internet gateway.
59194type EgressOnlyInternetGateway struct {
59195	_ struct{} `type:"structure"`
59196
59197	// Information about the attachment of the egress-only internet gateway.
59198	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
59199
59200	// The ID of the egress-only internet gateway.
59201	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
59202}
59203
59204// String returns the string representation
59205func (s EgressOnlyInternetGateway) String() string {
59206	return awsutil.Prettify(s)
59207}
59208
59209// GoString returns the string representation
59210func (s EgressOnlyInternetGateway) GoString() string {
59211	return s.String()
59212}
59213
59214// SetAttachments sets the Attachments field's value.
59215func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
59216	s.Attachments = v
59217	return s
59218}
59219
59220// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
59221func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
59222	s.EgressOnlyInternetGatewayId = &v
59223	return s
59224}
59225
59226// Describes the association between an instance and an Elastic Graphics accelerator.
59227type ElasticGpuAssociation struct {
59228	_ struct{} `type:"structure"`
59229
59230	// The ID of the association.
59231	ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
59232
59233	// The state of the association between the instance and the Elastic Graphics
59234	// accelerator.
59235	ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
59236
59237	// The time the Elastic Graphics accelerator was associated with the instance.
59238	ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
59239
59240	// The ID of the Elastic Graphics accelerator.
59241	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
59242}
59243
59244// String returns the string representation
59245func (s ElasticGpuAssociation) String() string {
59246	return awsutil.Prettify(s)
59247}
59248
59249// GoString returns the string representation
59250func (s ElasticGpuAssociation) GoString() string {
59251	return s.String()
59252}
59253
59254// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
59255func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
59256	s.ElasticGpuAssociationId = &v
59257	return s
59258}
59259
59260// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
59261func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
59262	s.ElasticGpuAssociationState = &v
59263	return s
59264}
59265
59266// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
59267func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
59268	s.ElasticGpuAssociationTime = &v
59269	return s
59270}
59271
59272// SetElasticGpuId sets the ElasticGpuId field's value.
59273func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
59274	s.ElasticGpuId = &v
59275	return s
59276}
59277
59278// Describes the status of an Elastic Graphics accelerator.
59279type ElasticGpuHealth struct {
59280	_ struct{} `type:"structure"`
59281
59282	// The health status.
59283	Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
59284}
59285
59286// String returns the string representation
59287func (s ElasticGpuHealth) String() string {
59288	return awsutil.Prettify(s)
59289}
59290
59291// GoString returns the string representation
59292func (s ElasticGpuHealth) GoString() string {
59293	return s.String()
59294}
59295
59296// SetStatus sets the Status field's value.
59297func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
59298	s.Status = &v
59299	return s
59300}
59301
59302// A specification for an Elastic Graphics accelerator.
59303type ElasticGpuSpecification struct {
59304	_ struct{} `type:"structure"`
59305
59306	// The type of Elastic Graphics accelerator.
59307	//
59308	// Type is a required field
59309	Type *string `type:"string" required:"true"`
59310}
59311
59312// String returns the string representation
59313func (s ElasticGpuSpecification) String() string {
59314	return awsutil.Prettify(s)
59315}
59316
59317// GoString returns the string representation
59318func (s ElasticGpuSpecification) GoString() string {
59319	return s.String()
59320}
59321
59322// Validate inspects the fields of the type to determine if they are valid.
59323func (s *ElasticGpuSpecification) Validate() error {
59324	invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
59325	if s.Type == nil {
59326		invalidParams.Add(request.NewErrParamRequired("Type"))
59327	}
59328
59329	if invalidParams.Len() > 0 {
59330		return invalidParams
59331	}
59332	return nil
59333}
59334
59335// SetType sets the Type field's value.
59336func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
59337	s.Type = &v
59338	return s
59339}
59340
59341// Describes an elastic GPU.
59342type ElasticGpuSpecificationResponse struct {
59343	_ struct{} `type:"structure"`
59344
59345	// The elastic GPU type.
59346	Type *string `locationName:"type" type:"string"`
59347}
59348
59349// String returns the string representation
59350func (s ElasticGpuSpecificationResponse) String() string {
59351	return awsutil.Prettify(s)
59352}
59353
59354// GoString returns the string representation
59355func (s ElasticGpuSpecificationResponse) GoString() string {
59356	return s.String()
59357}
59358
59359// SetType sets the Type field's value.
59360func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
59361	s.Type = &v
59362	return s
59363}
59364
59365// Describes an Elastic Graphics accelerator.
59366type ElasticGpus struct {
59367	_ struct{} `type:"structure"`
59368
59369	// The Availability Zone in the which the Elastic Graphics accelerator resides.
59370	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
59371
59372	// The status of the Elastic Graphics accelerator.
59373	ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
59374
59375	// The ID of the Elastic Graphics accelerator.
59376	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
59377
59378	// The state of the Elastic Graphics accelerator.
59379	ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
59380
59381	// The type of Elastic Graphics accelerator.
59382	ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
59383
59384	// The ID of the instance to which the Elastic Graphics accelerator is attached.
59385	InstanceId *string `locationName:"instanceId" type:"string"`
59386}
59387
59388// String returns the string representation
59389func (s ElasticGpus) String() string {
59390	return awsutil.Prettify(s)
59391}
59392
59393// GoString returns the string representation
59394func (s ElasticGpus) GoString() string {
59395	return s.String()
59396}
59397
59398// SetAvailabilityZone sets the AvailabilityZone field's value.
59399func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
59400	s.AvailabilityZone = &v
59401	return s
59402}
59403
59404// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
59405func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
59406	s.ElasticGpuHealth = v
59407	return s
59408}
59409
59410// SetElasticGpuId sets the ElasticGpuId field's value.
59411func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
59412	s.ElasticGpuId = &v
59413	return s
59414}
59415
59416// SetElasticGpuState sets the ElasticGpuState field's value.
59417func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
59418	s.ElasticGpuState = &v
59419	return s
59420}
59421
59422// SetElasticGpuType sets the ElasticGpuType field's value.
59423func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
59424	s.ElasticGpuType = &v
59425	return s
59426}
59427
59428// SetInstanceId sets the InstanceId field's value.
59429func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
59430	s.InstanceId = &v
59431	return s
59432}
59433
59434// Describes an elastic inference accelerator.
59435type ElasticInferenceAccelerator struct {
59436	_ struct{} `type:"structure"`
59437
59438	// The type of elastic inference accelerator. The possible values are eia1.small,
59439	// eia1.medium, and eia1.large.
59440	//
59441	// Type is a required field
59442	Type *string `type:"string" required:"true"`
59443}
59444
59445// String returns the string representation
59446func (s ElasticInferenceAccelerator) String() string {
59447	return awsutil.Prettify(s)
59448}
59449
59450// GoString returns the string representation
59451func (s ElasticInferenceAccelerator) GoString() string {
59452	return s.String()
59453}
59454
59455// Validate inspects the fields of the type to determine if they are valid.
59456func (s *ElasticInferenceAccelerator) Validate() error {
59457	invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
59458	if s.Type == nil {
59459		invalidParams.Add(request.NewErrParamRequired("Type"))
59460	}
59461
59462	if invalidParams.Len() > 0 {
59463		return invalidParams
59464	}
59465	return nil
59466}
59467
59468// SetType sets the Type field's value.
59469func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
59470	s.Type = &v
59471	return s
59472}
59473
59474// Describes the association between an instance and an elastic inference accelerator.
59475type ElasticInferenceAcceleratorAssociation struct {
59476	_ struct{} `type:"structure"`
59477
59478	// The Amazon Resource Name (ARN) of the elastic inference accelerator.
59479	ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
59480
59481	// The ID of the association.
59482	ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
59483
59484	// The state of the elastic inference accelerator.
59485	ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
59486
59487	// The time at which the elastic inference accelerator is associated with an
59488	// instance.
59489	ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
59490}
59491
59492// String returns the string representation
59493func (s ElasticInferenceAcceleratorAssociation) String() string {
59494	return awsutil.Prettify(s)
59495}
59496
59497// GoString returns the string representation
59498func (s ElasticInferenceAcceleratorAssociation) GoString() string {
59499	return s.String()
59500}
59501
59502// SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
59503func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
59504	s.ElasticInferenceAcceleratorArn = &v
59505	return s
59506}
59507
59508// SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
59509func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
59510	s.ElasticInferenceAcceleratorAssociationId = &v
59511	return s
59512}
59513
59514// SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
59515func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
59516	s.ElasticInferenceAcceleratorAssociationState = &v
59517	return s
59518}
59519
59520// SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
59521func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
59522	s.ElasticInferenceAcceleratorAssociationTime = &v
59523	return s
59524}
59525
59526type EnableEbsEncryptionByDefaultInput struct {
59527	_ struct{} `type:"structure"`
59528
59529	// Checks whether you have the required permissions for the action, without
59530	// actually making the request, and provides an error response. If you have
59531	// the required permissions, the error response is DryRunOperation. Otherwise,
59532	// it is UnauthorizedOperation.
59533	DryRun *bool `type:"boolean"`
59534}
59535
59536// String returns the string representation
59537func (s EnableEbsEncryptionByDefaultInput) String() string {
59538	return awsutil.Prettify(s)
59539}
59540
59541// GoString returns the string representation
59542func (s EnableEbsEncryptionByDefaultInput) GoString() string {
59543	return s.String()
59544}
59545
59546// SetDryRun sets the DryRun field's value.
59547func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput {
59548	s.DryRun = &v
59549	return s
59550}
59551
59552type EnableEbsEncryptionByDefaultOutput struct {
59553	_ struct{} `type:"structure"`
59554
59555	// Account-level encryption status after performing the action.
59556	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
59557}
59558
59559// String returns the string representation
59560func (s EnableEbsEncryptionByDefaultOutput) String() string {
59561	return awsutil.Prettify(s)
59562}
59563
59564// GoString returns the string representation
59565func (s EnableEbsEncryptionByDefaultOutput) GoString() string {
59566	return s.String()
59567}
59568
59569// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
59570func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput {
59571	s.EbsEncryptionByDefault = &v
59572	return s
59573}
59574
59575type EnableTransitGatewayRouteTablePropagationInput struct {
59576	_ struct{} `type:"structure"`
59577
59578	// Checks whether you have the required permissions for the action, without
59579	// actually making the request, and provides an error response. If you have
59580	// the required permissions, the error response is DryRunOperation. Otherwise,
59581	// it is UnauthorizedOperation.
59582	DryRun *bool `type:"boolean"`
59583
59584	// The ID of the attachment.
59585	//
59586	// TransitGatewayAttachmentId is a required field
59587	TransitGatewayAttachmentId *string `type:"string" required:"true"`
59588
59589	// The ID of the propagation route table.
59590	//
59591	// TransitGatewayRouteTableId is a required field
59592	TransitGatewayRouteTableId *string `type:"string" required:"true"`
59593}
59594
59595// String returns the string representation
59596func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
59597	return awsutil.Prettify(s)
59598}
59599
59600// GoString returns the string representation
59601func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
59602	return s.String()
59603}
59604
59605// Validate inspects the fields of the type to determine if they are valid.
59606func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
59607	invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
59608	if s.TransitGatewayAttachmentId == nil {
59609		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
59610	}
59611	if s.TransitGatewayRouteTableId == nil {
59612		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
59613	}
59614
59615	if invalidParams.Len() > 0 {
59616		return invalidParams
59617	}
59618	return nil
59619}
59620
59621// SetDryRun sets the DryRun field's value.
59622func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
59623	s.DryRun = &v
59624	return s
59625}
59626
59627// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
59628func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
59629	s.TransitGatewayAttachmentId = &v
59630	return s
59631}
59632
59633// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
59634func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
59635	s.TransitGatewayRouteTableId = &v
59636	return s
59637}
59638
59639type EnableTransitGatewayRouteTablePropagationOutput struct {
59640	_ struct{} `type:"structure"`
59641
59642	// Information about route propagation.
59643	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
59644}
59645
59646// String returns the string representation
59647func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
59648	return awsutil.Prettify(s)
59649}
59650
59651// GoString returns the string representation
59652func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
59653	return s.String()
59654}
59655
59656// SetPropagation sets the Propagation field's value.
59657func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
59658	s.Propagation = v
59659	return s
59660}
59661
59662// Contains the parameters for EnableVgwRoutePropagation.
59663type EnableVgwRoutePropagationInput struct {
59664	_ struct{} `type:"structure"`
59665
59666	// The ID of the virtual private gateway that is attached to a VPC. The virtual
59667	// private gateway must be attached to the same VPC that the routing tables
59668	// are associated with.
59669	//
59670	// GatewayId is a required field
59671	GatewayId *string `type:"string" required:"true"`
59672
59673	// The ID of the route table. The routing table must be associated with the
59674	// same VPC that the virtual private gateway is attached to.
59675	//
59676	// RouteTableId is a required field
59677	RouteTableId *string `type:"string" required:"true"`
59678}
59679
59680// String returns the string representation
59681func (s EnableVgwRoutePropagationInput) String() string {
59682	return awsutil.Prettify(s)
59683}
59684
59685// GoString returns the string representation
59686func (s EnableVgwRoutePropagationInput) GoString() string {
59687	return s.String()
59688}
59689
59690// Validate inspects the fields of the type to determine if they are valid.
59691func (s *EnableVgwRoutePropagationInput) Validate() error {
59692	invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
59693	if s.GatewayId == nil {
59694		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
59695	}
59696	if s.RouteTableId == nil {
59697		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
59698	}
59699
59700	if invalidParams.Len() > 0 {
59701		return invalidParams
59702	}
59703	return nil
59704}
59705
59706// SetGatewayId sets the GatewayId field's value.
59707func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
59708	s.GatewayId = &v
59709	return s
59710}
59711
59712// SetRouteTableId sets the RouteTableId field's value.
59713func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
59714	s.RouteTableId = &v
59715	return s
59716}
59717
59718type EnableVgwRoutePropagationOutput struct {
59719	_ struct{} `type:"structure"`
59720}
59721
59722// String returns the string representation
59723func (s EnableVgwRoutePropagationOutput) String() string {
59724	return awsutil.Prettify(s)
59725}
59726
59727// GoString returns the string representation
59728func (s EnableVgwRoutePropagationOutput) GoString() string {
59729	return s.String()
59730}
59731
59732// Contains the parameters for EnableVolumeIO.
59733type EnableVolumeIOInput struct {
59734	_ struct{} `type:"structure"`
59735
59736	// Checks whether you have the required permissions for the action, without
59737	// actually making the request, and provides an error response. If you have
59738	// the required permissions, the error response is DryRunOperation. Otherwise,
59739	// it is UnauthorizedOperation.
59740	DryRun *bool `locationName:"dryRun" type:"boolean"`
59741
59742	// The ID of the volume.
59743	//
59744	// VolumeId is a required field
59745	VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
59746}
59747
59748// String returns the string representation
59749func (s EnableVolumeIOInput) String() string {
59750	return awsutil.Prettify(s)
59751}
59752
59753// GoString returns the string representation
59754func (s EnableVolumeIOInput) GoString() string {
59755	return s.String()
59756}
59757
59758// Validate inspects the fields of the type to determine if they are valid.
59759func (s *EnableVolumeIOInput) Validate() error {
59760	invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
59761	if s.VolumeId == nil {
59762		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
59763	}
59764
59765	if invalidParams.Len() > 0 {
59766		return invalidParams
59767	}
59768	return nil
59769}
59770
59771// SetDryRun sets the DryRun field's value.
59772func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
59773	s.DryRun = &v
59774	return s
59775}
59776
59777// SetVolumeId sets the VolumeId field's value.
59778func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
59779	s.VolumeId = &v
59780	return s
59781}
59782
59783type EnableVolumeIOOutput struct {
59784	_ struct{} `type:"structure"`
59785}
59786
59787// String returns the string representation
59788func (s EnableVolumeIOOutput) String() string {
59789	return awsutil.Prettify(s)
59790}
59791
59792// GoString returns the string representation
59793func (s EnableVolumeIOOutput) GoString() string {
59794	return s.String()
59795}
59796
59797type EnableVpcClassicLinkDnsSupportInput struct {
59798	_ struct{} `type:"structure"`
59799
59800	// The ID of the VPC.
59801	VpcId *string `type:"string"`
59802}
59803
59804// String returns the string representation
59805func (s EnableVpcClassicLinkDnsSupportInput) String() string {
59806	return awsutil.Prettify(s)
59807}
59808
59809// GoString returns the string representation
59810func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
59811	return s.String()
59812}
59813
59814// SetVpcId sets the VpcId field's value.
59815func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
59816	s.VpcId = &v
59817	return s
59818}
59819
59820type EnableVpcClassicLinkDnsSupportOutput struct {
59821	_ struct{} `type:"structure"`
59822
59823	// Returns true if the request succeeds; otherwise, it returns an error.
59824	Return *bool `locationName:"return" type:"boolean"`
59825}
59826
59827// String returns the string representation
59828func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
59829	return awsutil.Prettify(s)
59830}
59831
59832// GoString returns the string representation
59833func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
59834	return s.String()
59835}
59836
59837// SetReturn sets the Return field's value.
59838func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
59839	s.Return = &v
59840	return s
59841}
59842
59843type EnableVpcClassicLinkInput struct {
59844	_ struct{} `type:"structure"`
59845
59846	// Checks whether you have the required permissions for the action, without
59847	// actually making the request, and provides an error response. If you have
59848	// the required permissions, the error response is DryRunOperation. Otherwise,
59849	// it is UnauthorizedOperation.
59850	DryRun *bool `locationName:"dryRun" type:"boolean"`
59851
59852	// The ID of the VPC.
59853	//
59854	// VpcId is a required field
59855	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
59856}
59857
59858// String returns the string representation
59859func (s EnableVpcClassicLinkInput) String() string {
59860	return awsutil.Prettify(s)
59861}
59862
59863// GoString returns the string representation
59864func (s EnableVpcClassicLinkInput) GoString() string {
59865	return s.String()
59866}
59867
59868// Validate inspects the fields of the type to determine if they are valid.
59869func (s *EnableVpcClassicLinkInput) Validate() error {
59870	invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
59871	if s.VpcId == nil {
59872		invalidParams.Add(request.NewErrParamRequired("VpcId"))
59873	}
59874
59875	if invalidParams.Len() > 0 {
59876		return invalidParams
59877	}
59878	return nil
59879}
59880
59881// SetDryRun sets the DryRun field's value.
59882func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
59883	s.DryRun = &v
59884	return s
59885}
59886
59887// SetVpcId sets the VpcId field's value.
59888func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
59889	s.VpcId = &v
59890	return s
59891}
59892
59893type EnableVpcClassicLinkOutput struct {
59894	_ struct{} `type:"structure"`
59895
59896	// Returns true if the request succeeds; otherwise, it returns an error.
59897	Return *bool `locationName:"return" type:"boolean"`
59898}
59899
59900// String returns the string representation
59901func (s EnableVpcClassicLinkOutput) String() string {
59902	return awsutil.Prettify(s)
59903}
59904
59905// GoString returns the string representation
59906func (s EnableVpcClassicLinkOutput) GoString() string {
59907	return s.String()
59908}
59909
59910// SetReturn sets the Return field's value.
59911func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
59912	s.Return = &v
59913	return s
59914}
59915
59916// Describes an EC2 Fleet or Spot Fleet event.
59917type EventInformation struct {
59918	_ struct{} `type:"structure"`
59919
59920	// The description of the event.
59921	EventDescription *string `locationName:"eventDescription" type:"string"`
59922
59923	// The event.
59924	//
59925	// The following are the error events:
59926	//
59927	//    * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required
59928	//    permissions either to launch or terminate an instance.
59929	//
59930	//    * spotFleetRequestConfigurationInvalid - The configuration is not valid.
59931	//    For more information, see the description of the event.
59932	//
59933	//    * spotInstanceCountLimitExceeded - You've reached the limit on the number
59934	//    of Spot Instances that you can launch.
59935	//
59936	// The following are the fleetRequestChange events:
59937	//
59938	//    * active - The EC2 Fleet or Spot Fleet request has been validated and
59939	//    Amazon EC2 is attempting to maintain the target number of running Spot
59940	//    Instances.
59941	//
59942	//    * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has
59943	//    no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted
59944	//    two days after its instances were terminated.
59945	//
59946	//    * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled
59947	//    and does not launch additional Spot Instances. Existing Spot Instances
59948	//    continue to run until they are interrupted or terminated.
59949	//
59950	//    * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled
59951	//    and its Spot Instances are terminating.
59952	//
59953	//    * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent
59954	//    event indicates that the instances were terminated, if the request was
59955	//    created with TerminateInstancesWithExpiration set.
59956	//
59957	//    * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet
59958	//    request was accepted and is in progress.
59959	//
59960	//    * modify_successful - The EC2 Fleet or Spot Fleet request was modified.
59961	//
59962	//    * price_update - The price for a launch configuration was adjusted because
59963	//    it was too high. This change is permanent.
59964	//
59965	//    * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and
59966	//    Amazon EC2 is preparing to launch the target number of Spot Instances.
59967	//
59968	// The following are the instanceChange events:
59969	//
59970	//    * launched - A request was fulfilled and a new instance was launched.
59971	//
59972	//    * terminated - An instance was terminated by the user.
59973	//
59974	// The following are the Information events:
59975	//
59976	//    * launchSpecTemporarilyBlacklisted - The configuration is not valid and
59977	//    several attempts to launch instances have failed. For more information,
59978	//    see the description of the event.
59979	//
59980	//    * launchSpecUnusable - The price in a launch specification is not valid
59981	//    because it is below the Spot price or the Spot price is above the On-Demand
59982	//    price.
59983	//
59984	//    * fleetProgressHalted - The price in every launch specification is not
59985	//    valid. A launch specification might become valid if the Spot price changes.
59986	EventSubType *string `locationName:"eventSubType" type:"string"`
59987
59988	// The ID of the instance. This information is available only for instanceChange
59989	// events.
59990	InstanceId *string `locationName:"instanceId" type:"string"`
59991}
59992
59993// String returns the string representation
59994func (s EventInformation) String() string {
59995	return awsutil.Prettify(s)
59996}
59997
59998// GoString returns the string representation
59999func (s EventInformation) GoString() string {
60000	return s.String()
60001}
60002
60003// SetEventDescription sets the EventDescription field's value.
60004func (s *EventInformation) SetEventDescription(v string) *EventInformation {
60005	s.EventDescription = &v
60006	return s
60007}
60008
60009// SetEventSubType sets the EventSubType field's value.
60010func (s *EventInformation) SetEventSubType(v string) *EventInformation {
60011	s.EventSubType = &v
60012	return s
60013}
60014
60015// SetInstanceId sets the InstanceId field's value.
60016func (s *EventInformation) SetInstanceId(v string) *EventInformation {
60017	s.InstanceId = &v
60018	return s
60019}
60020
60021type ExportClientVpnClientCertificateRevocationListInput struct {
60022	_ struct{} `type:"structure"`
60023
60024	// The ID of the Client VPN endpoint.
60025	//
60026	// ClientVpnEndpointId is a required field
60027	ClientVpnEndpointId *string `type:"string" required:"true"`
60028
60029	// Checks whether you have the required permissions for the action, without
60030	// actually making the request, and provides an error response. If you have
60031	// the required permissions, the error response is DryRunOperation. Otherwise,
60032	// it is UnauthorizedOperation.
60033	DryRun *bool `type:"boolean"`
60034}
60035
60036// String returns the string representation
60037func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
60038	return awsutil.Prettify(s)
60039}
60040
60041// GoString returns the string representation
60042func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
60043	return s.String()
60044}
60045
60046// Validate inspects the fields of the type to determine if they are valid.
60047func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
60048	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
60049	if s.ClientVpnEndpointId == nil {
60050		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
60051	}
60052
60053	if invalidParams.Len() > 0 {
60054		return invalidParams
60055	}
60056	return nil
60057}
60058
60059// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
60060func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
60061	s.ClientVpnEndpointId = &v
60062	return s
60063}
60064
60065// SetDryRun sets the DryRun field's value.
60066func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
60067	s.DryRun = &v
60068	return s
60069}
60070
60071type ExportClientVpnClientCertificateRevocationListOutput struct {
60072	_ struct{} `type:"structure"`
60073
60074	// Information about the client certificate revocation list.
60075	CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
60076
60077	// The current state of the client certificate revocation list.
60078	Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
60079}
60080
60081// String returns the string representation
60082func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
60083	return awsutil.Prettify(s)
60084}
60085
60086// GoString returns the string representation
60087func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
60088	return s.String()
60089}
60090
60091// SetCertificateRevocationList sets the CertificateRevocationList field's value.
60092func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
60093	s.CertificateRevocationList = &v
60094	return s
60095}
60096
60097// SetStatus sets the Status field's value.
60098func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
60099	s.Status = v
60100	return s
60101}
60102
60103type ExportClientVpnClientConfigurationInput struct {
60104	_ struct{} `type:"structure"`
60105
60106	// The ID of the Client VPN endpoint.
60107	//
60108	// ClientVpnEndpointId is a required field
60109	ClientVpnEndpointId *string `type:"string" required:"true"`
60110
60111	// Checks whether you have the required permissions for the action, without
60112	// actually making the request, and provides an error response. If you have
60113	// the required permissions, the error response is DryRunOperation. Otherwise,
60114	// it is UnauthorizedOperation.
60115	DryRun *bool `type:"boolean"`
60116}
60117
60118// String returns the string representation
60119func (s ExportClientVpnClientConfigurationInput) String() string {
60120	return awsutil.Prettify(s)
60121}
60122
60123// GoString returns the string representation
60124func (s ExportClientVpnClientConfigurationInput) GoString() string {
60125	return s.String()
60126}
60127
60128// Validate inspects the fields of the type to determine if they are valid.
60129func (s *ExportClientVpnClientConfigurationInput) Validate() error {
60130	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
60131	if s.ClientVpnEndpointId == nil {
60132		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
60133	}
60134
60135	if invalidParams.Len() > 0 {
60136		return invalidParams
60137	}
60138	return nil
60139}
60140
60141// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
60142func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
60143	s.ClientVpnEndpointId = &v
60144	return s
60145}
60146
60147// SetDryRun sets the DryRun field's value.
60148func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
60149	s.DryRun = &v
60150	return s
60151}
60152
60153type ExportClientVpnClientConfigurationOutput struct {
60154	_ struct{} `type:"structure"`
60155
60156	// The contents of the Client VPN endpoint configuration file.
60157	ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
60158}
60159
60160// String returns the string representation
60161func (s ExportClientVpnClientConfigurationOutput) String() string {
60162	return awsutil.Prettify(s)
60163}
60164
60165// GoString returns the string representation
60166func (s ExportClientVpnClientConfigurationOutput) GoString() string {
60167	return s.String()
60168}
60169
60170// SetClientConfiguration sets the ClientConfiguration field's value.
60171func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
60172	s.ClientConfiguration = &v
60173	return s
60174}
60175
60176// Describes an instance export task.
60177type ExportTask struct {
60178	_ struct{} `type:"structure"`
60179
60180	// A description of the resource being exported.
60181	Description *string `locationName:"description" type:"string"`
60182
60183	// The ID of the export task.
60184	ExportTaskId *string `locationName:"exportTaskId" type:"string"`
60185
60186	// Information about the export task.
60187	ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
60188
60189	// Information about the instance to export.
60190	InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
60191
60192	// The state of the export task.
60193	State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
60194
60195	// The status message related to the export task.
60196	StatusMessage *string `locationName:"statusMessage" type:"string"`
60197}
60198
60199// String returns the string representation
60200func (s ExportTask) String() string {
60201	return awsutil.Prettify(s)
60202}
60203
60204// GoString returns the string representation
60205func (s ExportTask) GoString() string {
60206	return s.String()
60207}
60208
60209// SetDescription sets the Description field's value.
60210func (s *ExportTask) SetDescription(v string) *ExportTask {
60211	s.Description = &v
60212	return s
60213}
60214
60215// SetExportTaskId sets the ExportTaskId field's value.
60216func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
60217	s.ExportTaskId = &v
60218	return s
60219}
60220
60221// SetExportToS3Task sets the ExportToS3Task field's value.
60222func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
60223	s.ExportToS3Task = v
60224	return s
60225}
60226
60227// SetInstanceExportDetails sets the InstanceExportDetails field's value.
60228func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
60229	s.InstanceExportDetails = v
60230	return s
60231}
60232
60233// SetState sets the State field's value.
60234func (s *ExportTask) SetState(v string) *ExportTask {
60235	s.State = &v
60236	return s
60237}
60238
60239// SetStatusMessage sets the StatusMessage field's value.
60240func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
60241	s.StatusMessage = &v
60242	return s
60243}
60244
60245// Describes the format and location for an instance export task.
60246type ExportToS3Task struct {
60247	_ struct{} `type:"structure"`
60248
60249	// The container format used to combine disk images with metadata (such as OVF).
60250	// If absent, only the disk image is exported.
60251	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
60252
60253	// The format for the exported image.
60254	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
60255
60256	// The S3 bucket for the destination image. The destination bucket must exist
60257	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
60258	S3Bucket *string `locationName:"s3Bucket" type:"string"`
60259
60260	// The encryption key for your S3 bucket.
60261	S3Key *string `locationName:"s3Key" type:"string"`
60262}
60263
60264// String returns the string representation
60265func (s ExportToS3Task) String() string {
60266	return awsutil.Prettify(s)
60267}
60268
60269// GoString returns the string representation
60270func (s ExportToS3Task) GoString() string {
60271	return s.String()
60272}
60273
60274// SetContainerFormat sets the ContainerFormat field's value.
60275func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
60276	s.ContainerFormat = &v
60277	return s
60278}
60279
60280// SetDiskImageFormat sets the DiskImageFormat field's value.
60281func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
60282	s.DiskImageFormat = &v
60283	return s
60284}
60285
60286// SetS3Bucket sets the S3Bucket field's value.
60287func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
60288	s.S3Bucket = &v
60289	return s
60290}
60291
60292// SetS3Key sets the S3Key field's value.
60293func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
60294	s.S3Key = &v
60295	return s
60296}
60297
60298// Describes an instance export task.
60299type ExportToS3TaskSpecification struct {
60300	_ struct{} `type:"structure"`
60301
60302	// The container format used to combine disk images with metadata (such as OVF).
60303	// If absent, only the disk image is exported.
60304	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
60305
60306	// The format for the exported image.
60307	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
60308
60309	// The S3 bucket for the destination image. The destination bucket must exist
60310	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
60311	S3Bucket *string `locationName:"s3Bucket" type:"string"`
60312
60313	// The image is written to a single object in the S3 bucket at the S3 key s3prefix
60314	// + exportTaskId + '.' + diskImageFormat.
60315	S3Prefix *string `locationName:"s3Prefix" type:"string"`
60316}
60317
60318// String returns the string representation
60319func (s ExportToS3TaskSpecification) String() string {
60320	return awsutil.Prettify(s)
60321}
60322
60323// GoString returns the string representation
60324func (s ExportToS3TaskSpecification) GoString() string {
60325	return s.String()
60326}
60327
60328// SetContainerFormat sets the ContainerFormat field's value.
60329func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
60330	s.ContainerFormat = &v
60331	return s
60332}
60333
60334// SetDiskImageFormat sets the DiskImageFormat field's value.
60335func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
60336	s.DiskImageFormat = &v
60337	return s
60338}
60339
60340// SetS3Bucket sets the S3Bucket field's value.
60341func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
60342	s.S3Bucket = &v
60343	return s
60344}
60345
60346// SetS3Prefix sets the S3Prefix field's value.
60347func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
60348	s.S3Prefix = &v
60349	return s
60350}
60351
60352type ExportTransitGatewayRoutesInput struct {
60353	_ struct{} `type:"structure"`
60354
60355	// Checks whether you have the required permissions for the action, without
60356	// actually making the request, and provides an error response. If you have
60357	// the required permissions, the error response is DryRunOperation. Otherwise,
60358	// it is UnauthorizedOperation.
60359	DryRun *bool `type:"boolean"`
60360
60361	// One or more filters. The possible values are:
60362	//
60363	//    * attachment.transit-gateway-attachment-id- The id of the transit gateway
60364	//    attachment.
60365	//
60366	//    * attachment.resource-id - The resource id of the transit gateway attachment.
60367	//
60368	//    * route-search.exact-match - The exact match of the specified filter.
60369	//
60370	//    * route-search.longest-prefix-match - The longest prefix that matches
60371	//    the route.
60372	//
60373	//    * route-search.subnet-of-match - The routes with a subnet that match the
60374	//    specified CIDR filter.
60375	//
60376	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
60377	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
60378	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
60379	//    then the result returns 10.0.1.0/29.
60380	//
60381	//    * state - The state of the attachment (available | deleted | deleting
60382	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
60383	//    | rejecting).
60384	//
60385	//    * transit-gateway-route-destination-cidr-block - The CIDR range.
60386	//
60387	//    * type - The type of roue (active | blackhole).
60388	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60389
60390	// The name of the S3 bucket.
60391	//
60392	// S3Bucket is a required field
60393	S3Bucket *string `type:"string" required:"true"`
60394
60395	// The ID of the route table.
60396	//
60397	// TransitGatewayRouteTableId is a required field
60398	TransitGatewayRouteTableId *string `type:"string" required:"true"`
60399}
60400
60401// String returns the string representation
60402func (s ExportTransitGatewayRoutesInput) String() string {
60403	return awsutil.Prettify(s)
60404}
60405
60406// GoString returns the string representation
60407func (s ExportTransitGatewayRoutesInput) GoString() string {
60408	return s.String()
60409}
60410
60411// Validate inspects the fields of the type to determine if they are valid.
60412func (s *ExportTransitGatewayRoutesInput) Validate() error {
60413	invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
60414	if s.S3Bucket == nil {
60415		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
60416	}
60417	if s.TransitGatewayRouteTableId == nil {
60418		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
60419	}
60420
60421	if invalidParams.Len() > 0 {
60422		return invalidParams
60423	}
60424	return nil
60425}
60426
60427// SetDryRun sets the DryRun field's value.
60428func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
60429	s.DryRun = &v
60430	return s
60431}
60432
60433// SetFilters sets the Filters field's value.
60434func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
60435	s.Filters = v
60436	return s
60437}
60438
60439// SetS3Bucket sets the S3Bucket field's value.
60440func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
60441	s.S3Bucket = &v
60442	return s
60443}
60444
60445// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
60446func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
60447	s.TransitGatewayRouteTableId = &v
60448	return s
60449}
60450
60451type ExportTransitGatewayRoutesOutput struct {
60452	_ struct{} `type:"structure"`
60453
60454	// The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
60455	S3Location *string `locationName:"s3Location" type:"string"`
60456}
60457
60458// String returns the string representation
60459func (s ExportTransitGatewayRoutesOutput) String() string {
60460	return awsutil.Prettify(s)
60461}
60462
60463// GoString returns the string representation
60464func (s ExportTransitGatewayRoutesOutput) GoString() string {
60465	return s.String()
60466}
60467
60468// SetS3Location sets the S3Location field's value.
60469func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
60470	s.S3Location = &v
60471	return s
60472}
60473
60474// A filter name and value pair that is used to return a more specific list
60475// of results from a describe operation. Filters can be used to match a set
60476// of resources by specific criteria, such as tags, attributes, or IDs. The
60477// filters supported by a describe operation are documented with the describe
60478// operation. For example:
60479//
60480//    * DescribeAvailabilityZones
60481//
60482//    * DescribeImages
60483//
60484//    * DescribeInstances
60485//
60486//    * DescribeKeyPairs
60487//
60488//    * DescribeSecurityGroups
60489//
60490//    * DescribeSnapshots
60491//
60492//    * DescribeSubnets
60493//
60494//    * DescribeTags
60495//
60496//    * DescribeVolumes
60497//
60498//    * DescribeVpcs
60499type Filter struct {
60500	_ struct{} `type:"structure"`
60501
60502	// The name of the filter. Filter names are case-sensitive.
60503	Name *string `type:"string"`
60504
60505	// The filter values. Filter values are case-sensitive.
60506	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
60507}
60508
60509// String returns the string representation
60510func (s Filter) String() string {
60511	return awsutil.Prettify(s)
60512}
60513
60514// GoString returns the string representation
60515func (s Filter) GoString() string {
60516	return s.String()
60517}
60518
60519// SetName sets the Name field's value.
60520func (s *Filter) SetName(v string) *Filter {
60521	s.Name = &v
60522	return s
60523}
60524
60525// SetValues sets the Values field's value.
60526func (s *Filter) SetValues(v []*string) *Filter {
60527	s.Values = v
60528	return s
60529}
60530
60531// Describes an EC2 Fleet.
60532type FleetData struct {
60533	_ struct{} `type:"structure"`
60534
60535	// The progress of the EC2 Fleet. If there is an error, the status is error.
60536	// After all requests are placed, the status is pending_fulfillment. If the
60537	// size of the EC2 Fleet is equal to or greater than its target capacity, the
60538	// status is fulfilled. If the size of the EC2 Fleet is decreased, the status
60539	// is pending_termination while instances are terminating.
60540	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
60541
60542	// Unique, case-sensitive identifier you provide to ensure the idempotency of
60543	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
60544	//
60545	// Constraints: Maximum 64 ASCII characters
60546	ClientToken *string `locationName:"clientToken" type:"string"`
60547
60548	// The creation date and time of the EC2 Fleet.
60549	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
60550
60551	// Information about the instances that could not be launched by the fleet.
60552	// Valid only when Type is set to instant.
60553	Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
60554
60555	// Indicates whether running instances should be terminated if the target capacity
60556	// of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
60557	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
60558
60559	// The ID of the EC2 Fleet.
60560	FleetId *string `locationName:"fleetId" type:"string"`
60561
60562	// The state of the EC2 Fleet.
60563	FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
60564
60565	// The number of units fulfilled by this request compared to the set target
60566	// capacity.
60567	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
60568
60569	// The number of units fulfilled by this request compared to the set target
60570	// On-Demand capacity.
60571	FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
60572
60573	// Information about the instances that were launched by the fleet. Valid only
60574	// when Type is set to instant.
60575	Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
60576
60577	// The launch template and overrides.
60578	LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
60579
60580	// The allocation strategy of On-Demand Instances in an EC2 Fleet.
60581	OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
60582
60583	// Indicates whether EC2 Fleet should replace unhealthy instances.
60584	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
60585
60586	// The configuration of Spot Instances in an EC2 Fleet.
60587	SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
60588
60589	// The tags for an EC2 Fleet resource.
60590	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
60591
60592	// The number of units to request. You can choose to set the target capacity
60593	// in terms of instances or a performance characteristic that is important to
60594	// your application workload, such as vCPUs, memory, or I/O. If the request
60595	// type is maintain, you can specify a target capacity of 0 and add capacity
60596	// later.
60597	TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
60598
60599	// Indicates whether running instances should be terminated when the EC2 Fleet
60600	// expires.
60601	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
60602
60603	// The type of request. Indicates whether the EC2 Fleet only requests the target
60604	// capacity, or also attempts to maintain it. If you request a certain target
60605	// capacity, EC2 Fleet only places the required requests; it does not attempt
60606	// to replenish instances if capacity is diminished, and does not submit requests
60607	// in alternative capacity pools if capacity is unavailable. To maintain a certain
60608	// target capacity, EC2 Fleet places the required requests to meet this target
60609	// capacity. It also automatically replenishes any interrupted Spot Instances.
60610	// Default: maintain.
60611	Type *string `locationName:"type" type:"string" enum:"FleetType"`
60612
60613	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
60614	// The default is to start fulfilling the request immediately.
60615	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
60616
60617	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
60618	// At this point, no new instance requests are placed or able to fulfill the
60619	// request. The default end date is 7 days from the current date.
60620	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
60621}
60622
60623// String returns the string representation
60624func (s FleetData) String() string {
60625	return awsutil.Prettify(s)
60626}
60627
60628// GoString returns the string representation
60629func (s FleetData) GoString() string {
60630	return s.String()
60631}
60632
60633// SetActivityStatus sets the ActivityStatus field's value.
60634func (s *FleetData) SetActivityStatus(v string) *FleetData {
60635	s.ActivityStatus = &v
60636	return s
60637}
60638
60639// SetClientToken sets the ClientToken field's value.
60640func (s *FleetData) SetClientToken(v string) *FleetData {
60641	s.ClientToken = &v
60642	return s
60643}
60644
60645// SetCreateTime sets the CreateTime field's value.
60646func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
60647	s.CreateTime = &v
60648	return s
60649}
60650
60651// SetErrors sets the Errors field's value.
60652func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
60653	s.Errors = v
60654	return s
60655}
60656
60657// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
60658func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
60659	s.ExcessCapacityTerminationPolicy = &v
60660	return s
60661}
60662
60663// SetFleetId sets the FleetId field's value.
60664func (s *FleetData) SetFleetId(v string) *FleetData {
60665	s.FleetId = &v
60666	return s
60667}
60668
60669// SetFleetState sets the FleetState field's value.
60670func (s *FleetData) SetFleetState(v string) *FleetData {
60671	s.FleetState = &v
60672	return s
60673}
60674
60675// SetFulfilledCapacity sets the FulfilledCapacity field's value.
60676func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
60677	s.FulfilledCapacity = &v
60678	return s
60679}
60680
60681// SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
60682func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
60683	s.FulfilledOnDemandCapacity = &v
60684	return s
60685}
60686
60687// SetInstances sets the Instances field's value.
60688func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
60689	s.Instances = v
60690	return s
60691}
60692
60693// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
60694func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
60695	s.LaunchTemplateConfigs = v
60696	return s
60697}
60698
60699// SetOnDemandOptions sets the OnDemandOptions field's value.
60700func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
60701	s.OnDemandOptions = v
60702	return s
60703}
60704
60705// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
60706func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
60707	s.ReplaceUnhealthyInstances = &v
60708	return s
60709}
60710
60711// SetSpotOptions sets the SpotOptions field's value.
60712func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
60713	s.SpotOptions = v
60714	return s
60715}
60716
60717// SetTags sets the Tags field's value.
60718func (s *FleetData) SetTags(v []*Tag) *FleetData {
60719	s.Tags = v
60720	return s
60721}
60722
60723// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
60724func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
60725	s.TargetCapacitySpecification = v
60726	return s
60727}
60728
60729// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
60730func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
60731	s.TerminateInstancesWithExpiration = &v
60732	return s
60733}
60734
60735// SetType sets the Type field's value.
60736func (s *FleetData) SetType(v string) *FleetData {
60737	s.Type = &v
60738	return s
60739}
60740
60741// SetValidFrom sets the ValidFrom field's value.
60742func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
60743	s.ValidFrom = &v
60744	return s
60745}
60746
60747// SetValidUntil sets the ValidUntil field's value.
60748func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
60749	s.ValidUntil = &v
60750	return s
60751}
60752
60753// Describes a launch template and overrides.
60754type FleetLaunchTemplateConfig struct {
60755	_ struct{} `type:"structure"`
60756
60757	// The launch template.
60758	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
60759
60760	// Any parameters that you specify override the same parameters in the launch
60761	// template.
60762	Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
60763}
60764
60765// String returns the string representation
60766func (s FleetLaunchTemplateConfig) String() string {
60767	return awsutil.Prettify(s)
60768}
60769
60770// GoString returns the string representation
60771func (s FleetLaunchTemplateConfig) GoString() string {
60772	return s.String()
60773}
60774
60775// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
60776func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
60777	s.LaunchTemplateSpecification = v
60778	return s
60779}
60780
60781// SetOverrides sets the Overrides field's value.
60782func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
60783	s.Overrides = v
60784	return s
60785}
60786
60787// Describes a launch template and overrides.
60788type FleetLaunchTemplateConfigRequest struct {
60789	_ struct{} `type:"structure"`
60790
60791	// The launch template to use. You must specify either the launch template ID
60792	// or launch template name in the request.
60793	LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
60794
60795	// Any parameters that you specify override the same parameters in the launch
60796	// template.
60797	Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
60798}
60799
60800// String returns the string representation
60801func (s FleetLaunchTemplateConfigRequest) String() string {
60802	return awsutil.Prettify(s)
60803}
60804
60805// GoString returns the string representation
60806func (s FleetLaunchTemplateConfigRequest) GoString() string {
60807	return s.String()
60808}
60809
60810// Validate inspects the fields of the type to determine if they are valid.
60811func (s *FleetLaunchTemplateConfigRequest) Validate() error {
60812	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
60813	if s.LaunchTemplateSpecification != nil {
60814		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
60815			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
60816		}
60817	}
60818
60819	if invalidParams.Len() > 0 {
60820		return invalidParams
60821	}
60822	return nil
60823}
60824
60825// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
60826func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
60827	s.LaunchTemplateSpecification = v
60828	return s
60829}
60830
60831// SetOverrides sets the Overrides field's value.
60832func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
60833	s.Overrides = v
60834	return s
60835}
60836
60837// Describes overrides for a launch template.
60838type FleetLaunchTemplateOverrides struct {
60839	_ struct{} `type:"structure"`
60840
60841	// The Availability Zone in which to launch the instances.
60842	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
60843
60844	// The instance type.
60845	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
60846
60847	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
60848	MaxPrice *string `locationName:"maxPrice" type:"string"`
60849
60850	// The location where the instance launched, if applicable.
60851	Placement *PlacementResponse `locationName:"placement" type:"structure"`
60852
60853	// The priority for the launch template override. If AllocationStrategy is set
60854	// to prioritized, EC2 Fleet uses priority to determine which launch template
60855	// override to use first in fulfilling On-Demand capacity. The highest priority
60856	// is launched first. Valid values are whole numbers starting at 0. The lower
60857	// the number, the higher the priority. If no number is set, the override has
60858	// the lowest priority.
60859	Priority *float64 `locationName:"priority" type:"double"`
60860
60861	// The ID of the subnet in which to launch the instances.
60862	SubnetId *string `locationName:"subnetId" type:"string"`
60863
60864	// The number of units provided by the specified instance type.
60865	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
60866}
60867
60868// String returns the string representation
60869func (s FleetLaunchTemplateOverrides) String() string {
60870	return awsutil.Prettify(s)
60871}
60872
60873// GoString returns the string representation
60874func (s FleetLaunchTemplateOverrides) GoString() string {
60875	return s.String()
60876}
60877
60878// SetAvailabilityZone sets the AvailabilityZone field's value.
60879func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
60880	s.AvailabilityZone = &v
60881	return s
60882}
60883
60884// SetInstanceType sets the InstanceType field's value.
60885func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
60886	s.InstanceType = &v
60887	return s
60888}
60889
60890// SetMaxPrice sets the MaxPrice field's value.
60891func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
60892	s.MaxPrice = &v
60893	return s
60894}
60895
60896// SetPlacement sets the Placement field's value.
60897func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
60898	s.Placement = v
60899	return s
60900}
60901
60902// SetPriority sets the Priority field's value.
60903func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
60904	s.Priority = &v
60905	return s
60906}
60907
60908// SetSubnetId sets the SubnetId field's value.
60909func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
60910	s.SubnetId = &v
60911	return s
60912}
60913
60914// SetWeightedCapacity sets the WeightedCapacity field's value.
60915func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
60916	s.WeightedCapacity = &v
60917	return s
60918}
60919
60920// Describes overrides for a launch template.
60921type FleetLaunchTemplateOverridesRequest struct {
60922	_ struct{} `type:"structure"`
60923
60924	// The Availability Zone in which to launch the instances.
60925	AvailabilityZone *string `type:"string"`
60926
60927	// The instance type.
60928	InstanceType *string `type:"string" enum:"InstanceType"`
60929
60930	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
60931	MaxPrice *string `type:"string"`
60932
60933	// The location where the instance launched, if applicable.
60934	Placement *Placement `type:"structure"`
60935
60936	// The priority for the launch template override. If AllocationStrategy is set
60937	// to prioritized, EC2 Fleet uses priority to determine which launch template
60938	// override to use first in fulfilling On-Demand capacity. The highest priority
60939	// is launched first. Valid values are whole numbers starting at 0. The lower
60940	// the number, the higher the priority. If no number is set, the launch template
60941	// override has the lowest priority.
60942	Priority *float64 `type:"double"`
60943
60944	// The ID of the subnet in which to launch the instances.
60945	SubnetId *string `type:"string"`
60946
60947	// The number of units provided by the specified instance type.
60948	WeightedCapacity *float64 `type:"double"`
60949}
60950
60951// String returns the string representation
60952func (s FleetLaunchTemplateOverridesRequest) String() string {
60953	return awsutil.Prettify(s)
60954}
60955
60956// GoString returns the string representation
60957func (s FleetLaunchTemplateOverridesRequest) GoString() string {
60958	return s.String()
60959}
60960
60961// SetAvailabilityZone sets the AvailabilityZone field's value.
60962func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
60963	s.AvailabilityZone = &v
60964	return s
60965}
60966
60967// SetInstanceType sets the InstanceType field's value.
60968func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
60969	s.InstanceType = &v
60970	return s
60971}
60972
60973// SetMaxPrice sets the MaxPrice field's value.
60974func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
60975	s.MaxPrice = &v
60976	return s
60977}
60978
60979// SetPlacement sets the Placement field's value.
60980func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
60981	s.Placement = v
60982	return s
60983}
60984
60985// SetPriority sets the Priority field's value.
60986func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
60987	s.Priority = &v
60988	return s
60989}
60990
60991// SetSubnetId sets the SubnetId field's value.
60992func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
60993	s.SubnetId = &v
60994	return s
60995}
60996
60997// SetWeightedCapacity sets the WeightedCapacity field's value.
60998func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
60999	s.WeightedCapacity = &v
61000	return s
61001}
61002
61003// Describes a launch template.
61004type FleetLaunchTemplateSpecification struct {
61005	_ struct{} `type:"structure"`
61006
61007	// The ID of the launch template. You must specify either a template ID or a
61008	// template name.
61009	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
61010
61011	// The name of the launch template. You must specify either a template name
61012	// or a template ID.
61013	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
61014
61015	// The version number of the launch template. You must specify a version number.
61016	Version *string `locationName:"version" type:"string"`
61017}
61018
61019// String returns the string representation
61020func (s FleetLaunchTemplateSpecification) String() string {
61021	return awsutil.Prettify(s)
61022}
61023
61024// GoString returns the string representation
61025func (s FleetLaunchTemplateSpecification) GoString() string {
61026	return s.String()
61027}
61028
61029// Validate inspects the fields of the type to determine if they are valid.
61030func (s *FleetLaunchTemplateSpecification) Validate() error {
61031	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
61032	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
61033		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
61034	}
61035
61036	if invalidParams.Len() > 0 {
61037		return invalidParams
61038	}
61039	return nil
61040}
61041
61042// SetLaunchTemplateId sets the LaunchTemplateId field's value.
61043func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
61044	s.LaunchTemplateId = &v
61045	return s
61046}
61047
61048// SetLaunchTemplateName sets the LaunchTemplateName field's value.
61049func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
61050	s.LaunchTemplateName = &v
61051	return s
61052}
61053
61054// SetVersion sets the Version field's value.
61055func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
61056	s.Version = &v
61057	return s
61058}
61059
61060// The launch template to use. You must specify either the launch template ID
61061// or launch template name in the request.
61062type FleetLaunchTemplateSpecificationRequest struct {
61063	_ struct{} `type:"structure"`
61064
61065	// The ID of the launch template.
61066	LaunchTemplateId *string `type:"string"`
61067
61068	// The name of the launch template.
61069	LaunchTemplateName *string `min:"3" type:"string"`
61070
61071	// The version number of the launch template.
61072	Version *string `type:"string"`
61073}
61074
61075// String returns the string representation
61076func (s FleetLaunchTemplateSpecificationRequest) String() string {
61077	return awsutil.Prettify(s)
61078}
61079
61080// GoString returns the string representation
61081func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
61082	return s.String()
61083}
61084
61085// Validate inspects the fields of the type to determine if they are valid.
61086func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
61087	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
61088	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
61089		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
61090	}
61091
61092	if invalidParams.Len() > 0 {
61093		return invalidParams
61094	}
61095	return nil
61096}
61097
61098// SetLaunchTemplateId sets the LaunchTemplateId field's value.
61099func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
61100	s.LaunchTemplateId = &v
61101	return s
61102}
61103
61104// SetLaunchTemplateName sets the LaunchTemplateName field's value.
61105func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
61106	s.LaunchTemplateName = &v
61107	return s
61108}
61109
61110// SetVersion sets the Version field's value.
61111func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
61112	s.Version = &v
61113	return s
61114}
61115
61116// Describes a flow log.
61117type FlowLog struct {
61118	_ struct{} `type:"structure"`
61119
61120	// The date and time the flow log was created.
61121	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
61122
61123	// Information about the error that occurred. Rate limited indicates that CloudWatch
61124	// Logs throttling has been applied for one or more network interfaces, or that
61125	// you've reached the limit on the number of log groups that you can create.
61126	// Access error indicates that the IAM role associated with the flow log does
61127	// not have sufficient permissions to publish to CloudWatch Logs. Unknown error
61128	// indicates an internal error.
61129	DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
61130
61131	// The ARN of the IAM role that posts logs to CloudWatch Logs.
61132	DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
61133
61134	// The status of the logs delivery (SUCCESS | FAILED).
61135	DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
61136
61137	// The flow log ID.
61138	FlowLogId *string `locationName:"flowLogId" type:"string"`
61139
61140	// The status of the flow log (ACTIVE).
61141	FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
61142
61143	// Specifies the destination to which the flow log data is published. Flow log
61144	// data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
61145	// If the flow log publishes to CloudWatch Logs, this element indicates the
61146	// Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
61147	// data is published. If the flow log publishes to Amazon S3, this element indicates
61148	// the ARN of the Amazon S3 bucket to which the data is published.
61149	LogDestination *string `locationName:"logDestination" type:"string"`
61150
61151	// Specifies the type of destination to which the flow log data is published.
61152	// Flow log data can be published to CloudWatch Logs or Amazon S3.
61153	LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
61154
61155	// The name of the flow log group.
61156	LogGroupName *string `locationName:"logGroupName" type:"string"`
61157
61158	// The ID of the resource on which the flow log was created.
61159	ResourceId *string `locationName:"resourceId" type:"string"`
61160
61161	// The type of traffic captured for the flow log.
61162	TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
61163}
61164
61165// String returns the string representation
61166func (s FlowLog) String() string {
61167	return awsutil.Prettify(s)
61168}
61169
61170// GoString returns the string representation
61171func (s FlowLog) GoString() string {
61172	return s.String()
61173}
61174
61175// SetCreationTime sets the CreationTime field's value.
61176func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
61177	s.CreationTime = &v
61178	return s
61179}
61180
61181// SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
61182func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
61183	s.DeliverLogsErrorMessage = &v
61184	return s
61185}
61186
61187// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
61188func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
61189	s.DeliverLogsPermissionArn = &v
61190	return s
61191}
61192
61193// SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
61194func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
61195	s.DeliverLogsStatus = &v
61196	return s
61197}
61198
61199// SetFlowLogId sets the FlowLogId field's value.
61200func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
61201	s.FlowLogId = &v
61202	return s
61203}
61204
61205// SetFlowLogStatus sets the FlowLogStatus field's value.
61206func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
61207	s.FlowLogStatus = &v
61208	return s
61209}
61210
61211// SetLogDestination sets the LogDestination field's value.
61212func (s *FlowLog) SetLogDestination(v string) *FlowLog {
61213	s.LogDestination = &v
61214	return s
61215}
61216
61217// SetLogDestinationType sets the LogDestinationType field's value.
61218func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
61219	s.LogDestinationType = &v
61220	return s
61221}
61222
61223// SetLogGroupName sets the LogGroupName field's value.
61224func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
61225	s.LogGroupName = &v
61226	return s
61227}
61228
61229// SetResourceId sets the ResourceId field's value.
61230func (s *FlowLog) SetResourceId(v string) *FlowLog {
61231	s.ResourceId = &v
61232	return s
61233}
61234
61235// SetTrafficType sets the TrafficType field's value.
61236func (s *FlowLog) SetTrafficType(v string) *FlowLog {
61237	s.TrafficType = &v
61238	return s
61239}
61240
61241// Describes an Amazon FPGA image (AFI).
61242type FpgaImage struct {
61243	_ struct{} `type:"structure"`
61244
61245	// The date and time the AFI was created.
61246	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
61247
61248	// Indicates whether data retention support is enabled for the AFI.
61249	DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
61250
61251	// The description of the AFI.
61252	Description *string `locationName:"description" type:"string"`
61253
61254	// The global FPGA image identifier (AGFI ID).
61255	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
61256
61257	// The FPGA image identifier (AFI ID).
61258	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
61259
61260	// The name of the AFI.
61261	Name *string `locationName:"name" type:"string"`
61262
61263	// The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
61264	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
61265
61266	// The AWS account ID of the AFI owner.
61267	OwnerId *string `locationName:"ownerId" type:"string"`
61268
61269	// Information about the PCI bus.
61270	PciId *PciId `locationName:"pciId" type:"structure"`
61271
61272	// The product codes for the AFI.
61273	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
61274
61275	// Indicates whether the AFI is public.
61276	Public *bool `locationName:"public" type:"boolean"`
61277
61278	// The version of the AWS Shell that was used to create the bitstream.
61279	ShellVersion *string `locationName:"shellVersion" type:"string"`
61280
61281	// Information about the state of the AFI.
61282	State *FpgaImageState `locationName:"state" type:"structure"`
61283
61284	// Any tags assigned to the AFI.
61285	Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
61286
61287	// The time of the most recent update to the AFI.
61288	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
61289}
61290
61291// String returns the string representation
61292func (s FpgaImage) String() string {
61293	return awsutil.Prettify(s)
61294}
61295
61296// GoString returns the string representation
61297func (s FpgaImage) GoString() string {
61298	return s.String()
61299}
61300
61301// SetCreateTime sets the CreateTime field's value.
61302func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
61303	s.CreateTime = &v
61304	return s
61305}
61306
61307// SetDataRetentionSupport sets the DataRetentionSupport field's value.
61308func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
61309	s.DataRetentionSupport = &v
61310	return s
61311}
61312
61313// SetDescription sets the Description field's value.
61314func (s *FpgaImage) SetDescription(v string) *FpgaImage {
61315	s.Description = &v
61316	return s
61317}
61318
61319// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
61320func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
61321	s.FpgaImageGlobalId = &v
61322	return s
61323}
61324
61325// SetFpgaImageId sets the FpgaImageId field's value.
61326func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
61327	s.FpgaImageId = &v
61328	return s
61329}
61330
61331// SetName sets the Name field's value.
61332func (s *FpgaImage) SetName(v string) *FpgaImage {
61333	s.Name = &v
61334	return s
61335}
61336
61337// SetOwnerAlias sets the OwnerAlias field's value.
61338func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
61339	s.OwnerAlias = &v
61340	return s
61341}
61342
61343// SetOwnerId sets the OwnerId field's value.
61344func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
61345	s.OwnerId = &v
61346	return s
61347}
61348
61349// SetPciId sets the PciId field's value.
61350func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
61351	s.PciId = v
61352	return s
61353}
61354
61355// SetProductCodes sets the ProductCodes field's value.
61356func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
61357	s.ProductCodes = v
61358	return s
61359}
61360
61361// SetPublic sets the Public field's value.
61362func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
61363	s.Public = &v
61364	return s
61365}
61366
61367// SetShellVersion sets the ShellVersion field's value.
61368func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
61369	s.ShellVersion = &v
61370	return s
61371}
61372
61373// SetState sets the State field's value.
61374func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
61375	s.State = v
61376	return s
61377}
61378
61379// SetTags sets the Tags field's value.
61380func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
61381	s.Tags = v
61382	return s
61383}
61384
61385// SetUpdateTime sets the UpdateTime field's value.
61386func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
61387	s.UpdateTime = &v
61388	return s
61389}
61390
61391// Describes an Amazon FPGA image (AFI) attribute.
61392type FpgaImageAttribute struct {
61393	_ struct{} `type:"structure"`
61394
61395	// The description of the AFI.
61396	Description *string `locationName:"description" type:"string"`
61397
61398	// The ID of the AFI.
61399	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
61400
61401	// The load permissions.
61402	LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
61403
61404	// The name of the AFI.
61405	Name *string `locationName:"name" type:"string"`
61406
61407	// The product codes.
61408	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
61409}
61410
61411// String returns the string representation
61412func (s FpgaImageAttribute) String() string {
61413	return awsutil.Prettify(s)
61414}
61415
61416// GoString returns the string representation
61417func (s FpgaImageAttribute) GoString() string {
61418	return s.String()
61419}
61420
61421// SetDescription sets the Description field's value.
61422func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
61423	s.Description = &v
61424	return s
61425}
61426
61427// SetFpgaImageId sets the FpgaImageId field's value.
61428func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
61429	s.FpgaImageId = &v
61430	return s
61431}
61432
61433// SetLoadPermissions sets the LoadPermissions field's value.
61434func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
61435	s.LoadPermissions = v
61436	return s
61437}
61438
61439// SetName sets the Name field's value.
61440func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
61441	s.Name = &v
61442	return s
61443}
61444
61445// SetProductCodes sets the ProductCodes field's value.
61446func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
61447	s.ProductCodes = v
61448	return s
61449}
61450
61451// Describes the state of the bitstream generation process for an Amazon FPGA
61452// image (AFI).
61453type FpgaImageState struct {
61454	_ struct{} `type:"structure"`
61455
61456	// The state. The following are the possible values:
61457	//
61458	//    * pending - AFI bitstream generation is in progress.
61459	//
61460	//    * available - The AFI is available for use.
61461	//
61462	//    * failed - AFI bitstream generation failed.
61463	//
61464	//    * unavailable - The AFI is no longer available for use.
61465	Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
61466
61467	// If the state is failed, this is the error message.
61468	Message *string `locationName:"message" type:"string"`
61469}
61470
61471// String returns the string representation
61472func (s FpgaImageState) String() string {
61473	return awsutil.Prettify(s)
61474}
61475
61476// GoString returns the string representation
61477func (s FpgaImageState) GoString() string {
61478	return s.String()
61479}
61480
61481// SetCode sets the Code field's value.
61482func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
61483	s.Code = &v
61484	return s
61485}
61486
61487// SetMessage sets the Message field's value.
61488func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
61489	s.Message = &v
61490	return s
61491}
61492
61493type GetConsoleOutputInput struct {
61494	_ struct{} `type:"structure"`
61495
61496	// Checks whether you have the required permissions for the action, without
61497	// actually making the request, and provides an error response. If you have
61498	// the required permissions, the error response is DryRunOperation. Otherwise,
61499	// it is UnauthorizedOperation.
61500	DryRun *bool `locationName:"dryRun" type:"boolean"`
61501
61502	// The ID of the instance.
61503	//
61504	// InstanceId is a required field
61505	InstanceId *string `type:"string" required:"true"`
61506
61507	// When enabled, retrieves the latest console output for the instance.
61508	//
61509	// Default: disabled (false)
61510	Latest *bool `type:"boolean"`
61511}
61512
61513// String returns the string representation
61514func (s GetConsoleOutputInput) String() string {
61515	return awsutil.Prettify(s)
61516}
61517
61518// GoString returns the string representation
61519func (s GetConsoleOutputInput) GoString() string {
61520	return s.String()
61521}
61522
61523// Validate inspects the fields of the type to determine if they are valid.
61524func (s *GetConsoleOutputInput) Validate() error {
61525	invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
61526	if s.InstanceId == nil {
61527		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
61528	}
61529
61530	if invalidParams.Len() > 0 {
61531		return invalidParams
61532	}
61533	return nil
61534}
61535
61536// SetDryRun sets the DryRun field's value.
61537func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
61538	s.DryRun = &v
61539	return s
61540}
61541
61542// SetInstanceId sets the InstanceId field's value.
61543func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
61544	s.InstanceId = &v
61545	return s
61546}
61547
61548// SetLatest sets the Latest field's value.
61549func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
61550	s.Latest = &v
61551	return s
61552}
61553
61554type GetConsoleOutputOutput struct {
61555	_ struct{} `type:"structure"`
61556
61557	// The ID of the instance.
61558	InstanceId *string `locationName:"instanceId" type:"string"`
61559
61560	// The console output, base64-encoded. If you are using a command line tool,
61561	// the tool decodes the output for you.
61562	Output *string `locationName:"output" type:"string"`
61563
61564	// The time at which the output was last updated.
61565	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
61566}
61567
61568// String returns the string representation
61569func (s GetConsoleOutputOutput) String() string {
61570	return awsutil.Prettify(s)
61571}
61572
61573// GoString returns the string representation
61574func (s GetConsoleOutputOutput) GoString() string {
61575	return s.String()
61576}
61577
61578// SetInstanceId sets the InstanceId field's value.
61579func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
61580	s.InstanceId = &v
61581	return s
61582}
61583
61584// SetOutput sets the Output field's value.
61585func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
61586	s.Output = &v
61587	return s
61588}
61589
61590// SetTimestamp sets the Timestamp field's value.
61591func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
61592	s.Timestamp = &v
61593	return s
61594}
61595
61596type GetConsoleScreenshotInput struct {
61597	_ struct{} `type:"structure"`
61598
61599	// Checks whether you have the required permissions for the action, without
61600	// actually making the request, and provides an error response. If you have
61601	// the required permissions, the error response is DryRunOperation. Otherwise,
61602	// it is UnauthorizedOperation.
61603	DryRun *bool `type:"boolean"`
61604
61605	// The ID of the instance.
61606	//
61607	// InstanceId is a required field
61608	InstanceId *string `type:"string" required:"true"`
61609
61610	// When set to true, acts as keystroke input and wakes up an instance that's
61611	// in standby or "sleep" mode.
61612	WakeUp *bool `type:"boolean"`
61613}
61614
61615// String returns the string representation
61616func (s GetConsoleScreenshotInput) String() string {
61617	return awsutil.Prettify(s)
61618}
61619
61620// GoString returns the string representation
61621func (s GetConsoleScreenshotInput) GoString() string {
61622	return s.String()
61623}
61624
61625// Validate inspects the fields of the type to determine if they are valid.
61626func (s *GetConsoleScreenshotInput) Validate() error {
61627	invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
61628	if s.InstanceId == nil {
61629		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
61630	}
61631
61632	if invalidParams.Len() > 0 {
61633		return invalidParams
61634	}
61635	return nil
61636}
61637
61638// SetDryRun sets the DryRun field's value.
61639func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
61640	s.DryRun = &v
61641	return s
61642}
61643
61644// SetInstanceId sets the InstanceId field's value.
61645func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
61646	s.InstanceId = &v
61647	return s
61648}
61649
61650// SetWakeUp sets the WakeUp field's value.
61651func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
61652	s.WakeUp = &v
61653	return s
61654}
61655
61656type GetConsoleScreenshotOutput struct {
61657	_ struct{} `type:"structure"`
61658
61659	// The data that comprises the image.
61660	ImageData *string `locationName:"imageData" type:"string"`
61661
61662	// The ID of the instance.
61663	InstanceId *string `locationName:"instanceId" type:"string"`
61664}
61665
61666// String returns the string representation
61667func (s GetConsoleScreenshotOutput) String() string {
61668	return awsutil.Prettify(s)
61669}
61670
61671// GoString returns the string representation
61672func (s GetConsoleScreenshotOutput) GoString() string {
61673	return s.String()
61674}
61675
61676// SetImageData sets the ImageData field's value.
61677func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
61678	s.ImageData = &v
61679	return s
61680}
61681
61682// SetInstanceId sets the InstanceId field's value.
61683func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
61684	s.InstanceId = &v
61685	return s
61686}
61687
61688type GetEbsDefaultKmsKeyIdInput struct {
61689	_ struct{} `type:"structure"`
61690
61691	// Checks whether you have the required permissions for the action, without
61692	// actually making the request, and provides an error response. If you have
61693	// the required permissions, the error response is DryRunOperation. Otherwise,
61694	// it is UnauthorizedOperation.
61695	DryRun *bool `type:"boolean"`
61696}
61697
61698// String returns the string representation
61699func (s GetEbsDefaultKmsKeyIdInput) String() string {
61700	return awsutil.Prettify(s)
61701}
61702
61703// GoString returns the string representation
61704func (s GetEbsDefaultKmsKeyIdInput) GoString() string {
61705	return s.String()
61706}
61707
61708// SetDryRun sets the DryRun field's value.
61709func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput {
61710	s.DryRun = &v
61711	return s
61712}
61713
61714type GetEbsDefaultKmsKeyIdOutput struct {
61715	_ struct{} `type:"structure"`
61716
61717	// The full ARN of the default CMK that your account uses to encrypt an EBS
61718	// volume when no CMK is specified in the API call that creates the volume.
61719	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
61720}
61721
61722// String returns the string representation
61723func (s GetEbsDefaultKmsKeyIdOutput) String() string {
61724	return awsutil.Prettify(s)
61725}
61726
61727// GoString returns the string representation
61728func (s GetEbsDefaultKmsKeyIdOutput) GoString() string {
61729	return s.String()
61730}
61731
61732// SetKmsKeyId sets the KmsKeyId field's value.
61733func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput {
61734	s.KmsKeyId = &v
61735	return s
61736}
61737
61738type GetEbsEncryptionByDefaultInput struct {
61739	_ struct{} `type:"structure"`
61740
61741	// Checks whether you have the required permissions for the action, without
61742	// actually making the request, and provides an error response. If you have
61743	// the required permissions, the error response is DryRunOperation. Otherwise,
61744	// it is UnauthorizedOperation.
61745	DryRun *bool `type:"boolean"`
61746}
61747
61748// String returns the string representation
61749func (s GetEbsEncryptionByDefaultInput) String() string {
61750	return awsutil.Prettify(s)
61751}
61752
61753// GoString returns the string representation
61754func (s GetEbsEncryptionByDefaultInput) GoString() string {
61755	return s.String()
61756}
61757
61758// SetDryRun sets the DryRun field's value.
61759func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput {
61760	s.DryRun = &v
61761	return s
61762}
61763
61764type GetEbsEncryptionByDefaultOutput struct {
61765	_ struct{} `type:"structure"`
61766
61767	// Indicates whether default encryption for EBS volumes is enabled or disabled.
61768	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
61769}
61770
61771// String returns the string representation
61772func (s GetEbsEncryptionByDefaultOutput) String() string {
61773	return awsutil.Prettify(s)
61774}
61775
61776// GoString returns the string representation
61777func (s GetEbsEncryptionByDefaultOutput) GoString() string {
61778	return s.String()
61779}
61780
61781// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
61782func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput {
61783	s.EbsEncryptionByDefault = &v
61784	return s
61785}
61786
61787type GetHostReservationPurchasePreviewInput struct {
61788	_ struct{} `type:"structure"`
61789
61790	// The IDs of the Dedicated Hosts with which the reservation is associated.
61791	//
61792	// HostIdSet is a required field
61793	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
61794
61795	// The offering ID of the reservation.
61796	//
61797	// OfferingId is a required field
61798	OfferingId *string `type:"string" required:"true"`
61799}
61800
61801// String returns the string representation
61802func (s GetHostReservationPurchasePreviewInput) String() string {
61803	return awsutil.Prettify(s)
61804}
61805
61806// GoString returns the string representation
61807func (s GetHostReservationPurchasePreviewInput) GoString() string {
61808	return s.String()
61809}
61810
61811// Validate inspects the fields of the type to determine if they are valid.
61812func (s *GetHostReservationPurchasePreviewInput) Validate() error {
61813	invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
61814	if s.HostIdSet == nil {
61815		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
61816	}
61817	if s.OfferingId == nil {
61818		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
61819	}
61820
61821	if invalidParams.Len() > 0 {
61822		return invalidParams
61823	}
61824	return nil
61825}
61826
61827// SetHostIdSet sets the HostIdSet field's value.
61828func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
61829	s.HostIdSet = v
61830	return s
61831}
61832
61833// SetOfferingId sets the OfferingId field's value.
61834func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
61835	s.OfferingId = &v
61836	return s
61837}
61838
61839type GetHostReservationPurchasePreviewOutput struct {
61840	_ struct{} `type:"structure"`
61841
61842	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
61843	// are specified. At this time, the only supported currency is USD.
61844	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
61845
61846	// The purchase information of the Dedicated Host reservation and the Dedicated
61847	// Hosts associated with it.
61848	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
61849
61850	// The potential total hourly price of the reservation per hour.
61851	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
61852
61853	// The potential total upfront price. This is billed immediately.
61854	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
61855}
61856
61857// String returns the string representation
61858func (s GetHostReservationPurchasePreviewOutput) String() string {
61859	return awsutil.Prettify(s)
61860}
61861
61862// GoString returns the string representation
61863func (s GetHostReservationPurchasePreviewOutput) GoString() string {
61864	return s.String()
61865}
61866
61867// SetCurrencyCode sets the CurrencyCode field's value.
61868func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
61869	s.CurrencyCode = &v
61870	return s
61871}
61872
61873// SetPurchase sets the Purchase field's value.
61874func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
61875	s.Purchase = v
61876	return s
61877}
61878
61879// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
61880func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
61881	s.TotalHourlyPrice = &v
61882	return s
61883}
61884
61885// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
61886func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
61887	s.TotalUpfrontPrice = &v
61888	return s
61889}
61890
61891type GetLaunchTemplateDataInput struct {
61892	_ struct{} `type:"structure"`
61893
61894	// Checks whether you have the required permissions for the action, without
61895	// actually making the request, and provides an error response. If you have
61896	// the required permissions, the error response is DryRunOperation. Otherwise,
61897	// it is UnauthorizedOperation.
61898	DryRun *bool `type:"boolean"`
61899
61900	// The ID of the instance.
61901	//
61902	// InstanceId is a required field
61903	InstanceId *string `type:"string" required:"true"`
61904}
61905
61906// String returns the string representation
61907func (s GetLaunchTemplateDataInput) String() string {
61908	return awsutil.Prettify(s)
61909}
61910
61911// GoString returns the string representation
61912func (s GetLaunchTemplateDataInput) GoString() string {
61913	return s.String()
61914}
61915
61916// Validate inspects the fields of the type to determine if they are valid.
61917func (s *GetLaunchTemplateDataInput) Validate() error {
61918	invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
61919	if s.InstanceId == nil {
61920		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
61921	}
61922
61923	if invalidParams.Len() > 0 {
61924		return invalidParams
61925	}
61926	return nil
61927}
61928
61929// SetDryRun sets the DryRun field's value.
61930func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
61931	s.DryRun = &v
61932	return s
61933}
61934
61935// SetInstanceId sets the InstanceId field's value.
61936func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
61937	s.InstanceId = &v
61938	return s
61939}
61940
61941type GetLaunchTemplateDataOutput struct {
61942	_ struct{} `type:"structure"`
61943
61944	// The instance data.
61945	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
61946}
61947
61948// String returns the string representation
61949func (s GetLaunchTemplateDataOutput) String() string {
61950	return awsutil.Prettify(s)
61951}
61952
61953// GoString returns the string representation
61954func (s GetLaunchTemplateDataOutput) GoString() string {
61955	return s.String()
61956}
61957
61958// SetLaunchTemplateData sets the LaunchTemplateData field's value.
61959func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
61960	s.LaunchTemplateData = v
61961	return s
61962}
61963
61964type GetPasswordDataInput struct {
61965	_ struct{} `type:"structure"`
61966
61967	// Checks whether you have the required permissions for the action, without
61968	// actually making the request, and provides an error response. If you have
61969	// the required permissions, the error response is DryRunOperation. Otherwise,
61970	// it is UnauthorizedOperation.
61971	DryRun *bool `locationName:"dryRun" type:"boolean"`
61972
61973	// The ID of the Windows instance.
61974	//
61975	// InstanceId is a required field
61976	InstanceId *string `type:"string" required:"true"`
61977}
61978
61979// String returns the string representation
61980func (s GetPasswordDataInput) String() string {
61981	return awsutil.Prettify(s)
61982}
61983
61984// GoString returns the string representation
61985func (s GetPasswordDataInput) GoString() string {
61986	return s.String()
61987}
61988
61989// Validate inspects the fields of the type to determine if they are valid.
61990func (s *GetPasswordDataInput) Validate() error {
61991	invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
61992	if s.InstanceId == nil {
61993		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
61994	}
61995
61996	if invalidParams.Len() > 0 {
61997		return invalidParams
61998	}
61999	return nil
62000}
62001
62002// SetDryRun sets the DryRun field's value.
62003func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
62004	s.DryRun = &v
62005	return s
62006}
62007
62008// SetInstanceId sets the InstanceId field's value.
62009func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
62010	s.InstanceId = &v
62011	return s
62012}
62013
62014type GetPasswordDataOutput struct {
62015	_ struct{} `type:"structure"`
62016
62017	// The ID of the Windows instance.
62018	InstanceId *string `locationName:"instanceId" type:"string"`
62019
62020	// The password of the instance. Returns an empty string if the password is
62021	// not available.
62022	PasswordData *string `locationName:"passwordData" type:"string"`
62023
62024	// The time the data was last updated.
62025	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
62026}
62027
62028// String returns the string representation
62029func (s GetPasswordDataOutput) String() string {
62030	return awsutil.Prettify(s)
62031}
62032
62033// GoString returns the string representation
62034func (s GetPasswordDataOutput) GoString() string {
62035	return s.String()
62036}
62037
62038// SetInstanceId sets the InstanceId field's value.
62039func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
62040	s.InstanceId = &v
62041	return s
62042}
62043
62044// SetPasswordData sets the PasswordData field's value.
62045func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
62046	s.PasswordData = &v
62047	return s
62048}
62049
62050// SetTimestamp sets the Timestamp field's value.
62051func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
62052	s.Timestamp = &v
62053	return s
62054}
62055
62056// Contains the parameters for GetReservedInstanceExchangeQuote.
62057type GetReservedInstancesExchangeQuoteInput struct {
62058	_ struct{} `type:"structure"`
62059
62060	// Checks whether you have the required permissions for the action, without
62061	// actually making the request, and provides an error response. If you have
62062	// the required permissions, the error response is DryRunOperation. Otherwise,
62063	// it is UnauthorizedOperation.
62064	DryRun *bool `type:"boolean"`
62065
62066	// The IDs of the Convertible Reserved Instances to exchange.
62067	//
62068	// ReservedInstanceIds is a required field
62069	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
62070
62071	// The configuration of the target Convertible Reserved Instance to exchange
62072	// for your current Convertible Reserved Instances.
62073	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
62074}
62075
62076// String returns the string representation
62077func (s GetReservedInstancesExchangeQuoteInput) String() string {
62078	return awsutil.Prettify(s)
62079}
62080
62081// GoString returns the string representation
62082func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
62083	return s.String()
62084}
62085
62086// Validate inspects the fields of the type to determine if they are valid.
62087func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
62088	invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
62089	if s.ReservedInstanceIds == nil {
62090		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
62091	}
62092	if s.TargetConfigurations != nil {
62093		for i, v := range s.TargetConfigurations {
62094			if v == nil {
62095				continue
62096			}
62097			if err := v.Validate(); err != nil {
62098				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
62099			}
62100		}
62101	}
62102
62103	if invalidParams.Len() > 0 {
62104		return invalidParams
62105	}
62106	return nil
62107}
62108
62109// SetDryRun sets the DryRun field's value.
62110func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
62111	s.DryRun = &v
62112	return s
62113}
62114
62115// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
62116func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
62117	s.ReservedInstanceIds = v
62118	return s
62119}
62120
62121// SetTargetConfigurations sets the TargetConfigurations field's value.
62122func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
62123	s.TargetConfigurations = v
62124	return s
62125}
62126
62127// Contains the output of GetReservedInstancesExchangeQuote.
62128type GetReservedInstancesExchangeQuoteOutput struct {
62129	_ struct{} `type:"structure"`
62130
62131	// The currency of the transaction.
62132	CurrencyCode *string `locationName:"currencyCode" type:"string"`
62133
62134	// If true, the exchange is valid. If false, the exchange cannot be completed.
62135	IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
62136
62137	// The new end date of the reservation term.
62138	OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
62139
62140	// The total true upfront charge for the exchange.
62141	PaymentDue *string `locationName:"paymentDue" type:"string"`
62142
62143	// The cost associated with the Reserved Instance.
62144	ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
62145
62146	// The configuration of your Convertible Reserved Instances.
62147	ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
62148
62149	// The cost associated with the Reserved Instance.
62150	TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
62151
62152	// The values of the target Convertible Reserved Instances.
62153	TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
62154
62155	// Describes the reason why the exchange cannot be completed.
62156	ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
62157}
62158
62159// String returns the string representation
62160func (s GetReservedInstancesExchangeQuoteOutput) String() string {
62161	return awsutil.Prettify(s)
62162}
62163
62164// GoString returns the string representation
62165func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
62166	return s.String()
62167}
62168
62169// SetCurrencyCode sets the CurrencyCode field's value.
62170func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
62171	s.CurrencyCode = &v
62172	return s
62173}
62174
62175// SetIsValidExchange sets the IsValidExchange field's value.
62176func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
62177	s.IsValidExchange = &v
62178	return s
62179}
62180
62181// SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
62182func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
62183	s.OutputReservedInstancesWillExpireAt = &v
62184	return s
62185}
62186
62187// SetPaymentDue sets the PaymentDue field's value.
62188func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
62189	s.PaymentDue = &v
62190	return s
62191}
62192
62193// SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
62194func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
62195	s.ReservedInstanceValueRollup = v
62196	return s
62197}
62198
62199// SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
62200func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
62201	s.ReservedInstanceValueSet = v
62202	return s
62203}
62204
62205// SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
62206func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
62207	s.TargetConfigurationValueRollup = v
62208	return s
62209}
62210
62211// SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
62212func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
62213	s.TargetConfigurationValueSet = v
62214	return s
62215}
62216
62217// SetValidationFailureReason sets the ValidationFailureReason field's value.
62218func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
62219	s.ValidationFailureReason = &v
62220	return s
62221}
62222
62223type GetTransitGatewayAttachmentPropagationsInput struct {
62224	_ struct{} `type:"structure"`
62225
62226	// Checks whether you have the required permissions for the action, without
62227	// actually making the request, and provides an error response. If you have
62228	// the required permissions, the error response is DryRunOperation. Otherwise,
62229	// it is UnauthorizedOperation.
62230	DryRun *bool `type:"boolean"`
62231
62232	// One or more filters. The possible values are:
62233	//
62234	//    * transit-gateway-route-table-id - The ID of the transit gateway route
62235	//    table.
62236	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62237
62238	// The maximum number of results to return with a single call. To retrieve the
62239	// remaining results, make another call with the returned nextToken value.
62240	MaxResults *int64 `min:"5" type:"integer"`
62241
62242	// The token for the next page of results.
62243	NextToken *string `type:"string"`
62244
62245	// The ID of the attachment.
62246	//
62247	// TransitGatewayAttachmentId is a required field
62248	TransitGatewayAttachmentId *string `type:"string" required:"true"`
62249}
62250
62251// String returns the string representation
62252func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
62253	return awsutil.Prettify(s)
62254}
62255
62256// GoString returns the string representation
62257func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
62258	return s.String()
62259}
62260
62261// Validate inspects the fields of the type to determine if they are valid.
62262func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
62263	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
62264	if s.MaxResults != nil && *s.MaxResults < 5 {
62265		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62266	}
62267	if s.TransitGatewayAttachmentId == nil {
62268		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
62269	}
62270
62271	if invalidParams.Len() > 0 {
62272		return invalidParams
62273	}
62274	return nil
62275}
62276
62277// SetDryRun sets the DryRun field's value.
62278func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
62279	s.DryRun = &v
62280	return s
62281}
62282
62283// SetFilters sets the Filters field's value.
62284func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
62285	s.Filters = v
62286	return s
62287}
62288
62289// SetMaxResults sets the MaxResults field's value.
62290func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
62291	s.MaxResults = &v
62292	return s
62293}
62294
62295// SetNextToken sets the NextToken field's value.
62296func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
62297	s.NextToken = &v
62298	return s
62299}
62300
62301// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
62302func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
62303	s.TransitGatewayAttachmentId = &v
62304	return s
62305}
62306
62307type GetTransitGatewayAttachmentPropagationsOutput struct {
62308	_ struct{} `type:"structure"`
62309
62310	// The token to use to retrieve the next page of results. This value is null
62311	// when there are no more results to return.
62312	NextToken *string `locationName:"nextToken" type:"string"`
62313
62314	// Information about the propagation route tables.
62315	TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
62316}
62317
62318// String returns the string representation
62319func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
62320	return awsutil.Prettify(s)
62321}
62322
62323// GoString returns the string representation
62324func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
62325	return s.String()
62326}
62327
62328// SetNextToken sets the NextToken field's value.
62329func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
62330	s.NextToken = &v
62331	return s
62332}
62333
62334// SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
62335func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
62336	s.TransitGatewayAttachmentPropagations = v
62337	return s
62338}
62339
62340type GetTransitGatewayRouteTableAssociationsInput struct {
62341	_ struct{} `type:"structure"`
62342
62343	// Checks whether you have the required permissions for the action, without
62344	// actually making the request, and provides an error response. If you have
62345	// the required permissions, the error response is DryRunOperation. Otherwise,
62346	// it is UnauthorizedOperation.
62347	DryRun *bool `type:"boolean"`
62348
62349	// One or more filters. The possible values are:
62350	//
62351	//    * resource-id - The ID of the resource.
62352	//
62353	//    * resource-type - The resource type (vpc | vpn).
62354	//
62355	//    * transit-gateway-attachment-id - The ID of the attachment.
62356	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62357
62358	// The maximum number of results to return with a single call. To retrieve the
62359	// remaining results, make another call with the returned nextToken value.
62360	MaxResults *int64 `min:"5" type:"integer"`
62361
62362	// The token for the next page of results.
62363	NextToken *string `type:"string"`
62364
62365	// The ID of the transit gateway route table.
62366	//
62367	// TransitGatewayRouteTableId is a required field
62368	TransitGatewayRouteTableId *string `type:"string" required:"true"`
62369}
62370
62371// String returns the string representation
62372func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
62373	return awsutil.Prettify(s)
62374}
62375
62376// GoString returns the string representation
62377func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
62378	return s.String()
62379}
62380
62381// Validate inspects the fields of the type to determine if they are valid.
62382func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
62383	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
62384	if s.MaxResults != nil && *s.MaxResults < 5 {
62385		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62386	}
62387	if s.TransitGatewayRouteTableId == nil {
62388		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
62389	}
62390
62391	if invalidParams.Len() > 0 {
62392		return invalidParams
62393	}
62394	return nil
62395}
62396
62397// SetDryRun sets the DryRun field's value.
62398func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
62399	s.DryRun = &v
62400	return s
62401}
62402
62403// SetFilters sets the Filters field's value.
62404func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
62405	s.Filters = v
62406	return s
62407}
62408
62409// SetMaxResults sets the MaxResults field's value.
62410func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
62411	s.MaxResults = &v
62412	return s
62413}
62414
62415// SetNextToken sets the NextToken field's value.
62416func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
62417	s.NextToken = &v
62418	return s
62419}
62420
62421// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
62422func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
62423	s.TransitGatewayRouteTableId = &v
62424	return s
62425}
62426
62427type GetTransitGatewayRouteTableAssociationsOutput struct {
62428	_ struct{} `type:"structure"`
62429
62430	// Information about the associations.
62431	Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
62432
62433	// The token to use to retrieve the next page of results. This value is null
62434	// when there are no more results to return.
62435	NextToken *string `locationName:"nextToken" type:"string"`
62436}
62437
62438// String returns the string representation
62439func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
62440	return awsutil.Prettify(s)
62441}
62442
62443// GoString returns the string representation
62444func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
62445	return s.String()
62446}
62447
62448// SetAssociations sets the Associations field's value.
62449func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
62450	s.Associations = v
62451	return s
62452}
62453
62454// SetNextToken sets the NextToken field's value.
62455func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
62456	s.NextToken = &v
62457	return s
62458}
62459
62460type GetTransitGatewayRouteTablePropagationsInput struct {
62461	_ struct{} `type:"structure"`
62462
62463	// Checks whether you have the required permissions for the action, without
62464	// actually making the request, and provides an error response. If you have
62465	// the required permissions, the error response is DryRunOperation. Otherwise,
62466	// it is UnauthorizedOperation.
62467	DryRun *bool `type:"boolean"`
62468
62469	// One or more filters. The possible values are:
62470	//
62471	//    * resource-id - The ID of the resource.
62472	//
62473	//    * resource-type - The resource type (vpc | vpn).
62474	//
62475	//    * transit-gateway-attachment-id - The ID of the attachment.
62476	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62477
62478	// The maximum number of results to return with a single call. To retrieve the
62479	// remaining results, make another call with the returned nextToken value.
62480	MaxResults *int64 `min:"5" type:"integer"`
62481
62482	// The token for the next page of results.
62483	NextToken *string `type:"string"`
62484
62485	// The ID of the transit gateway route table.
62486	//
62487	// TransitGatewayRouteTableId is a required field
62488	TransitGatewayRouteTableId *string `type:"string" required:"true"`
62489}
62490
62491// String returns the string representation
62492func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
62493	return awsutil.Prettify(s)
62494}
62495
62496// GoString returns the string representation
62497func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
62498	return s.String()
62499}
62500
62501// Validate inspects the fields of the type to determine if they are valid.
62502func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
62503	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
62504	if s.MaxResults != nil && *s.MaxResults < 5 {
62505		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62506	}
62507	if s.TransitGatewayRouteTableId == nil {
62508		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
62509	}
62510
62511	if invalidParams.Len() > 0 {
62512		return invalidParams
62513	}
62514	return nil
62515}
62516
62517// SetDryRun sets the DryRun field's value.
62518func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
62519	s.DryRun = &v
62520	return s
62521}
62522
62523// SetFilters sets the Filters field's value.
62524func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
62525	s.Filters = v
62526	return s
62527}
62528
62529// SetMaxResults sets the MaxResults field's value.
62530func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
62531	s.MaxResults = &v
62532	return s
62533}
62534
62535// SetNextToken sets the NextToken field's value.
62536func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
62537	s.NextToken = &v
62538	return s
62539}
62540
62541// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
62542func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
62543	s.TransitGatewayRouteTableId = &v
62544	return s
62545}
62546
62547type GetTransitGatewayRouteTablePropagationsOutput struct {
62548	_ struct{} `type:"structure"`
62549
62550	// The token to use to retrieve the next page of results. This value is null
62551	// when there are no more results to return.
62552	NextToken *string `locationName:"nextToken" type:"string"`
62553
62554	// Information about the route table propagations.
62555	TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
62556}
62557
62558// String returns the string representation
62559func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
62560	return awsutil.Prettify(s)
62561}
62562
62563// GoString returns the string representation
62564func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
62565	return s.String()
62566}
62567
62568// SetNextToken sets the NextToken field's value.
62569func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
62570	s.NextToken = &v
62571	return s
62572}
62573
62574// SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
62575func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
62576	s.TransitGatewayRouteTablePropagations = v
62577	return s
62578}
62579
62580// Describes a security group.
62581type GroupIdentifier struct {
62582	_ struct{} `type:"structure"`
62583
62584	// The ID of the security group.
62585	GroupId *string `locationName:"groupId" type:"string"`
62586
62587	// The name of the security group.
62588	GroupName *string `locationName:"groupName" type:"string"`
62589}
62590
62591// String returns the string representation
62592func (s GroupIdentifier) String() string {
62593	return awsutil.Prettify(s)
62594}
62595
62596// GoString returns the string representation
62597func (s GroupIdentifier) GoString() string {
62598	return s.String()
62599}
62600
62601// SetGroupId sets the GroupId field's value.
62602func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
62603	s.GroupId = &v
62604	return s
62605}
62606
62607// SetGroupName sets the GroupName field's value.
62608func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
62609	s.GroupName = &v
62610	return s
62611}
62612
62613// Indicates whether your instance is configured for hibernation. This parameter
62614// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
62615// Hibernation is currently supported only for Amazon Linux. For more information,
62616// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
62617// in the Amazon Elastic Compute Cloud User Guide.
62618type HibernationOptions struct {
62619	_ struct{} `type:"structure"`
62620
62621	// If this parameter is set to true, your instance is enabled for hibernation;
62622	// otherwise, it is not enabled for hibernation.
62623	Configured *bool `locationName:"configured" type:"boolean"`
62624}
62625
62626// String returns the string representation
62627func (s HibernationOptions) String() string {
62628	return awsutil.Prettify(s)
62629}
62630
62631// GoString returns the string representation
62632func (s HibernationOptions) GoString() string {
62633	return s.String()
62634}
62635
62636// SetConfigured sets the Configured field's value.
62637func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
62638	s.Configured = &v
62639	return s
62640}
62641
62642// Indicates whether your instance is configured for hibernation. This parameter
62643// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
62644// Hibernation is currently supported only for Amazon Linux. For more information,
62645// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
62646// in the Amazon Elastic Compute Cloud User Guide.
62647type HibernationOptionsRequest struct {
62648	_ struct{} `type:"structure"`
62649
62650	// If you set this parameter to true, your instance is enabled for hibernation.
62651	//
62652	// Default: false
62653	Configured *bool `type:"boolean"`
62654}
62655
62656// String returns the string representation
62657func (s HibernationOptionsRequest) String() string {
62658	return awsutil.Prettify(s)
62659}
62660
62661// GoString returns the string representation
62662func (s HibernationOptionsRequest) GoString() string {
62663	return s.String()
62664}
62665
62666// SetConfigured sets the Configured field's value.
62667func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
62668	s.Configured = &v
62669	return s
62670}
62671
62672// Describes an event in the history of the Spot Fleet request.
62673type HistoryRecord struct {
62674	_ struct{} `type:"structure"`
62675
62676	// Information about the event.
62677	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
62678
62679	// The event type.
62680	//
62681	//    * error - An error with the Spot Fleet request.
62682	//
62683	//    * fleetRequestChange - A change in the status or configuration of the
62684	//    Spot Fleet request.
62685	//
62686	//    * instanceChange - An instance was launched or terminated.
62687	//
62688	//    * Information - An informational event.
62689	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
62690
62691	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
62692	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
62693}
62694
62695// String returns the string representation
62696func (s HistoryRecord) String() string {
62697	return awsutil.Prettify(s)
62698}
62699
62700// GoString returns the string representation
62701func (s HistoryRecord) GoString() string {
62702	return s.String()
62703}
62704
62705// SetEventInformation sets the EventInformation field's value.
62706func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
62707	s.EventInformation = v
62708	return s
62709}
62710
62711// SetEventType sets the EventType field's value.
62712func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
62713	s.EventType = &v
62714	return s
62715}
62716
62717// SetTimestamp sets the Timestamp field's value.
62718func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
62719	s.Timestamp = &v
62720	return s
62721}
62722
62723// Describes an event in the history of an EC2 Fleet.
62724type HistoryRecordEntry struct {
62725	_ struct{} `type:"structure"`
62726
62727	// Information about the event.
62728	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
62729
62730	// The event type.
62731	EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
62732
62733	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
62734	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
62735}
62736
62737// String returns the string representation
62738func (s HistoryRecordEntry) String() string {
62739	return awsutil.Prettify(s)
62740}
62741
62742// GoString returns the string representation
62743func (s HistoryRecordEntry) GoString() string {
62744	return s.String()
62745}
62746
62747// SetEventInformation sets the EventInformation field's value.
62748func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
62749	s.EventInformation = v
62750	return s
62751}
62752
62753// SetEventType sets the EventType field's value.
62754func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
62755	s.EventType = &v
62756	return s
62757}
62758
62759// SetTimestamp sets the Timestamp field's value.
62760func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
62761	s.Timestamp = &v
62762	return s
62763}
62764
62765// Describes the properties of the Dedicated Host.
62766type Host struct {
62767	_ struct{} `type:"structure"`
62768
62769	// The time that the Dedicated Host was allocated.
62770	AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
62771
62772	// Whether auto-placement is on or off.
62773	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
62774
62775	// The Availability Zone of the Dedicated Host.
62776	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
62777
62778	// The number of new instances that can be launched onto the Dedicated Host.
62779	AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
62780
62781	// Unique, case-sensitive identifier that you provide to ensure idempotency
62782	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
62783	// in the Amazon Elastic Compute Cloud User Guide.
62784	ClientToken *string `locationName:"clientToken" type:"string"`
62785
62786	// The ID of the Dedicated Host.
62787	HostId *string `locationName:"hostId" type:"string"`
62788
62789	// The hardware specifications of the Dedicated Host.
62790	HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
62791
62792	// The reservation ID of the Dedicated Host. This returns a null response if
62793	// the Dedicated Host doesn't have an associated reservation.
62794	HostReservationId *string `locationName:"hostReservationId" type:"string"`
62795
62796	// The IDs and instance type that are currently running on the Dedicated Host.
62797	Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
62798
62799	// The time that the Dedicated Host was released.
62800	ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
62801
62802	// The Dedicated Host's state.
62803	State *string `locationName:"state" type:"string" enum:"AllocationState"`
62804
62805	// Any tags assigned to the Dedicated Host.
62806	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
62807}
62808
62809// String returns the string representation
62810func (s Host) String() string {
62811	return awsutil.Prettify(s)
62812}
62813
62814// GoString returns the string representation
62815func (s Host) GoString() string {
62816	return s.String()
62817}
62818
62819// SetAllocationTime sets the AllocationTime field's value.
62820func (s *Host) SetAllocationTime(v time.Time) *Host {
62821	s.AllocationTime = &v
62822	return s
62823}
62824
62825// SetAutoPlacement sets the AutoPlacement field's value.
62826func (s *Host) SetAutoPlacement(v string) *Host {
62827	s.AutoPlacement = &v
62828	return s
62829}
62830
62831// SetAvailabilityZone sets the AvailabilityZone field's value.
62832func (s *Host) SetAvailabilityZone(v string) *Host {
62833	s.AvailabilityZone = &v
62834	return s
62835}
62836
62837// SetAvailableCapacity sets the AvailableCapacity field's value.
62838func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
62839	s.AvailableCapacity = v
62840	return s
62841}
62842
62843// SetClientToken sets the ClientToken field's value.
62844func (s *Host) SetClientToken(v string) *Host {
62845	s.ClientToken = &v
62846	return s
62847}
62848
62849// SetHostId sets the HostId field's value.
62850func (s *Host) SetHostId(v string) *Host {
62851	s.HostId = &v
62852	return s
62853}
62854
62855// SetHostProperties sets the HostProperties field's value.
62856func (s *Host) SetHostProperties(v *HostProperties) *Host {
62857	s.HostProperties = v
62858	return s
62859}
62860
62861// SetHostReservationId sets the HostReservationId field's value.
62862func (s *Host) SetHostReservationId(v string) *Host {
62863	s.HostReservationId = &v
62864	return s
62865}
62866
62867// SetInstances sets the Instances field's value.
62868func (s *Host) SetInstances(v []*HostInstance) *Host {
62869	s.Instances = v
62870	return s
62871}
62872
62873// SetReleaseTime sets the ReleaseTime field's value.
62874func (s *Host) SetReleaseTime(v time.Time) *Host {
62875	s.ReleaseTime = &v
62876	return s
62877}
62878
62879// SetState sets the State field's value.
62880func (s *Host) SetState(v string) *Host {
62881	s.State = &v
62882	return s
62883}
62884
62885// SetTags sets the Tags field's value.
62886func (s *Host) SetTags(v []*Tag) *Host {
62887	s.Tags = v
62888	return s
62889}
62890
62891// Describes an instance running on a Dedicated Host.
62892type HostInstance struct {
62893	_ struct{} `type:"structure"`
62894
62895	// the IDs of instances that are running on the Dedicated Host.
62896	InstanceId *string `locationName:"instanceId" type:"string"`
62897
62898	// The instance type size (for example, m3.medium) of the running instance.
62899	InstanceType *string `locationName:"instanceType" type:"string"`
62900}
62901
62902// String returns the string representation
62903func (s HostInstance) String() string {
62904	return awsutil.Prettify(s)
62905}
62906
62907// GoString returns the string representation
62908func (s HostInstance) GoString() string {
62909	return s.String()
62910}
62911
62912// SetInstanceId sets the InstanceId field's value.
62913func (s *HostInstance) SetInstanceId(v string) *HostInstance {
62914	s.InstanceId = &v
62915	return s
62916}
62917
62918// SetInstanceType sets the InstanceType field's value.
62919func (s *HostInstance) SetInstanceType(v string) *HostInstance {
62920	s.InstanceType = &v
62921	return s
62922}
62923
62924// Details about the Dedicated Host Reservation offering.
62925type HostOffering struct {
62926	_ struct{} `type:"structure"`
62927
62928	// The currency of the offering.
62929	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
62930
62931	// The duration of the offering (in seconds).
62932	Duration *int64 `locationName:"duration" type:"integer"`
62933
62934	// The hourly price of the offering.
62935	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
62936
62937	// The instance family of the offering.
62938	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
62939
62940	// The ID of the offering.
62941	OfferingId *string `locationName:"offeringId" type:"string"`
62942
62943	// The available payment option.
62944	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
62945
62946	// The upfront price of the offering. Does not apply to No Upfront offerings.
62947	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
62948}
62949
62950// String returns the string representation
62951func (s HostOffering) String() string {
62952	return awsutil.Prettify(s)
62953}
62954
62955// GoString returns the string representation
62956func (s HostOffering) GoString() string {
62957	return s.String()
62958}
62959
62960// SetCurrencyCode sets the CurrencyCode field's value.
62961func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
62962	s.CurrencyCode = &v
62963	return s
62964}
62965
62966// SetDuration sets the Duration field's value.
62967func (s *HostOffering) SetDuration(v int64) *HostOffering {
62968	s.Duration = &v
62969	return s
62970}
62971
62972// SetHourlyPrice sets the HourlyPrice field's value.
62973func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
62974	s.HourlyPrice = &v
62975	return s
62976}
62977
62978// SetInstanceFamily sets the InstanceFamily field's value.
62979func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
62980	s.InstanceFamily = &v
62981	return s
62982}
62983
62984// SetOfferingId sets the OfferingId field's value.
62985func (s *HostOffering) SetOfferingId(v string) *HostOffering {
62986	s.OfferingId = &v
62987	return s
62988}
62989
62990// SetPaymentOption sets the PaymentOption field's value.
62991func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
62992	s.PaymentOption = &v
62993	return s
62994}
62995
62996// SetUpfrontPrice sets the UpfrontPrice field's value.
62997func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
62998	s.UpfrontPrice = &v
62999	return s
63000}
63001
63002// Describes properties of a Dedicated Host.
63003type HostProperties struct {
63004	_ struct{} `type:"structure"`
63005
63006	// The number of cores on the Dedicated Host.
63007	Cores *int64 `locationName:"cores" type:"integer"`
63008
63009	// The instance type size that the Dedicated Host supports (for example, m3.medium).
63010	InstanceType *string `locationName:"instanceType" type:"string"`
63011
63012	// The number of sockets on the Dedicated Host.
63013	Sockets *int64 `locationName:"sockets" type:"integer"`
63014
63015	// The number of vCPUs on the Dedicated Host.
63016	TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
63017}
63018
63019// String returns the string representation
63020func (s HostProperties) String() string {
63021	return awsutil.Prettify(s)
63022}
63023
63024// GoString returns the string representation
63025func (s HostProperties) GoString() string {
63026	return s.String()
63027}
63028
63029// SetCores sets the Cores field's value.
63030func (s *HostProperties) SetCores(v int64) *HostProperties {
63031	s.Cores = &v
63032	return s
63033}
63034
63035// SetInstanceType sets the InstanceType field's value.
63036func (s *HostProperties) SetInstanceType(v string) *HostProperties {
63037	s.InstanceType = &v
63038	return s
63039}
63040
63041// SetSockets sets the Sockets field's value.
63042func (s *HostProperties) SetSockets(v int64) *HostProperties {
63043	s.Sockets = &v
63044	return s
63045}
63046
63047// SetTotalVCpus sets the TotalVCpus field's value.
63048func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
63049	s.TotalVCpus = &v
63050	return s
63051}
63052
63053// Details about the Dedicated Host Reservation and associated Dedicated Hosts.
63054type HostReservation struct {
63055	_ struct{} `type:"structure"`
63056
63057	// The number of Dedicated Hosts the reservation is associated with.
63058	Count *int64 `locationName:"count" type:"integer"`
63059
63060	// The currency in which the upfrontPrice and hourlyPrice amounts are specified.
63061	// At this time, the only supported currency is USD.
63062	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
63063
63064	// The length of the reservation's term, specified in seconds. Can be 31536000
63065	// (1 year) | 94608000 (3 years).
63066	Duration *int64 `locationName:"duration" type:"integer"`
63067
63068	// The date and time that the reservation ends.
63069	End *time.Time `locationName:"end" type:"timestamp"`
63070
63071	// The IDs of the Dedicated Hosts associated with the reservation.
63072	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
63073
63074	// The ID of the reservation that specifies the associated Dedicated Hosts.
63075	HostReservationId *string `locationName:"hostReservationId" type:"string"`
63076
63077	// The hourly price of the reservation.
63078	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
63079
63080	// The instance family of the Dedicated Host Reservation. The instance family
63081	// on the Dedicated Host must be the same in order for it to benefit from the
63082	// reservation.
63083	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
63084
63085	// The ID of the reservation. This remains the same regardless of which Dedicated
63086	// Hosts are associated with it.
63087	OfferingId *string `locationName:"offeringId" type:"string"`
63088
63089	// The payment option selected for this reservation.
63090	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
63091
63092	// The date and time that the reservation started.
63093	Start *time.Time `locationName:"start" type:"timestamp"`
63094
63095	// The state of the reservation.
63096	State *string `locationName:"state" type:"string" enum:"ReservationState"`
63097
63098	// Any tags assigned to the Dedicated Host Reservation.
63099	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
63100
63101	// The upfront price of the reservation.
63102	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
63103}
63104
63105// String returns the string representation
63106func (s HostReservation) String() string {
63107	return awsutil.Prettify(s)
63108}
63109
63110// GoString returns the string representation
63111func (s HostReservation) GoString() string {
63112	return s.String()
63113}
63114
63115// SetCount sets the Count field's value.
63116func (s *HostReservation) SetCount(v int64) *HostReservation {
63117	s.Count = &v
63118	return s
63119}
63120
63121// SetCurrencyCode sets the CurrencyCode field's value.
63122func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
63123	s.CurrencyCode = &v
63124	return s
63125}
63126
63127// SetDuration sets the Duration field's value.
63128func (s *HostReservation) SetDuration(v int64) *HostReservation {
63129	s.Duration = &v
63130	return s
63131}
63132
63133// SetEnd sets the End field's value.
63134func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
63135	s.End = &v
63136	return s
63137}
63138
63139// SetHostIdSet sets the HostIdSet field's value.
63140func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
63141	s.HostIdSet = v
63142	return s
63143}
63144
63145// SetHostReservationId sets the HostReservationId field's value.
63146func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
63147	s.HostReservationId = &v
63148	return s
63149}
63150
63151// SetHourlyPrice sets the HourlyPrice field's value.
63152func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
63153	s.HourlyPrice = &v
63154	return s
63155}
63156
63157// SetInstanceFamily sets the InstanceFamily field's value.
63158func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
63159	s.InstanceFamily = &v
63160	return s
63161}
63162
63163// SetOfferingId sets the OfferingId field's value.
63164func (s *HostReservation) SetOfferingId(v string) *HostReservation {
63165	s.OfferingId = &v
63166	return s
63167}
63168
63169// SetPaymentOption sets the PaymentOption field's value.
63170func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
63171	s.PaymentOption = &v
63172	return s
63173}
63174
63175// SetStart sets the Start field's value.
63176func (s *HostReservation) SetStart(v time.Time) *HostReservation {
63177	s.Start = &v
63178	return s
63179}
63180
63181// SetState sets the State field's value.
63182func (s *HostReservation) SetState(v string) *HostReservation {
63183	s.State = &v
63184	return s
63185}
63186
63187// SetTags sets the Tags field's value.
63188func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
63189	s.Tags = v
63190	return s
63191}
63192
63193// SetUpfrontPrice sets the UpfrontPrice field's value.
63194func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
63195	s.UpfrontPrice = &v
63196	return s
63197}
63198
63199// Describes an IAM instance profile.
63200type IamInstanceProfile struct {
63201	_ struct{} `type:"structure"`
63202
63203	// The Amazon Resource Name (ARN) of the instance profile.
63204	Arn *string `locationName:"arn" type:"string"`
63205
63206	// The ID of the instance profile.
63207	Id *string `locationName:"id" type:"string"`
63208}
63209
63210// String returns the string representation
63211func (s IamInstanceProfile) String() string {
63212	return awsutil.Prettify(s)
63213}
63214
63215// GoString returns the string representation
63216func (s IamInstanceProfile) GoString() string {
63217	return s.String()
63218}
63219
63220// SetArn sets the Arn field's value.
63221func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
63222	s.Arn = &v
63223	return s
63224}
63225
63226// SetId sets the Id field's value.
63227func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
63228	s.Id = &v
63229	return s
63230}
63231
63232// Describes an association between an IAM instance profile and an instance.
63233type IamInstanceProfileAssociation struct {
63234	_ struct{} `type:"structure"`
63235
63236	// The ID of the association.
63237	AssociationId *string `locationName:"associationId" type:"string"`
63238
63239	// The IAM instance profile.
63240	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
63241
63242	// The ID of the instance.
63243	InstanceId *string `locationName:"instanceId" type:"string"`
63244
63245	// The state of the association.
63246	State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
63247
63248	// The time the IAM instance profile was associated with the instance.
63249	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
63250}
63251
63252// String returns the string representation
63253func (s IamInstanceProfileAssociation) String() string {
63254	return awsutil.Prettify(s)
63255}
63256
63257// GoString returns the string representation
63258func (s IamInstanceProfileAssociation) GoString() string {
63259	return s.String()
63260}
63261
63262// SetAssociationId sets the AssociationId field's value.
63263func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
63264	s.AssociationId = &v
63265	return s
63266}
63267
63268// SetIamInstanceProfile sets the IamInstanceProfile field's value.
63269func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
63270	s.IamInstanceProfile = v
63271	return s
63272}
63273
63274// SetInstanceId sets the InstanceId field's value.
63275func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
63276	s.InstanceId = &v
63277	return s
63278}
63279
63280// SetState sets the State field's value.
63281func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
63282	s.State = &v
63283	return s
63284}
63285
63286// SetTimestamp sets the Timestamp field's value.
63287func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
63288	s.Timestamp = &v
63289	return s
63290}
63291
63292// Describes an IAM instance profile.
63293type IamInstanceProfileSpecification struct {
63294	_ struct{} `type:"structure"`
63295
63296	// The Amazon Resource Name (ARN) of the instance profile.
63297	Arn *string `locationName:"arn" type:"string"`
63298
63299	// The name of the instance profile.
63300	Name *string `locationName:"name" type:"string"`
63301}
63302
63303// String returns the string representation
63304func (s IamInstanceProfileSpecification) String() string {
63305	return awsutil.Prettify(s)
63306}
63307
63308// GoString returns the string representation
63309func (s IamInstanceProfileSpecification) GoString() string {
63310	return s.String()
63311}
63312
63313// SetArn sets the Arn field's value.
63314func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
63315	s.Arn = &v
63316	return s
63317}
63318
63319// SetName sets the Name field's value.
63320func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
63321	s.Name = &v
63322	return s
63323}
63324
63325// Describes the ICMP type and code.
63326type IcmpTypeCode struct {
63327	_ struct{} `type:"structure"`
63328
63329	// The ICMP code. A value of -1 means all codes for the specified ICMP type.
63330	Code *int64 `locationName:"code" type:"integer"`
63331
63332	// The ICMP type. A value of -1 means all types.
63333	Type *int64 `locationName:"type" type:"integer"`
63334}
63335
63336// String returns the string representation
63337func (s IcmpTypeCode) String() string {
63338	return awsutil.Prettify(s)
63339}
63340
63341// GoString returns the string representation
63342func (s IcmpTypeCode) GoString() string {
63343	return s.String()
63344}
63345
63346// SetCode sets the Code field's value.
63347func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
63348	s.Code = &v
63349	return s
63350}
63351
63352// SetType sets the Type field's value.
63353func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
63354	s.Type = &v
63355	return s
63356}
63357
63358// Describes the ID format for a resource.
63359type IdFormat struct {
63360	_ struct{} `type:"structure"`
63361
63362	// The date in UTC at which you are permanently switched over to using longer
63363	// IDs. If a deadline is not yet available for this resource type, this field
63364	// is not returned.
63365	Deadline *time.Time `locationName:"deadline" type:"timestamp"`
63366
63367	// The type of resource.
63368	Resource *string `locationName:"resource" type:"string"`
63369
63370	// Indicates whether longer IDs (17-character IDs) are enabled for the resource.
63371	UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
63372}
63373
63374// String returns the string representation
63375func (s IdFormat) String() string {
63376	return awsutil.Prettify(s)
63377}
63378
63379// GoString returns the string representation
63380func (s IdFormat) GoString() string {
63381	return s.String()
63382}
63383
63384// SetDeadline sets the Deadline field's value.
63385func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
63386	s.Deadline = &v
63387	return s
63388}
63389
63390// SetResource sets the Resource field's value.
63391func (s *IdFormat) SetResource(v string) *IdFormat {
63392	s.Resource = &v
63393	return s
63394}
63395
63396// SetUseLongIds sets the UseLongIds field's value.
63397func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
63398	s.UseLongIds = &v
63399	return s
63400}
63401
63402// Describes an image.
63403type Image struct {
63404	_ struct{} `type:"structure"`
63405
63406	// The architecture of the image.
63407	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
63408
63409	// Any block device mapping entries.
63410	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
63411
63412	// The date and time the image was created.
63413	CreationDate *string `locationName:"creationDate" type:"string"`
63414
63415	// The description of the AMI that was provided during image creation.
63416	Description *string `locationName:"description" type:"string"`
63417
63418	// Specifies whether enhanced networking with ENA is enabled.
63419	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
63420
63421	// The hypervisor type of the image.
63422	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
63423
63424	// The ID of the AMI.
63425	ImageId *string `locationName:"imageId" type:"string"`
63426
63427	// The location of the AMI.
63428	ImageLocation *string `locationName:"imageLocation" type:"string"`
63429
63430	// The AWS account alias (for example, amazon, self) or the AWS account ID of
63431	// the AMI owner.
63432	ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
63433
63434	// The type of image.
63435	ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
63436
63437	// The kernel associated with the image, if any. Only applicable for machine
63438	// images.
63439	KernelId *string `locationName:"kernelId" type:"string"`
63440
63441	// The name of the AMI that was provided during image creation.
63442	Name *string `locationName:"name" type:"string"`
63443
63444	// The AWS account ID of the image owner.
63445	OwnerId *string `locationName:"imageOwnerId" type:"string"`
63446
63447	// The value is Windows for Windows AMIs; otherwise blank.
63448	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
63449
63450	// Any product codes associated with the AMI.
63451	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
63452
63453	// Indicates whether the image has public launch permissions. The value is true
63454	// if this image has public launch permissions or false if it has only implicit
63455	// and explicit launch permissions.
63456	Public *bool `locationName:"isPublic" type:"boolean"`
63457
63458	// The RAM disk associated with the image, if any. Only applicable for machine
63459	// images.
63460	RamdiskId *string `locationName:"ramdiskId" type:"string"`
63461
63462	// The device name of the root device volume (for example, /dev/sda1).
63463	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
63464
63465	// The type of root device used by the AMI. The AMI can use an EBS volume or
63466	// an instance store volume.
63467	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
63468
63469	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
63470	// interface is enabled.
63471	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
63472
63473	// The current state of the AMI. If the state is available, the image is successfully
63474	// registered and can be used to launch an instance.
63475	State *string `locationName:"imageState" type:"string" enum:"ImageState"`
63476
63477	// The reason for the state change.
63478	StateReason *StateReason `locationName:"stateReason" type:"structure"`
63479
63480	// Any tags assigned to the image.
63481	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
63482
63483	// The type of virtualization of the AMI.
63484	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
63485}
63486
63487// String returns the string representation
63488func (s Image) String() string {
63489	return awsutil.Prettify(s)
63490}
63491
63492// GoString returns the string representation
63493func (s Image) GoString() string {
63494	return s.String()
63495}
63496
63497// SetArchitecture sets the Architecture field's value.
63498func (s *Image) SetArchitecture(v string) *Image {
63499	s.Architecture = &v
63500	return s
63501}
63502
63503// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
63504func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
63505	s.BlockDeviceMappings = v
63506	return s
63507}
63508
63509// SetCreationDate sets the CreationDate field's value.
63510func (s *Image) SetCreationDate(v string) *Image {
63511	s.CreationDate = &v
63512	return s
63513}
63514
63515// SetDescription sets the Description field's value.
63516func (s *Image) SetDescription(v string) *Image {
63517	s.Description = &v
63518	return s
63519}
63520
63521// SetEnaSupport sets the EnaSupport field's value.
63522func (s *Image) SetEnaSupport(v bool) *Image {
63523	s.EnaSupport = &v
63524	return s
63525}
63526
63527// SetHypervisor sets the Hypervisor field's value.
63528func (s *Image) SetHypervisor(v string) *Image {
63529	s.Hypervisor = &v
63530	return s
63531}
63532
63533// SetImageId sets the ImageId field's value.
63534func (s *Image) SetImageId(v string) *Image {
63535	s.ImageId = &v
63536	return s
63537}
63538
63539// SetImageLocation sets the ImageLocation field's value.
63540func (s *Image) SetImageLocation(v string) *Image {
63541	s.ImageLocation = &v
63542	return s
63543}
63544
63545// SetImageOwnerAlias sets the ImageOwnerAlias field's value.
63546func (s *Image) SetImageOwnerAlias(v string) *Image {
63547	s.ImageOwnerAlias = &v
63548	return s
63549}
63550
63551// SetImageType sets the ImageType field's value.
63552func (s *Image) SetImageType(v string) *Image {
63553	s.ImageType = &v
63554	return s
63555}
63556
63557// SetKernelId sets the KernelId field's value.
63558func (s *Image) SetKernelId(v string) *Image {
63559	s.KernelId = &v
63560	return s
63561}
63562
63563// SetName sets the Name field's value.
63564func (s *Image) SetName(v string) *Image {
63565	s.Name = &v
63566	return s
63567}
63568
63569// SetOwnerId sets the OwnerId field's value.
63570func (s *Image) SetOwnerId(v string) *Image {
63571	s.OwnerId = &v
63572	return s
63573}
63574
63575// SetPlatform sets the Platform field's value.
63576func (s *Image) SetPlatform(v string) *Image {
63577	s.Platform = &v
63578	return s
63579}
63580
63581// SetProductCodes sets the ProductCodes field's value.
63582func (s *Image) SetProductCodes(v []*ProductCode) *Image {
63583	s.ProductCodes = v
63584	return s
63585}
63586
63587// SetPublic sets the Public field's value.
63588func (s *Image) SetPublic(v bool) *Image {
63589	s.Public = &v
63590	return s
63591}
63592
63593// SetRamdiskId sets the RamdiskId field's value.
63594func (s *Image) SetRamdiskId(v string) *Image {
63595	s.RamdiskId = &v
63596	return s
63597}
63598
63599// SetRootDeviceName sets the RootDeviceName field's value.
63600func (s *Image) SetRootDeviceName(v string) *Image {
63601	s.RootDeviceName = &v
63602	return s
63603}
63604
63605// SetRootDeviceType sets the RootDeviceType field's value.
63606func (s *Image) SetRootDeviceType(v string) *Image {
63607	s.RootDeviceType = &v
63608	return s
63609}
63610
63611// SetSriovNetSupport sets the SriovNetSupport field's value.
63612func (s *Image) SetSriovNetSupport(v string) *Image {
63613	s.SriovNetSupport = &v
63614	return s
63615}
63616
63617// SetState sets the State field's value.
63618func (s *Image) SetState(v string) *Image {
63619	s.State = &v
63620	return s
63621}
63622
63623// SetStateReason sets the StateReason field's value.
63624func (s *Image) SetStateReason(v *StateReason) *Image {
63625	s.StateReason = v
63626	return s
63627}
63628
63629// SetTags sets the Tags field's value.
63630func (s *Image) SetTags(v []*Tag) *Image {
63631	s.Tags = v
63632	return s
63633}
63634
63635// SetVirtualizationType sets the VirtualizationType field's value.
63636func (s *Image) SetVirtualizationType(v string) *Image {
63637	s.VirtualizationType = &v
63638	return s
63639}
63640
63641// Describes the disk container object for an import image task.
63642type ImageDiskContainer struct {
63643	_ struct{} `type:"structure"`
63644
63645	// The description of the disk image.
63646	Description *string `type:"string"`
63647
63648	// The block device mapping for the disk.
63649	DeviceName *string `type:"string"`
63650
63651	// The format of the disk image being imported.
63652	//
63653	// Valid values: VHD | VMDK | OVA
63654	Format *string `type:"string"`
63655
63656	// The ID of the EBS snapshot to be used for importing the snapshot.
63657	SnapshotId *string `type:"string"`
63658
63659	// The URL to the Amazon S3-based disk image being imported. The URL can either
63660	// be a https URL (https://..) or an Amazon S3 URL (s3://..)
63661	Url *string `type:"string"`
63662
63663	// The S3 bucket for the disk image.
63664	UserBucket *UserBucket `type:"structure"`
63665}
63666
63667// String returns the string representation
63668func (s ImageDiskContainer) String() string {
63669	return awsutil.Prettify(s)
63670}
63671
63672// GoString returns the string representation
63673func (s ImageDiskContainer) GoString() string {
63674	return s.String()
63675}
63676
63677// SetDescription sets the Description field's value.
63678func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
63679	s.Description = &v
63680	return s
63681}
63682
63683// SetDeviceName sets the DeviceName field's value.
63684func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
63685	s.DeviceName = &v
63686	return s
63687}
63688
63689// SetFormat sets the Format field's value.
63690func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
63691	s.Format = &v
63692	return s
63693}
63694
63695// SetSnapshotId sets the SnapshotId field's value.
63696func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
63697	s.SnapshotId = &v
63698	return s
63699}
63700
63701// SetUrl sets the Url field's value.
63702func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
63703	s.Url = &v
63704	return s
63705}
63706
63707// SetUserBucket sets the UserBucket field's value.
63708func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
63709	s.UserBucket = v
63710	return s
63711}
63712
63713type ImportClientVpnClientCertificateRevocationListInput struct {
63714	_ struct{} `type:"structure"`
63715
63716	// The client certificate revocation list file. For more information, see Generate
63717	// a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
63718	// in the AWS Client VPN Administrator Guide.
63719	//
63720	// CertificateRevocationList is a required field
63721	CertificateRevocationList *string `type:"string" required:"true"`
63722
63723	// The ID of the Client VPN endpoint to which the client certificate revocation
63724	// list applies.
63725	//
63726	// ClientVpnEndpointId is a required field
63727	ClientVpnEndpointId *string `type:"string" required:"true"`
63728
63729	// Checks whether you have the required permissions for the action, without
63730	// actually making the request, and provides an error response. If you have
63731	// the required permissions, the error response is DryRunOperation. Otherwise,
63732	// it is UnauthorizedOperation.
63733	DryRun *bool `type:"boolean"`
63734}
63735
63736// String returns the string representation
63737func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
63738	return awsutil.Prettify(s)
63739}
63740
63741// GoString returns the string representation
63742func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
63743	return s.String()
63744}
63745
63746// Validate inspects the fields of the type to determine if they are valid.
63747func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
63748	invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
63749	if s.CertificateRevocationList == nil {
63750		invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
63751	}
63752	if s.ClientVpnEndpointId == nil {
63753		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
63754	}
63755
63756	if invalidParams.Len() > 0 {
63757		return invalidParams
63758	}
63759	return nil
63760}
63761
63762// SetCertificateRevocationList sets the CertificateRevocationList field's value.
63763func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
63764	s.CertificateRevocationList = &v
63765	return s
63766}
63767
63768// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
63769func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
63770	s.ClientVpnEndpointId = &v
63771	return s
63772}
63773
63774// SetDryRun sets the DryRun field's value.
63775func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
63776	s.DryRun = &v
63777	return s
63778}
63779
63780type ImportClientVpnClientCertificateRevocationListOutput struct {
63781	_ struct{} `type:"structure"`
63782
63783	// Returns true if the request succeeds; otherwise, it returns an error.
63784	Return *bool `locationName:"return" type:"boolean"`
63785}
63786
63787// String returns the string representation
63788func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
63789	return awsutil.Prettify(s)
63790}
63791
63792// GoString returns the string representation
63793func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
63794	return s.String()
63795}
63796
63797// SetReturn sets the Return field's value.
63798func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
63799	s.Return = &v
63800	return s
63801}
63802
63803// Contains the parameters for ImportImage.
63804type ImportImageInput struct {
63805	_ struct{} `type:"structure"`
63806
63807	// The architecture of the virtual machine.
63808	//
63809	// Valid values: i386 | x86_64
63810	Architecture *string `type:"string"`
63811
63812	// The client-specific data.
63813	ClientData *ClientData `type:"structure"`
63814
63815	// The token to enable idempotency for VM import requests.
63816	ClientToken *string `type:"string"`
63817
63818	// A description string for the import image task.
63819	Description *string `type:"string"`
63820
63821	// Information about the disk containers.
63822	DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
63823
63824	// Checks whether you have the required permissions for the action, without
63825	// actually making the request, and provides an error response. If you have
63826	// the required permissions, the error response is DryRunOperation. Otherwise,
63827	// it is UnauthorizedOperation.
63828	DryRun *bool `type:"boolean"`
63829
63830	// Specifies whether the destination AMI of the imported image should be encrypted.
63831	// The default CMK for EBS is used unless you specify a non-default AWS Key
63832	// Management Service (AWS KMS) CMK using KmsKeyId. For more information, see
63833	// Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
63834	// in the Amazon Elastic Compute Cloud User Guide.
63835	Encrypted *bool `type:"boolean"`
63836
63837	// The target hypervisor platform.
63838	//
63839	// Valid values: xen
63840	Hypervisor *string `type:"string"`
63841
63842	// An identifier for the AWS Key Management Service (AWS KMS) customer master
63843	// key (CMK) to use when creating the encrypted AMI. This parameter is only
63844	// required if you want to use a non-default CMK; if this parameter is not specified,
63845	// the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted
63846	// flag must also be set.
63847	//
63848	// The CMK identifier may be provided in any of the following formats:
63849	//
63850	//    * Key ID
63851	//
63852	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
63853	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
63854	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
63855	//
63856	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
63857	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
63858	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
63859	//
63860	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
63861	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
63862	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
63863	//
63864	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
63865	// appear to complete even though you provided an invalid identifier. This action
63866	// will eventually report failure.
63867	//
63868	// The specified CMK must exist in the Region that the AMI is being copied to.
63869	KmsKeyId *string `type:"string"`
63870
63871	// The license type to be used for the Amazon Machine Image (AMI) after importing.
63872	//
63873	// Note: You may only use BYOL if you have existing licenses with rights to
63874	// use these licenses in a third party cloud like AWS. For more information,
63875	// see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
63876	// in the VM Import/Export User Guide.
63877	//
63878	// Valid values include:
63879	//
63880	//    * Auto - Detects the source-system operating system (OS) and applies the
63881	//    appropriate license.
63882	//
63883	//    * AWS - Replaces the source-system license with an AWS license, if appropriate.
63884	//
63885	//    * BYOL - Retains the source-system license, if appropriate.
63886	//
63887	// Default value: Auto
63888	LicenseType *string `type:"string"`
63889
63890	// The operating system of the virtual machine.
63891	//
63892	// Valid values: Windows | Linux
63893	Platform *string `type:"string"`
63894
63895	// The name of the role to use when not using the default role, 'vmimport'.
63896	RoleName *string `type:"string"`
63897}
63898
63899// String returns the string representation
63900func (s ImportImageInput) String() string {
63901	return awsutil.Prettify(s)
63902}
63903
63904// GoString returns the string representation
63905func (s ImportImageInput) GoString() string {
63906	return s.String()
63907}
63908
63909// SetArchitecture sets the Architecture field's value.
63910func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
63911	s.Architecture = &v
63912	return s
63913}
63914
63915// SetClientData sets the ClientData field's value.
63916func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
63917	s.ClientData = v
63918	return s
63919}
63920
63921// SetClientToken sets the ClientToken field's value.
63922func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
63923	s.ClientToken = &v
63924	return s
63925}
63926
63927// SetDescription sets the Description field's value.
63928func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
63929	s.Description = &v
63930	return s
63931}
63932
63933// SetDiskContainers sets the DiskContainers field's value.
63934func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
63935	s.DiskContainers = v
63936	return s
63937}
63938
63939// SetDryRun sets the DryRun field's value.
63940func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
63941	s.DryRun = &v
63942	return s
63943}
63944
63945// SetEncrypted sets the Encrypted field's value.
63946func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
63947	s.Encrypted = &v
63948	return s
63949}
63950
63951// SetHypervisor sets the Hypervisor field's value.
63952func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
63953	s.Hypervisor = &v
63954	return s
63955}
63956
63957// SetKmsKeyId sets the KmsKeyId field's value.
63958func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
63959	s.KmsKeyId = &v
63960	return s
63961}
63962
63963// SetLicenseType sets the LicenseType field's value.
63964func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
63965	s.LicenseType = &v
63966	return s
63967}
63968
63969// SetPlatform sets the Platform field's value.
63970func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
63971	s.Platform = &v
63972	return s
63973}
63974
63975// SetRoleName sets the RoleName field's value.
63976func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
63977	s.RoleName = &v
63978	return s
63979}
63980
63981// Contains the output for ImportImage.
63982type ImportImageOutput struct {
63983	_ struct{} `type:"structure"`
63984
63985	// The architecture of the virtual machine.
63986	Architecture *string `locationName:"architecture" type:"string"`
63987
63988	// A description of the import task.
63989	Description *string `locationName:"description" type:"string"`
63990
63991	// Indicates whether the AMI is encypted.
63992	Encrypted *bool `locationName:"encrypted" type:"boolean"`
63993
63994	// The target hypervisor of the import task.
63995	Hypervisor *string `locationName:"hypervisor" type:"string"`
63996
63997	// The ID of the Amazon Machine Image (AMI) created by the import task.
63998	ImageId *string `locationName:"imageId" type:"string"`
63999
64000	// The task ID of the import image task.
64001	ImportTaskId *string `locationName:"importTaskId" type:"string"`
64002
64003	// The identifier for the AWS Key Management Service (AWS KMS) customer master
64004	// key (CMK) that was used to create the encrypted AMI.
64005	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
64006
64007	// The license type of the virtual machine.
64008	LicenseType *string `locationName:"licenseType" type:"string"`
64009
64010	// The operating system of the virtual machine.
64011	Platform *string `locationName:"platform" type:"string"`
64012
64013	// The progress of the task.
64014	Progress *string `locationName:"progress" type:"string"`
64015
64016	// Information about the snapshots.
64017	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
64018
64019	// A brief status of the task.
64020	Status *string `locationName:"status" type:"string"`
64021
64022	// A detailed status message of the import task.
64023	StatusMessage *string `locationName:"statusMessage" type:"string"`
64024}
64025
64026// String returns the string representation
64027func (s ImportImageOutput) String() string {
64028	return awsutil.Prettify(s)
64029}
64030
64031// GoString returns the string representation
64032func (s ImportImageOutput) GoString() string {
64033	return s.String()
64034}
64035
64036// SetArchitecture sets the Architecture field's value.
64037func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
64038	s.Architecture = &v
64039	return s
64040}
64041
64042// SetDescription sets the Description field's value.
64043func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
64044	s.Description = &v
64045	return s
64046}
64047
64048// SetEncrypted sets the Encrypted field's value.
64049func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
64050	s.Encrypted = &v
64051	return s
64052}
64053
64054// SetHypervisor sets the Hypervisor field's value.
64055func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
64056	s.Hypervisor = &v
64057	return s
64058}
64059
64060// SetImageId sets the ImageId field's value.
64061func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
64062	s.ImageId = &v
64063	return s
64064}
64065
64066// SetImportTaskId sets the ImportTaskId field's value.
64067func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
64068	s.ImportTaskId = &v
64069	return s
64070}
64071
64072// SetKmsKeyId sets the KmsKeyId field's value.
64073func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
64074	s.KmsKeyId = &v
64075	return s
64076}
64077
64078// SetLicenseType sets the LicenseType field's value.
64079func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
64080	s.LicenseType = &v
64081	return s
64082}
64083
64084// SetPlatform sets the Platform field's value.
64085func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
64086	s.Platform = &v
64087	return s
64088}
64089
64090// SetProgress sets the Progress field's value.
64091func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
64092	s.Progress = &v
64093	return s
64094}
64095
64096// SetSnapshotDetails sets the SnapshotDetails field's value.
64097func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
64098	s.SnapshotDetails = v
64099	return s
64100}
64101
64102// SetStatus sets the Status field's value.
64103func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
64104	s.Status = &v
64105	return s
64106}
64107
64108// SetStatusMessage sets the StatusMessage field's value.
64109func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
64110	s.StatusMessage = &v
64111	return s
64112}
64113
64114// Describes an import image task.
64115type ImportImageTask struct {
64116	_ struct{} `type:"structure"`
64117
64118	// The architecture of the virtual machine.
64119	//
64120	// Valid values: i386 | x86_64
64121	Architecture *string `locationName:"architecture" type:"string"`
64122
64123	// A description of the import task.
64124	Description *string `locationName:"description" type:"string"`
64125
64126	// Indicates whether the image is encrypted.
64127	Encrypted *bool `locationName:"encrypted" type:"boolean"`
64128
64129	// The target hypervisor for the import task.
64130	//
64131	// Valid values: xen
64132	Hypervisor *string `locationName:"hypervisor" type:"string"`
64133
64134	// The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
64135	ImageId *string `locationName:"imageId" type:"string"`
64136
64137	// The ID of the import image task.
64138	ImportTaskId *string `locationName:"importTaskId" type:"string"`
64139
64140	// The identifier for the AWS Key Management Service (AWS KMS) customer master
64141	// key (CMK) that was used to create the encrypted image.
64142	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
64143
64144	// The license type of the virtual machine.
64145	LicenseType *string `locationName:"licenseType" type:"string"`
64146
64147	// The description string for the import image task.
64148	Platform *string `locationName:"platform" type:"string"`
64149
64150	// The percentage of progress of the import image task.
64151	Progress *string `locationName:"progress" type:"string"`
64152
64153	// Information about the snapshots.
64154	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
64155
64156	// A brief status for the import image task.
64157	Status *string `locationName:"status" type:"string"`
64158
64159	// A descriptive status message for the import image task.
64160	StatusMessage *string `locationName:"statusMessage" type:"string"`
64161}
64162
64163// String returns the string representation
64164func (s ImportImageTask) String() string {
64165	return awsutil.Prettify(s)
64166}
64167
64168// GoString returns the string representation
64169func (s ImportImageTask) GoString() string {
64170	return s.String()
64171}
64172
64173// SetArchitecture sets the Architecture field's value.
64174func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
64175	s.Architecture = &v
64176	return s
64177}
64178
64179// SetDescription sets the Description field's value.
64180func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
64181	s.Description = &v
64182	return s
64183}
64184
64185// SetEncrypted sets the Encrypted field's value.
64186func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
64187	s.Encrypted = &v
64188	return s
64189}
64190
64191// SetHypervisor sets the Hypervisor field's value.
64192func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
64193	s.Hypervisor = &v
64194	return s
64195}
64196
64197// SetImageId sets the ImageId field's value.
64198func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
64199	s.ImageId = &v
64200	return s
64201}
64202
64203// SetImportTaskId sets the ImportTaskId field's value.
64204func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
64205	s.ImportTaskId = &v
64206	return s
64207}
64208
64209// SetKmsKeyId sets the KmsKeyId field's value.
64210func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
64211	s.KmsKeyId = &v
64212	return s
64213}
64214
64215// SetLicenseType sets the LicenseType field's value.
64216func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
64217	s.LicenseType = &v
64218	return s
64219}
64220
64221// SetPlatform sets the Platform field's value.
64222func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
64223	s.Platform = &v
64224	return s
64225}
64226
64227// SetProgress sets the Progress field's value.
64228func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
64229	s.Progress = &v
64230	return s
64231}
64232
64233// SetSnapshotDetails sets the SnapshotDetails field's value.
64234func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
64235	s.SnapshotDetails = v
64236	return s
64237}
64238
64239// SetStatus sets the Status field's value.
64240func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
64241	s.Status = &v
64242	return s
64243}
64244
64245// SetStatusMessage sets the StatusMessage field's value.
64246func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
64247	s.StatusMessage = &v
64248	return s
64249}
64250
64251// Contains the parameters for ImportInstance.
64252type ImportInstanceInput struct {
64253	_ struct{} `type:"structure"`
64254
64255	// A description for the instance being imported.
64256	Description *string `locationName:"description" type:"string"`
64257
64258	// The disk image.
64259	DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
64260
64261	// Checks whether you have the required permissions for the action, without
64262	// actually making the request, and provides an error response. If you have
64263	// the required permissions, the error response is DryRunOperation. Otherwise,
64264	// it is UnauthorizedOperation.
64265	DryRun *bool `locationName:"dryRun" type:"boolean"`
64266
64267	// The launch specification.
64268	LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
64269
64270	// The instance operating system.
64271	//
64272	// Platform is a required field
64273	Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
64274}
64275
64276// String returns the string representation
64277func (s ImportInstanceInput) String() string {
64278	return awsutil.Prettify(s)
64279}
64280
64281// GoString returns the string representation
64282func (s ImportInstanceInput) GoString() string {
64283	return s.String()
64284}
64285
64286// Validate inspects the fields of the type to determine if they are valid.
64287func (s *ImportInstanceInput) Validate() error {
64288	invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
64289	if s.Platform == nil {
64290		invalidParams.Add(request.NewErrParamRequired("Platform"))
64291	}
64292	if s.DiskImages != nil {
64293		for i, v := range s.DiskImages {
64294			if v == nil {
64295				continue
64296			}
64297			if err := v.Validate(); err != nil {
64298				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
64299			}
64300		}
64301	}
64302
64303	if invalidParams.Len() > 0 {
64304		return invalidParams
64305	}
64306	return nil
64307}
64308
64309// SetDescription sets the Description field's value.
64310func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
64311	s.Description = &v
64312	return s
64313}
64314
64315// SetDiskImages sets the DiskImages field's value.
64316func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
64317	s.DiskImages = v
64318	return s
64319}
64320
64321// SetDryRun sets the DryRun field's value.
64322func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
64323	s.DryRun = &v
64324	return s
64325}
64326
64327// SetLaunchSpecification sets the LaunchSpecification field's value.
64328func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
64329	s.LaunchSpecification = v
64330	return s
64331}
64332
64333// SetPlatform sets the Platform field's value.
64334func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
64335	s.Platform = &v
64336	return s
64337}
64338
64339// Describes the launch specification for VM import.
64340type ImportInstanceLaunchSpecification struct {
64341	_ struct{} `type:"structure"`
64342
64343	// Reserved.
64344	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
64345
64346	// The architecture of the instance.
64347	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
64348
64349	// The security group IDs.
64350	GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
64351
64352	// The security group names.
64353	GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
64354
64355	// Indicates whether an instance stops or terminates when you initiate shutdown
64356	// from the instance (using the operating system command for system shutdown).
64357	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
64358
64359	// The instance type. For more information about the instance types that you
64360	// can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
64361	// in the VM Import/Export User Guide.
64362	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
64363
64364	// Indicates whether monitoring is enabled.
64365	Monitoring *bool `locationName:"monitoring" type:"boolean"`
64366
64367	// The placement information for the instance.
64368	Placement *Placement `locationName:"placement" type:"structure"`
64369
64370	// [EC2-VPC] An available IP address from the IP address range of the subnet.
64371	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
64372
64373	// [EC2-VPC] The ID of the subnet in which to launch the instance.
64374	SubnetId *string `locationName:"subnetId" type:"string"`
64375
64376	// The Base64-encoded user data to make available to the instance.
64377	UserData *UserData `locationName:"userData" type:"structure"`
64378}
64379
64380// String returns the string representation
64381func (s ImportInstanceLaunchSpecification) String() string {
64382	return awsutil.Prettify(s)
64383}
64384
64385// GoString returns the string representation
64386func (s ImportInstanceLaunchSpecification) GoString() string {
64387	return s.String()
64388}
64389
64390// SetAdditionalInfo sets the AdditionalInfo field's value.
64391func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
64392	s.AdditionalInfo = &v
64393	return s
64394}
64395
64396// SetArchitecture sets the Architecture field's value.
64397func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
64398	s.Architecture = &v
64399	return s
64400}
64401
64402// SetGroupIds sets the GroupIds field's value.
64403func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
64404	s.GroupIds = v
64405	return s
64406}
64407
64408// SetGroupNames sets the GroupNames field's value.
64409func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
64410	s.GroupNames = v
64411	return s
64412}
64413
64414// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
64415func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
64416	s.InstanceInitiatedShutdownBehavior = &v
64417	return s
64418}
64419
64420// SetInstanceType sets the InstanceType field's value.
64421func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
64422	s.InstanceType = &v
64423	return s
64424}
64425
64426// SetMonitoring sets the Monitoring field's value.
64427func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
64428	s.Monitoring = &v
64429	return s
64430}
64431
64432// SetPlacement sets the Placement field's value.
64433func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
64434	s.Placement = v
64435	return s
64436}
64437
64438// SetPrivateIpAddress sets the PrivateIpAddress field's value.
64439func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
64440	s.PrivateIpAddress = &v
64441	return s
64442}
64443
64444// SetSubnetId sets the SubnetId field's value.
64445func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
64446	s.SubnetId = &v
64447	return s
64448}
64449
64450// SetUserData sets the UserData field's value.
64451func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
64452	s.UserData = v
64453	return s
64454}
64455
64456// Contains the output for ImportInstance.
64457type ImportInstanceOutput struct {
64458	_ struct{} `type:"structure"`
64459
64460	// Information about the conversion task.
64461	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
64462}
64463
64464// String returns the string representation
64465func (s ImportInstanceOutput) String() string {
64466	return awsutil.Prettify(s)
64467}
64468
64469// GoString returns the string representation
64470func (s ImportInstanceOutput) GoString() string {
64471	return s.String()
64472}
64473
64474// SetConversionTask sets the ConversionTask field's value.
64475func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
64476	s.ConversionTask = v
64477	return s
64478}
64479
64480// Describes an import instance task.
64481type ImportInstanceTaskDetails struct {
64482	_ struct{} `type:"structure"`
64483
64484	// A description of the task.
64485	Description *string `locationName:"description" type:"string"`
64486
64487	// The ID of the instance.
64488	InstanceId *string `locationName:"instanceId" type:"string"`
64489
64490	// The instance operating system.
64491	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
64492
64493	// The volumes.
64494	Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
64495}
64496
64497// String returns the string representation
64498func (s ImportInstanceTaskDetails) String() string {
64499	return awsutil.Prettify(s)
64500}
64501
64502// GoString returns the string representation
64503func (s ImportInstanceTaskDetails) GoString() string {
64504	return s.String()
64505}
64506
64507// SetDescription sets the Description field's value.
64508func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
64509	s.Description = &v
64510	return s
64511}
64512
64513// SetInstanceId sets the InstanceId field's value.
64514func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
64515	s.InstanceId = &v
64516	return s
64517}
64518
64519// SetPlatform sets the Platform field's value.
64520func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
64521	s.Platform = &v
64522	return s
64523}
64524
64525// SetVolumes sets the Volumes field's value.
64526func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
64527	s.Volumes = v
64528	return s
64529}
64530
64531// Describes an import volume task.
64532type ImportInstanceVolumeDetailItem struct {
64533	_ struct{} `type:"structure"`
64534
64535	// The Availability Zone where the resulting instance will reside.
64536	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
64537
64538	// The number of bytes converted so far.
64539	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
64540
64541	// A description of the task.
64542	Description *string `locationName:"description" type:"string"`
64543
64544	// The image.
64545	Image *DiskImageDescription `locationName:"image" type:"structure"`
64546
64547	// The status of the import of this particular disk image.
64548	Status *string `locationName:"status" type:"string"`
64549
64550	// The status information or errors related to the disk image.
64551	StatusMessage *string `locationName:"statusMessage" type:"string"`
64552
64553	// The volume.
64554	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
64555}
64556
64557// String returns the string representation
64558func (s ImportInstanceVolumeDetailItem) String() string {
64559	return awsutil.Prettify(s)
64560}
64561
64562// GoString returns the string representation
64563func (s ImportInstanceVolumeDetailItem) GoString() string {
64564	return s.String()
64565}
64566
64567// SetAvailabilityZone sets the AvailabilityZone field's value.
64568func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
64569	s.AvailabilityZone = &v
64570	return s
64571}
64572
64573// SetBytesConverted sets the BytesConverted field's value.
64574func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
64575	s.BytesConverted = &v
64576	return s
64577}
64578
64579// SetDescription sets the Description field's value.
64580func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
64581	s.Description = &v
64582	return s
64583}
64584
64585// SetImage sets the Image field's value.
64586func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
64587	s.Image = v
64588	return s
64589}
64590
64591// SetStatus sets the Status field's value.
64592func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
64593	s.Status = &v
64594	return s
64595}
64596
64597// SetStatusMessage sets the StatusMessage field's value.
64598func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
64599	s.StatusMessage = &v
64600	return s
64601}
64602
64603// SetVolume sets the Volume field's value.
64604func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
64605	s.Volume = v
64606	return s
64607}
64608
64609type ImportKeyPairInput struct {
64610	_ struct{} `type:"structure"`
64611
64612	// Checks whether you have the required permissions for the action, without
64613	// actually making the request, and provides an error response. If you have
64614	// the required permissions, the error response is DryRunOperation. Otherwise,
64615	// it is UnauthorizedOperation.
64616	DryRun *bool `locationName:"dryRun" type:"boolean"`
64617
64618	// A unique name for the key pair.
64619	//
64620	// KeyName is a required field
64621	KeyName *string `locationName:"keyName" type:"string" required:"true"`
64622
64623	// The public key. For API calls, the text must be base64-encoded. For command
64624	// line tools, base64 encoding is performed for you.
64625	//
64626	// PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
64627	//
64628	// PublicKeyMaterial is a required field
64629	PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
64630}
64631
64632// String returns the string representation
64633func (s ImportKeyPairInput) String() string {
64634	return awsutil.Prettify(s)
64635}
64636
64637// GoString returns the string representation
64638func (s ImportKeyPairInput) GoString() string {
64639	return s.String()
64640}
64641
64642// Validate inspects the fields of the type to determine if they are valid.
64643func (s *ImportKeyPairInput) Validate() error {
64644	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
64645	if s.KeyName == nil {
64646		invalidParams.Add(request.NewErrParamRequired("KeyName"))
64647	}
64648	if s.PublicKeyMaterial == nil {
64649		invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
64650	}
64651
64652	if invalidParams.Len() > 0 {
64653		return invalidParams
64654	}
64655	return nil
64656}
64657
64658// SetDryRun sets the DryRun field's value.
64659func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
64660	s.DryRun = &v
64661	return s
64662}
64663
64664// SetKeyName sets the KeyName field's value.
64665func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
64666	s.KeyName = &v
64667	return s
64668}
64669
64670// SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
64671func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
64672	s.PublicKeyMaterial = v
64673	return s
64674}
64675
64676type ImportKeyPairOutput struct {
64677	_ struct{} `type:"structure"`
64678
64679	// The MD5 public key fingerprint as specified in section 4 of RFC 4716.
64680	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
64681
64682	// The key pair name you provided.
64683	KeyName *string `locationName:"keyName" type:"string"`
64684}
64685
64686// String returns the string representation
64687func (s ImportKeyPairOutput) String() string {
64688	return awsutil.Prettify(s)
64689}
64690
64691// GoString returns the string representation
64692func (s ImportKeyPairOutput) GoString() string {
64693	return s.String()
64694}
64695
64696// SetKeyFingerprint sets the KeyFingerprint field's value.
64697func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
64698	s.KeyFingerprint = &v
64699	return s
64700}
64701
64702// SetKeyName sets the KeyName field's value.
64703func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
64704	s.KeyName = &v
64705	return s
64706}
64707
64708// Contains the parameters for ImportSnapshot.
64709type ImportSnapshotInput struct {
64710	_ struct{} `type:"structure"`
64711
64712	// The client-specific data.
64713	ClientData *ClientData `type:"structure"`
64714
64715	// Token to enable idempotency for VM import requests.
64716	ClientToken *string `type:"string"`
64717
64718	// The description string for the import snapshot task.
64719	Description *string `type:"string"`
64720
64721	// Information about the disk container.
64722	DiskContainer *SnapshotDiskContainer `type:"structure"`
64723
64724	// Checks whether you have the required permissions for the action, without
64725	// actually making the request, and provides an error response. If you have
64726	// the required permissions, the error response is DryRunOperation. Otherwise,
64727	// it is UnauthorizedOperation.
64728	DryRun *bool `type:"boolean"`
64729
64730	// Specifies whether the destination snapshot of the imported image should be
64731	// encrypted. The default CMK for EBS is used unless you specify a non-default
64732	// AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information,
64733	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
64734	// in the Amazon Elastic Compute Cloud User Guide.
64735	Encrypted *bool `type:"boolean"`
64736
64737	// An identifier for the AWS Key Management Service (AWS KMS) customer master
64738	// key (CMK) to use when creating the encrypted snapshot. This parameter is
64739	// only required if you want to use a non-default CMK; if this parameter is
64740	// not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
64741	// the Encrypted flag must also be set.
64742	//
64743	// The CMK identifier may be provided in any of the following formats:
64744	//
64745	//    * Key ID
64746	//
64747	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
64748	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
64749	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
64750	//
64751	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
64752	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
64753	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
64754	//
64755	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
64756	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
64757	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
64758	//
64759	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
64760	// appear to complete even though you provided an invalid identifier. This action
64761	// will eventually report failure.
64762	//
64763	// The specified CMK must exist in the Region that the snapshot is being copied
64764	// to.
64765	KmsKeyId *string `type:"string"`
64766
64767	// The name of the role to use when not using the default role, 'vmimport'.
64768	RoleName *string `type:"string"`
64769}
64770
64771// String returns the string representation
64772func (s ImportSnapshotInput) String() string {
64773	return awsutil.Prettify(s)
64774}
64775
64776// GoString returns the string representation
64777func (s ImportSnapshotInput) GoString() string {
64778	return s.String()
64779}
64780
64781// SetClientData sets the ClientData field's value.
64782func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
64783	s.ClientData = v
64784	return s
64785}
64786
64787// SetClientToken sets the ClientToken field's value.
64788func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
64789	s.ClientToken = &v
64790	return s
64791}
64792
64793// SetDescription sets the Description field's value.
64794func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
64795	s.Description = &v
64796	return s
64797}
64798
64799// SetDiskContainer sets the DiskContainer field's value.
64800func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
64801	s.DiskContainer = v
64802	return s
64803}
64804
64805// SetDryRun sets the DryRun field's value.
64806func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
64807	s.DryRun = &v
64808	return s
64809}
64810
64811// SetEncrypted sets the Encrypted field's value.
64812func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
64813	s.Encrypted = &v
64814	return s
64815}
64816
64817// SetKmsKeyId sets the KmsKeyId field's value.
64818func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
64819	s.KmsKeyId = &v
64820	return s
64821}
64822
64823// SetRoleName sets the RoleName field's value.
64824func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
64825	s.RoleName = &v
64826	return s
64827}
64828
64829// Contains the output for ImportSnapshot.
64830type ImportSnapshotOutput struct {
64831	_ struct{} `type:"structure"`
64832
64833	// A description of the import snapshot task.
64834	Description *string `locationName:"description" type:"string"`
64835
64836	// The ID of the import snapshot task.
64837	ImportTaskId *string `locationName:"importTaskId" type:"string"`
64838
64839	// Information about the import snapshot task.
64840	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
64841}
64842
64843// String returns the string representation
64844func (s ImportSnapshotOutput) String() string {
64845	return awsutil.Prettify(s)
64846}
64847
64848// GoString returns the string representation
64849func (s ImportSnapshotOutput) GoString() string {
64850	return s.String()
64851}
64852
64853// SetDescription sets the Description field's value.
64854func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
64855	s.Description = &v
64856	return s
64857}
64858
64859// SetImportTaskId sets the ImportTaskId field's value.
64860func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
64861	s.ImportTaskId = &v
64862	return s
64863}
64864
64865// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
64866func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
64867	s.SnapshotTaskDetail = v
64868	return s
64869}
64870
64871// Describes an import snapshot task.
64872type ImportSnapshotTask struct {
64873	_ struct{} `type:"structure"`
64874
64875	// A description of the import snapshot task.
64876	Description *string `locationName:"description" type:"string"`
64877
64878	// The ID of the import snapshot task.
64879	ImportTaskId *string `locationName:"importTaskId" type:"string"`
64880
64881	// Describes an import snapshot task.
64882	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
64883}
64884
64885// String returns the string representation
64886func (s ImportSnapshotTask) String() string {
64887	return awsutil.Prettify(s)
64888}
64889
64890// GoString returns the string representation
64891func (s ImportSnapshotTask) GoString() string {
64892	return s.String()
64893}
64894
64895// SetDescription sets the Description field's value.
64896func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
64897	s.Description = &v
64898	return s
64899}
64900
64901// SetImportTaskId sets the ImportTaskId field's value.
64902func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
64903	s.ImportTaskId = &v
64904	return s
64905}
64906
64907// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
64908func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
64909	s.SnapshotTaskDetail = v
64910	return s
64911}
64912
64913// Contains the parameters for ImportVolume.
64914type ImportVolumeInput struct {
64915	_ struct{} `type:"structure"`
64916
64917	// The Availability Zone for the resulting EBS volume.
64918	//
64919	// AvailabilityZone is a required field
64920	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
64921
64922	// A description of the volume.
64923	Description *string `locationName:"description" type:"string"`
64924
64925	// Checks whether you have the required permissions for the action, without
64926	// actually making the request, and provides an error response. If you have
64927	// the required permissions, the error response is DryRunOperation. Otherwise,
64928	// it is UnauthorizedOperation.
64929	DryRun *bool `locationName:"dryRun" type:"boolean"`
64930
64931	// The disk image.
64932	//
64933	// Image is a required field
64934	Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
64935
64936	// The volume size.
64937	//
64938	// Volume is a required field
64939	Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
64940}
64941
64942// String returns the string representation
64943func (s ImportVolumeInput) String() string {
64944	return awsutil.Prettify(s)
64945}
64946
64947// GoString returns the string representation
64948func (s ImportVolumeInput) GoString() string {
64949	return s.String()
64950}
64951
64952// Validate inspects the fields of the type to determine if they are valid.
64953func (s *ImportVolumeInput) Validate() error {
64954	invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
64955	if s.AvailabilityZone == nil {
64956		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
64957	}
64958	if s.Image == nil {
64959		invalidParams.Add(request.NewErrParamRequired("Image"))
64960	}
64961	if s.Volume == nil {
64962		invalidParams.Add(request.NewErrParamRequired("Volume"))
64963	}
64964	if s.Image != nil {
64965		if err := s.Image.Validate(); err != nil {
64966			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
64967		}
64968	}
64969	if s.Volume != nil {
64970		if err := s.Volume.Validate(); err != nil {
64971			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
64972		}
64973	}
64974
64975	if invalidParams.Len() > 0 {
64976		return invalidParams
64977	}
64978	return nil
64979}
64980
64981// SetAvailabilityZone sets the AvailabilityZone field's value.
64982func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
64983	s.AvailabilityZone = &v
64984	return s
64985}
64986
64987// SetDescription sets the Description field's value.
64988func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
64989	s.Description = &v
64990	return s
64991}
64992
64993// SetDryRun sets the DryRun field's value.
64994func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
64995	s.DryRun = &v
64996	return s
64997}
64998
64999// SetImage sets the Image field's value.
65000func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
65001	s.Image = v
65002	return s
65003}
65004
65005// SetVolume sets the Volume field's value.
65006func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
65007	s.Volume = v
65008	return s
65009}
65010
65011// Contains the output for ImportVolume.
65012type ImportVolumeOutput struct {
65013	_ struct{} `type:"structure"`
65014
65015	// Information about the conversion task.
65016	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
65017}
65018
65019// String returns the string representation
65020func (s ImportVolumeOutput) String() string {
65021	return awsutil.Prettify(s)
65022}
65023
65024// GoString returns the string representation
65025func (s ImportVolumeOutput) GoString() string {
65026	return s.String()
65027}
65028
65029// SetConversionTask sets the ConversionTask field's value.
65030func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
65031	s.ConversionTask = v
65032	return s
65033}
65034
65035// Describes an import volume task.
65036type ImportVolumeTaskDetails struct {
65037	_ struct{} `type:"structure"`
65038
65039	// The Availability Zone where the resulting volume will reside.
65040	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
65041
65042	// The number of bytes converted so far.
65043	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
65044
65045	// The description you provided when starting the import volume task.
65046	Description *string `locationName:"description" type:"string"`
65047
65048	// The image.
65049	Image *DiskImageDescription `locationName:"image" type:"structure"`
65050
65051	// The volume.
65052	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
65053}
65054
65055// String returns the string representation
65056func (s ImportVolumeTaskDetails) String() string {
65057	return awsutil.Prettify(s)
65058}
65059
65060// GoString returns the string representation
65061func (s ImportVolumeTaskDetails) GoString() string {
65062	return s.String()
65063}
65064
65065// SetAvailabilityZone sets the AvailabilityZone field's value.
65066func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
65067	s.AvailabilityZone = &v
65068	return s
65069}
65070
65071// SetBytesConverted sets the BytesConverted field's value.
65072func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
65073	s.BytesConverted = &v
65074	return s
65075}
65076
65077// SetDescription sets the Description field's value.
65078func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
65079	s.Description = &v
65080	return s
65081}
65082
65083// SetImage sets the Image field's value.
65084func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
65085	s.Image = v
65086	return s
65087}
65088
65089// SetVolume sets the Volume field's value.
65090func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
65091	s.Volume = v
65092	return s
65093}
65094
65095// Describes an instance.
65096type Instance struct {
65097	_ struct{} `type:"structure"`
65098
65099	// The AMI launch index, which can be used to find this instance in the launch
65100	// group.
65101	AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
65102
65103	// The architecture of the image.
65104	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
65105
65106	// Any block device mapping entries for the instance.
65107	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
65108
65109	// The ID of the Capacity Reservation.
65110	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
65111
65112	// Information about the Capacity Reservation targeting option.
65113	CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
65114
65115	// The idempotency token you provided when you launched the instance, if applicable.
65116	ClientToken *string `locationName:"clientToken" type:"string"`
65117
65118	// The CPU options for the instance.
65119	CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
65120
65121	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
65122	// provides dedicated throughput to Amazon EBS and an optimized configuration
65123	// stack to provide optimal I/O performance. This optimization isn't available
65124	// with all instance types. Additional usage charges apply when using an EBS
65125	// Optimized instance.
65126	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
65127
65128	// The Elastic GPU associated with the instance.
65129	ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
65130
65131	// The elastic inference accelerator associated with the instance.
65132	ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
65133
65134	// Specifies whether enhanced networking with ENA is enabled.
65135	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
65136
65137	// Indicates whether the instance is enabled for hibernation.
65138	HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
65139
65140	// The hypervisor type of the instance.
65141	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
65142
65143	// The IAM instance profile associated with the instance, if applicable.
65144	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
65145
65146	// The ID of the AMI used to launch the instance.
65147	ImageId *string `locationName:"imageId" type:"string"`
65148
65149	// The ID of the instance.
65150	InstanceId *string `locationName:"instanceId" type:"string"`
65151
65152	// Indicates whether this is a Spot Instance or a Scheduled Instance.
65153	InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
65154
65155	// The instance type.
65156	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
65157
65158	// The kernel associated with this instance, if applicable.
65159	KernelId *string `locationName:"kernelId" type:"string"`
65160
65161	// The name of the key pair, if this instance was launched with an associated
65162	// key pair.
65163	KeyName *string `locationName:"keyName" type:"string"`
65164
65165	// The time the instance was launched.
65166	LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
65167
65168	// The license configurations.
65169	Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
65170
65171	// The monitoring for the instance.
65172	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
65173
65174	// [EC2-VPC] The network interfaces for the instance.
65175	NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
65176
65177	// The location where the instance launched, if applicable.
65178	Placement *Placement `locationName:"placement" type:"structure"`
65179
65180	// The value is Windows for Windows instances; otherwise blank.
65181	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
65182
65183	// (IPv4 only) The private DNS hostname name assigned to the instance. This
65184	// DNS hostname can only be used inside the Amazon EC2 network. This name is
65185	// not available until the instance enters the running state.
65186	//
65187	// [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
65188	// DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
65189	// VPC. If you are not using the Amazon-provided DNS server in your VPC, your
65190	// custom domain name servers must resolve the hostname as appropriate.
65191	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
65192
65193	// The private IPv4 address assigned to the instance.
65194	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
65195
65196	// The product codes attached to this instance, if applicable.
65197	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
65198
65199	// (IPv4 only) The public DNS name assigned to the instance. This name is not
65200	// available until the instance enters the running state. For EC2-VPC, this
65201	// name is only available if you've enabled DNS hostnames for your VPC.
65202	PublicDnsName *string `locationName:"dnsName" type:"string"`
65203
65204	// The public IPv4 address assigned to the instance, if applicable.
65205	PublicIpAddress *string `locationName:"ipAddress" type:"string"`
65206
65207	// The RAM disk associated with this instance, if applicable.
65208	RamdiskId *string `locationName:"ramdiskId" type:"string"`
65209
65210	// The device name of the root device volume (for example, /dev/sda1).
65211	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
65212
65213	// The root device type used by the AMI. The AMI can use an EBS volume or an
65214	// instance store volume.
65215	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
65216
65217	// The security groups for the instance.
65218	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
65219
65220	// Specifies whether to enable an instance launched in a VPC to perform NAT.
65221	// This controls whether source/destination checking is enabled on the instance.
65222	// A value of true means that checking is enabled, and false means that checking
65223	// is disabled. The value must be false for the instance to perform NAT. For
65224	// more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
65225	// in the Amazon Virtual Private Cloud User Guide.
65226	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
65227
65228	// If the request is a Spot Instance request, the ID of the request.
65229	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
65230
65231	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
65232	// interface is enabled.
65233	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
65234
65235	// The current state of the instance.
65236	State *InstanceState `locationName:"instanceState" type:"structure"`
65237
65238	// The reason for the most recent state transition.
65239	StateReason *StateReason `locationName:"stateReason" type:"structure"`
65240
65241	// The reason for the most recent state transition. This might be an empty string.
65242	StateTransitionReason *string `locationName:"reason" type:"string"`
65243
65244	// [EC2-VPC] The ID of the subnet in which the instance is running.
65245	SubnetId *string `locationName:"subnetId" type:"string"`
65246
65247	// Any tags assigned to the instance.
65248	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
65249
65250	// The virtualization type of the instance.
65251	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
65252
65253	// [EC2-VPC] The ID of the VPC in which the instance is running.
65254	VpcId *string `locationName:"vpcId" type:"string"`
65255}
65256
65257// String returns the string representation
65258func (s Instance) String() string {
65259	return awsutil.Prettify(s)
65260}
65261
65262// GoString returns the string representation
65263func (s Instance) GoString() string {
65264	return s.String()
65265}
65266
65267// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
65268func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
65269	s.AmiLaunchIndex = &v
65270	return s
65271}
65272
65273// SetArchitecture sets the Architecture field's value.
65274func (s *Instance) SetArchitecture(v string) *Instance {
65275	s.Architecture = &v
65276	return s
65277}
65278
65279// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
65280func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
65281	s.BlockDeviceMappings = v
65282	return s
65283}
65284
65285// SetCapacityReservationId sets the CapacityReservationId field's value.
65286func (s *Instance) SetCapacityReservationId(v string) *Instance {
65287	s.CapacityReservationId = &v
65288	return s
65289}
65290
65291// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
65292func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
65293	s.CapacityReservationSpecification = v
65294	return s
65295}
65296
65297// SetClientToken sets the ClientToken field's value.
65298func (s *Instance) SetClientToken(v string) *Instance {
65299	s.ClientToken = &v
65300	return s
65301}
65302
65303// SetCpuOptions sets the CpuOptions field's value.
65304func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
65305	s.CpuOptions = v
65306	return s
65307}
65308
65309// SetEbsOptimized sets the EbsOptimized field's value.
65310func (s *Instance) SetEbsOptimized(v bool) *Instance {
65311	s.EbsOptimized = &v
65312	return s
65313}
65314
65315// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
65316func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
65317	s.ElasticGpuAssociations = v
65318	return s
65319}
65320
65321// SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
65322func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
65323	s.ElasticInferenceAcceleratorAssociations = v
65324	return s
65325}
65326
65327// SetEnaSupport sets the EnaSupport field's value.
65328func (s *Instance) SetEnaSupport(v bool) *Instance {
65329	s.EnaSupport = &v
65330	return s
65331}
65332
65333// SetHibernationOptions sets the HibernationOptions field's value.
65334func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
65335	s.HibernationOptions = v
65336	return s
65337}
65338
65339// SetHypervisor sets the Hypervisor field's value.
65340func (s *Instance) SetHypervisor(v string) *Instance {
65341	s.Hypervisor = &v
65342	return s
65343}
65344
65345// SetIamInstanceProfile sets the IamInstanceProfile field's value.
65346func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
65347	s.IamInstanceProfile = v
65348	return s
65349}
65350
65351// SetImageId sets the ImageId field's value.
65352func (s *Instance) SetImageId(v string) *Instance {
65353	s.ImageId = &v
65354	return s
65355}
65356
65357// SetInstanceId sets the InstanceId field's value.
65358func (s *Instance) SetInstanceId(v string) *Instance {
65359	s.InstanceId = &v
65360	return s
65361}
65362
65363// SetInstanceLifecycle sets the InstanceLifecycle field's value.
65364func (s *Instance) SetInstanceLifecycle(v string) *Instance {
65365	s.InstanceLifecycle = &v
65366	return s
65367}
65368
65369// SetInstanceType sets the InstanceType field's value.
65370func (s *Instance) SetInstanceType(v string) *Instance {
65371	s.InstanceType = &v
65372	return s
65373}
65374
65375// SetKernelId sets the KernelId field's value.
65376func (s *Instance) SetKernelId(v string) *Instance {
65377	s.KernelId = &v
65378	return s
65379}
65380
65381// SetKeyName sets the KeyName field's value.
65382func (s *Instance) SetKeyName(v string) *Instance {
65383	s.KeyName = &v
65384	return s
65385}
65386
65387// SetLaunchTime sets the LaunchTime field's value.
65388func (s *Instance) SetLaunchTime(v time.Time) *Instance {
65389	s.LaunchTime = &v
65390	return s
65391}
65392
65393// SetLicenses sets the Licenses field's value.
65394func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
65395	s.Licenses = v
65396	return s
65397}
65398
65399// SetMonitoring sets the Monitoring field's value.
65400func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
65401	s.Monitoring = v
65402	return s
65403}
65404
65405// SetNetworkInterfaces sets the NetworkInterfaces field's value.
65406func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
65407	s.NetworkInterfaces = v
65408	return s
65409}
65410
65411// SetPlacement sets the Placement field's value.
65412func (s *Instance) SetPlacement(v *Placement) *Instance {
65413	s.Placement = v
65414	return s
65415}
65416
65417// SetPlatform sets the Platform field's value.
65418func (s *Instance) SetPlatform(v string) *Instance {
65419	s.Platform = &v
65420	return s
65421}
65422
65423// SetPrivateDnsName sets the PrivateDnsName field's value.
65424func (s *Instance) SetPrivateDnsName(v string) *Instance {
65425	s.PrivateDnsName = &v
65426	return s
65427}
65428
65429// SetPrivateIpAddress sets the PrivateIpAddress field's value.
65430func (s *Instance) SetPrivateIpAddress(v string) *Instance {
65431	s.PrivateIpAddress = &v
65432	return s
65433}
65434
65435// SetProductCodes sets the ProductCodes field's value.
65436func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
65437	s.ProductCodes = v
65438	return s
65439}
65440
65441// SetPublicDnsName sets the PublicDnsName field's value.
65442func (s *Instance) SetPublicDnsName(v string) *Instance {
65443	s.PublicDnsName = &v
65444	return s
65445}
65446
65447// SetPublicIpAddress sets the PublicIpAddress field's value.
65448func (s *Instance) SetPublicIpAddress(v string) *Instance {
65449	s.PublicIpAddress = &v
65450	return s
65451}
65452
65453// SetRamdiskId sets the RamdiskId field's value.
65454func (s *Instance) SetRamdiskId(v string) *Instance {
65455	s.RamdiskId = &v
65456	return s
65457}
65458
65459// SetRootDeviceName sets the RootDeviceName field's value.
65460func (s *Instance) SetRootDeviceName(v string) *Instance {
65461	s.RootDeviceName = &v
65462	return s
65463}
65464
65465// SetRootDeviceType sets the RootDeviceType field's value.
65466func (s *Instance) SetRootDeviceType(v string) *Instance {
65467	s.RootDeviceType = &v
65468	return s
65469}
65470
65471// SetSecurityGroups sets the SecurityGroups field's value.
65472func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
65473	s.SecurityGroups = v
65474	return s
65475}
65476
65477// SetSourceDestCheck sets the SourceDestCheck field's value.
65478func (s *Instance) SetSourceDestCheck(v bool) *Instance {
65479	s.SourceDestCheck = &v
65480	return s
65481}
65482
65483// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
65484func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
65485	s.SpotInstanceRequestId = &v
65486	return s
65487}
65488
65489// SetSriovNetSupport sets the SriovNetSupport field's value.
65490func (s *Instance) SetSriovNetSupport(v string) *Instance {
65491	s.SriovNetSupport = &v
65492	return s
65493}
65494
65495// SetState sets the State field's value.
65496func (s *Instance) SetState(v *InstanceState) *Instance {
65497	s.State = v
65498	return s
65499}
65500
65501// SetStateReason sets the StateReason field's value.
65502func (s *Instance) SetStateReason(v *StateReason) *Instance {
65503	s.StateReason = v
65504	return s
65505}
65506
65507// SetStateTransitionReason sets the StateTransitionReason field's value.
65508func (s *Instance) SetStateTransitionReason(v string) *Instance {
65509	s.StateTransitionReason = &v
65510	return s
65511}
65512
65513// SetSubnetId sets the SubnetId field's value.
65514func (s *Instance) SetSubnetId(v string) *Instance {
65515	s.SubnetId = &v
65516	return s
65517}
65518
65519// SetTags sets the Tags field's value.
65520func (s *Instance) SetTags(v []*Tag) *Instance {
65521	s.Tags = v
65522	return s
65523}
65524
65525// SetVirtualizationType sets the VirtualizationType field's value.
65526func (s *Instance) SetVirtualizationType(v string) *Instance {
65527	s.VirtualizationType = &v
65528	return s
65529}
65530
65531// SetVpcId sets the VpcId field's value.
65532func (s *Instance) SetVpcId(v string) *Instance {
65533	s.VpcId = &v
65534	return s
65535}
65536
65537// Describes a block device mapping.
65538type InstanceBlockDeviceMapping struct {
65539	_ struct{} `type:"structure"`
65540
65541	// The device name (for example, /dev/sdh or xvdh).
65542	DeviceName *string `locationName:"deviceName" type:"string"`
65543
65544	// Parameters used to automatically set up EBS volumes when the instance is
65545	// launched.
65546	Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
65547}
65548
65549// String returns the string representation
65550func (s InstanceBlockDeviceMapping) String() string {
65551	return awsutil.Prettify(s)
65552}
65553
65554// GoString returns the string representation
65555func (s InstanceBlockDeviceMapping) GoString() string {
65556	return s.String()
65557}
65558
65559// SetDeviceName sets the DeviceName field's value.
65560func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
65561	s.DeviceName = &v
65562	return s
65563}
65564
65565// SetEbs sets the Ebs field's value.
65566func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
65567	s.Ebs = v
65568	return s
65569}
65570
65571// Describes a block device mapping entry.
65572type InstanceBlockDeviceMappingSpecification struct {
65573	_ struct{} `type:"structure"`
65574
65575	// The device name (for example, /dev/sdh or xvdh).
65576	DeviceName *string `locationName:"deviceName" type:"string"`
65577
65578	// Parameters used to automatically set up EBS volumes when the instance is
65579	// launched.
65580	Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
65581
65582	// suppress the specified device included in the block device mapping.
65583	NoDevice *string `locationName:"noDevice" type:"string"`
65584
65585	// The virtual device name.
65586	VirtualName *string `locationName:"virtualName" type:"string"`
65587}
65588
65589// String returns the string representation
65590func (s InstanceBlockDeviceMappingSpecification) String() string {
65591	return awsutil.Prettify(s)
65592}
65593
65594// GoString returns the string representation
65595func (s InstanceBlockDeviceMappingSpecification) GoString() string {
65596	return s.String()
65597}
65598
65599// SetDeviceName sets the DeviceName field's value.
65600func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
65601	s.DeviceName = &v
65602	return s
65603}
65604
65605// SetEbs sets the Ebs field's value.
65606func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
65607	s.Ebs = v
65608	return s
65609}
65610
65611// SetNoDevice sets the NoDevice field's value.
65612func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
65613	s.NoDevice = &v
65614	return s
65615}
65616
65617// SetVirtualName sets the VirtualName field's value.
65618func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
65619	s.VirtualName = &v
65620	return s
65621}
65622
65623// Information about the instance type that the Dedicated Host supports.
65624type InstanceCapacity struct {
65625	_ struct{} `type:"structure"`
65626
65627	// The number of instances that can still be launched onto the Dedicated Host.
65628	AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
65629
65630	// The instance type size supported by the Dedicated Host.
65631	InstanceType *string `locationName:"instanceType" type:"string"`
65632
65633	// The total number of instances that can be launched onto the Dedicated Host.
65634	TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
65635}
65636
65637// String returns the string representation
65638func (s InstanceCapacity) String() string {
65639	return awsutil.Prettify(s)
65640}
65641
65642// GoString returns the string representation
65643func (s InstanceCapacity) GoString() string {
65644	return s.String()
65645}
65646
65647// SetAvailableCapacity sets the AvailableCapacity field's value.
65648func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
65649	s.AvailableCapacity = &v
65650	return s
65651}
65652
65653// SetInstanceType sets the InstanceType field's value.
65654func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
65655	s.InstanceType = &v
65656	return s
65657}
65658
65659// SetTotalCapacity sets the TotalCapacity field's value.
65660func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
65661	s.TotalCapacity = &v
65662	return s
65663}
65664
65665// Describes a Reserved Instance listing state.
65666type InstanceCount struct {
65667	_ struct{} `type:"structure"`
65668
65669	// The number of listed Reserved Instances in the state specified by the state.
65670	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
65671
65672	// The states of the listed Reserved Instances.
65673	State *string `locationName:"state" type:"string" enum:"ListingState"`
65674}
65675
65676// String returns the string representation
65677func (s InstanceCount) String() string {
65678	return awsutil.Prettify(s)
65679}
65680
65681// GoString returns the string representation
65682func (s InstanceCount) GoString() string {
65683	return s.String()
65684}
65685
65686// SetInstanceCount sets the InstanceCount field's value.
65687func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
65688	s.InstanceCount = &v
65689	return s
65690}
65691
65692// SetState sets the State field's value.
65693func (s *InstanceCount) SetState(v string) *InstanceCount {
65694	s.State = &v
65695	return s
65696}
65697
65698// Describes the credit option for CPU usage of a T2 or T3 instance.
65699type InstanceCreditSpecification struct {
65700	_ struct{} `type:"structure"`
65701
65702	// The credit option for CPU usage of the instance. Valid values are standard
65703	// and unlimited.
65704	CpuCredits *string `locationName:"cpuCredits" type:"string"`
65705
65706	// The ID of the instance.
65707	InstanceId *string `locationName:"instanceId" type:"string"`
65708}
65709
65710// String returns the string representation
65711func (s InstanceCreditSpecification) String() string {
65712	return awsutil.Prettify(s)
65713}
65714
65715// GoString returns the string representation
65716func (s InstanceCreditSpecification) GoString() string {
65717	return s.String()
65718}
65719
65720// SetCpuCredits sets the CpuCredits field's value.
65721func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
65722	s.CpuCredits = &v
65723	return s
65724}
65725
65726// SetInstanceId sets the InstanceId field's value.
65727func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
65728	s.InstanceId = &v
65729	return s
65730}
65731
65732// Describes the credit option for CPU usage of a T2 or T3 instance.
65733type InstanceCreditSpecificationRequest struct {
65734	_ struct{} `type:"structure"`
65735
65736	// The credit option for CPU usage of the instance. Valid values are standard
65737	// and unlimited.
65738	CpuCredits *string `type:"string"`
65739
65740	// The ID of the instance.
65741	InstanceId *string `type:"string"`
65742}
65743
65744// String returns the string representation
65745func (s InstanceCreditSpecificationRequest) String() string {
65746	return awsutil.Prettify(s)
65747}
65748
65749// GoString returns the string representation
65750func (s InstanceCreditSpecificationRequest) GoString() string {
65751	return s.String()
65752}
65753
65754// SetCpuCredits sets the CpuCredits field's value.
65755func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
65756	s.CpuCredits = &v
65757	return s
65758}
65759
65760// SetInstanceId sets the InstanceId field's value.
65761func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
65762	s.InstanceId = &v
65763	return s
65764}
65765
65766// Describes an instance to export.
65767type InstanceExportDetails struct {
65768	_ struct{} `type:"structure"`
65769
65770	// The ID of the resource being exported.
65771	InstanceId *string `locationName:"instanceId" type:"string"`
65772
65773	// The target virtualization environment.
65774	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
65775}
65776
65777// String returns the string representation
65778func (s InstanceExportDetails) String() string {
65779	return awsutil.Prettify(s)
65780}
65781
65782// GoString returns the string representation
65783func (s InstanceExportDetails) GoString() string {
65784	return s.String()
65785}
65786
65787// SetInstanceId sets the InstanceId field's value.
65788func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
65789	s.InstanceId = &v
65790	return s
65791}
65792
65793// SetTargetEnvironment sets the TargetEnvironment field's value.
65794func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
65795	s.TargetEnvironment = &v
65796	return s
65797}
65798
65799// Describes an IPv6 address.
65800type InstanceIpv6Address struct {
65801	_ struct{} `type:"structure"`
65802
65803	// The IPv6 address.
65804	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
65805}
65806
65807// String returns the string representation
65808func (s InstanceIpv6Address) String() string {
65809	return awsutil.Prettify(s)
65810}
65811
65812// GoString returns the string representation
65813func (s InstanceIpv6Address) GoString() string {
65814	return s.String()
65815}
65816
65817// SetIpv6Address sets the Ipv6Address field's value.
65818func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
65819	s.Ipv6Address = &v
65820	return s
65821}
65822
65823// Describes an IPv6 address.
65824type InstanceIpv6AddressRequest struct {
65825	_ struct{} `type:"structure"`
65826
65827	// The IPv6 address.
65828	Ipv6Address *string `type:"string"`
65829}
65830
65831// String returns the string representation
65832func (s InstanceIpv6AddressRequest) String() string {
65833	return awsutil.Prettify(s)
65834}
65835
65836// GoString returns the string representation
65837func (s InstanceIpv6AddressRequest) GoString() string {
65838	return s.String()
65839}
65840
65841// SetIpv6Address sets the Ipv6Address field's value.
65842func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
65843	s.Ipv6Address = &v
65844	return s
65845}
65846
65847// Describes the market (purchasing) option for the instances.
65848type InstanceMarketOptionsRequest struct {
65849	_ struct{} `type:"structure"`
65850
65851	// The market type.
65852	MarketType *string `type:"string" enum:"MarketType"`
65853
65854	// The options for Spot Instances.
65855	SpotOptions *SpotMarketOptions `type:"structure"`
65856}
65857
65858// String returns the string representation
65859func (s InstanceMarketOptionsRequest) String() string {
65860	return awsutil.Prettify(s)
65861}
65862
65863// GoString returns the string representation
65864func (s InstanceMarketOptionsRequest) GoString() string {
65865	return s.String()
65866}
65867
65868// SetMarketType sets the MarketType field's value.
65869func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
65870	s.MarketType = &v
65871	return s
65872}
65873
65874// SetSpotOptions sets the SpotOptions field's value.
65875func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
65876	s.SpotOptions = v
65877	return s
65878}
65879
65880// Describes the monitoring of an instance.
65881type InstanceMonitoring struct {
65882	_ struct{} `type:"structure"`
65883
65884	// The ID of the instance.
65885	InstanceId *string `locationName:"instanceId" type:"string"`
65886
65887	// The monitoring for the instance.
65888	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
65889}
65890
65891// String returns the string representation
65892func (s InstanceMonitoring) String() string {
65893	return awsutil.Prettify(s)
65894}
65895
65896// GoString returns the string representation
65897func (s InstanceMonitoring) GoString() string {
65898	return s.String()
65899}
65900
65901// SetInstanceId sets the InstanceId field's value.
65902func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
65903	s.InstanceId = &v
65904	return s
65905}
65906
65907// SetMonitoring sets the Monitoring field's value.
65908func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
65909	s.Monitoring = v
65910	return s
65911}
65912
65913// Describes a network interface.
65914type InstanceNetworkInterface struct {
65915	_ struct{} `type:"structure"`
65916
65917	// The association information for an Elastic IPv4 associated with the network
65918	// interface.
65919	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
65920
65921	// The network interface attachment.
65922	Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
65923
65924	// The description.
65925	Description *string `locationName:"description" type:"string"`
65926
65927	// One or more security groups.
65928	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
65929
65930	// Describes the type of network interface.
65931	//
65932	// Valid values: interface | efa
65933	InterfaceType *string `locationName:"interfaceType" type:"string"`
65934
65935	// One or more IPv6 addresses associated with the network interface.
65936	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
65937
65938	// The MAC address.
65939	MacAddress *string `locationName:"macAddress" type:"string"`
65940
65941	// The ID of the network interface.
65942	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
65943
65944	// The ID of the AWS account that created the network interface.
65945	OwnerId *string `locationName:"ownerId" type:"string"`
65946
65947	// The private DNS name.
65948	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
65949
65950	// The IPv4 address of the network interface within the subnet.
65951	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
65952
65953	// One or more private IPv4 addresses associated with the network interface.
65954	PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
65955
65956	// Indicates whether to validate network traffic to or from this network interface.
65957	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
65958
65959	// The status of the network interface.
65960	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
65961
65962	// The ID of the subnet.
65963	SubnetId *string `locationName:"subnetId" type:"string"`
65964
65965	// The ID of the VPC.
65966	VpcId *string `locationName:"vpcId" type:"string"`
65967}
65968
65969// String returns the string representation
65970func (s InstanceNetworkInterface) String() string {
65971	return awsutil.Prettify(s)
65972}
65973
65974// GoString returns the string representation
65975func (s InstanceNetworkInterface) GoString() string {
65976	return s.String()
65977}
65978
65979// SetAssociation sets the Association field's value.
65980func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
65981	s.Association = v
65982	return s
65983}
65984
65985// SetAttachment sets the Attachment field's value.
65986func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
65987	s.Attachment = v
65988	return s
65989}
65990
65991// SetDescription sets the Description field's value.
65992func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
65993	s.Description = &v
65994	return s
65995}
65996
65997// SetGroups sets the Groups field's value.
65998func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
65999	s.Groups = v
66000	return s
66001}
66002
66003// SetInterfaceType sets the InterfaceType field's value.
66004func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface {
66005	s.InterfaceType = &v
66006	return s
66007}
66008
66009// SetIpv6Addresses sets the Ipv6Addresses field's value.
66010func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
66011	s.Ipv6Addresses = v
66012	return s
66013}
66014
66015// SetMacAddress sets the MacAddress field's value.
66016func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
66017	s.MacAddress = &v
66018	return s
66019}
66020
66021// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
66022func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
66023	s.NetworkInterfaceId = &v
66024	return s
66025}
66026
66027// SetOwnerId sets the OwnerId field's value.
66028func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
66029	s.OwnerId = &v
66030	return s
66031}
66032
66033// SetPrivateDnsName sets the PrivateDnsName field's value.
66034func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
66035	s.PrivateDnsName = &v
66036	return s
66037}
66038
66039// SetPrivateIpAddress sets the PrivateIpAddress field's value.
66040func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
66041	s.PrivateIpAddress = &v
66042	return s
66043}
66044
66045// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
66046func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
66047	s.PrivateIpAddresses = v
66048	return s
66049}
66050
66051// SetSourceDestCheck sets the SourceDestCheck field's value.
66052func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
66053	s.SourceDestCheck = &v
66054	return s
66055}
66056
66057// SetStatus sets the Status field's value.
66058func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
66059	s.Status = &v
66060	return s
66061}
66062
66063// SetSubnetId sets the SubnetId field's value.
66064func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
66065	s.SubnetId = &v
66066	return s
66067}
66068
66069// SetVpcId sets the VpcId field's value.
66070func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
66071	s.VpcId = &v
66072	return s
66073}
66074
66075// Describes association information for an Elastic IP address (IPv4).
66076type InstanceNetworkInterfaceAssociation struct {
66077	_ struct{} `type:"structure"`
66078
66079	// The ID of the owner of the Elastic IP address.
66080	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
66081
66082	// The public DNS name.
66083	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
66084
66085	// The public IP address or Elastic IP address bound to the network interface.
66086	PublicIp *string `locationName:"publicIp" type:"string"`
66087}
66088
66089// String returns the string representation
66090func (s InstanceNetworkInterfaceAssociation) String() string {
66091	return awsutil.Prettify(s)
66092}
66093
66094// GoString returns the string representation
66095func (s InstanceNetworkInterfaceAssociation) GoString() string {
66096	return s.String()
66097}
66098
66099// SetIpOwnerId sets the IpOwnerId field's value.
66100func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
66101	s.IpOwnerId = &v
66102	return s
66103}
66104
66105// SetPublicDnsName sets the PublicDnsName field's value.
66106func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
66107	s.PublicDnsName = &v
66108	return s
66109}
66110
66111// SetPublicIp sets the PublicIp field's value.
66112func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
66113	s.PublicIp = &v
66114	return s
66115}
66116
66117// Describes a network interface attachment.
66118type InstanceNetworkInterfaceAttachment struct {
66119	_ struct{} `type:"structure"`
66120
66121	// The time stamp when the attachment initiated.
66122	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
66123
66124	// The ID of the network interface attachment.
66125	AttachmentId *string `locationName:"attachmentId" type:"string"`
66126
66127	// Indicates whether the network interface is deleted when the instance is terminated.
66128	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
66129
66130	// The index of the device on the instance for the network interface attachment.
66131	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
66132
66133	// The attachment state.
66134	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
66135}
66136
66137// String returns the string representation
66138func (s InstanceNetworkInterfaceAttachment) String() string {
66139	return awsutil.Prettify(s)
66140}
66141
66142// GoString returns the string representation
66143func (s InstanceNetworkInterfaceAttachment) GoString() string {
66144	return s.String()
66145}
66146
66147// SetAttachTime sets the AttachTime field's value.
66148func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
66149	s.AttachTime = &v
66150	return s
66151}
66152
66153// SetAttachmentId sets the AttachmentId field's value.
66154func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
66155	s.AttachmentId = &v
66156	return s
66157}
66158
66159// SetDeleteOnTermination sets the DeleteOnTermination field's value.
66160func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
66161	s.DeleteOnTermination = &v
66162	return s
66163}
66164
66165// SetDeviceIndex sets the DeviceIndex field's value.
66166func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
66167	s.DeviceIndex = &v
66168	return s
66169}
66170
66171// SetStatus sets the Status field's value.
66172func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
66173	s.Status = &v
66174	return s
66175}
66176
66177// Describes a network interface.
66178type InstanceNetworkInterfaceSpecification struct {
66179	_ struct{} `type:"structure"`
66180
66181	// Indicates whether to assign a public IPv4 address to an instance you launch
66182	// in a VPC. The public IP address can only be assigned to a network interface
66183	// for eth0, and can only be assigned to a new network interface, not an existing
66184	// one. You cannot specify more than one network interface in the request. If
66185	// launching into a default subnet, the default value is true.
66186	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
66187
66188	// If set to true, the interface is deleted when the instance is terminated.
66189	// You can specify true only if creating a new network interface when launching
66190	// an instance.
66191	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
66192
66193	// The description of the network interface. Applies only if creating a network
66194	// interface when launching an instance.
66195	Description *string `locationName:"description" type:"string"`
66196
66197	// The position of the network interface in the attachment order. A primary
66198	// network interface has a device index of 0.
66199	//
66200	// If you specify a network interface when launching an instance, you must specify
66201	// the device index.
66202	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
66203
66204	// The IDs of the security groups for the network interface. Applies only if
66205	// creating a network interface when launching an instance.
66206	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
66207
66208	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
66209	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
66210	// in the Amazon Elastic Compute Cloud User Guide.
66211	//
66212	// If you are not creating an EFA, specify interface or omit this parameter.
66213	//
66214	// Valide values: interface | efa
66215	InterfaceType *string `type:"string"`
66216
66217	// A number of IPv6 addresses to assign to the network interface. Amazon EC2
66218	// chooses the IPv6 addresses from the range of the subnet. You cannot specify
66219	// this option and the option to assign specific IPv6 addresses in the same
66220	// request. You can specify this option if you've specified a minimum number
66221	// of instances to launch.
66222	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
66223
66224	// One or more IPv6 addresses to assign to the network interface. You cannot
66225	// specify this option and the option to assign a number of IPv6 addresses in
66226	// the same request. You cannot specify this option if you've specified a minimum
66227	// number of instances to launch.
66228	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
66229
66230	// The ID of the network interface.
66231	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
66232
66233	// The private IPv4 address of the network interface. Applies only if creating
66234	// a network interface when launching an instance. You cannot specify this option
66235	// if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
66236	// request.
66237	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
66238
66239	// One or more private IPv4 addresses to assign to the network interface. Only
66240	// one private IPv4 address can be designated as primary. You cannot specify
66241	// this option if you're launching more than one instance in a RunInstances
66242	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
66243	// request.
66244	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
66245
66246	// The number of secondary private IPv4 addresses. You can't specify this option
66247	// and specify more than one private IP address using the private IP addresses
66248	// option. You cannot specify this option if you're launching more than one
66249	// instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
66250	// request.
66251	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
66252
66253	// The ID of the subnet associated with the network string. Applies only if
66254	// creating a network interface when launching an instance.
66255	SubnetId *string `locationName:"subnetId" type:"string"`
66256}
66257
66258// String returns the string representation
66259func (s InstanceNetworkInterfaceSpecification) String() string {
66260	return awsutil.Prettify(s)
66261}
66262
66263// GoString returns the string representation
66264func (s InstanceNetworkInterfaceSpecification) GoString() string {
66265	return s.String()
66266}
66267
66268// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
66269func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
66270	s.AssociatePublicIpAddress = &v
66271	return s
66272}
66273
66274// SetDeleteOnTermination sets the DeleteOnTermination field's value.
66275func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
66276	s.DeleteOnTermination = &v
66277	return s
66278}
66279
66280// SetDescription sets the Description field's value.
66281func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
66282	s.Description = &v
66283	return s
66284}
66285
66286// SetDeviceIndex sets the DeviceIndex field's value.
66287func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
66288	s.DeviceIndex = &v
66289	return s
66290}
66291
66292// SetGroups sets the Groups field's value.
66293func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
66294	s.Groups = v
66295	return s
66296}
66297
66298// SetInterfaceType sets the InterfaceType field's value.
66299func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification {
66300	s.InterfaceType = &v
66301	return s
66302}
66303
66304// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
66305func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
66306	s.Ipv6AddressCount = &v
66307	return s
66308}
66309
66310// SetIpv6Addresses sets the Ipv6Addresses field's value.
66311func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
66312	s.Ipv6Addresses = v
66313	return s
66314}
66315
66316// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
66317func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
66318	s.NetworkInterfaceId = &v
66319	return s
66320}
66321
66322// SetPrivateIpAddress sets the PrivateIpAddress field's value.
66323func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
66324	s.PrivateIpAddress = &v
66325	return s
66326}
66327
66328// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
66329func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
66330	s.PrivateIpAddresses = v
66331	return s
66332}
66333
66334// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
66335func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
66336	s.SecondaryPrivateIpAddressCount = &v
66337	return s
66338}
66339
66340// SetSubnetId sets the SubnetId field's value.
66341func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
66342	s.SubnetId = &v
66343	return s
66344}
66345
66346// Describes a private IPv4 address.
66347type InstancePrivateIpAddress struct {
66348	_ struct{} `type:"structure"`
66349
66350	// The association information for an Elastic IP address for the network interface.
66351	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
66352
66353	// Indicates whether this IPv4 address is the primary private IP address of
66354	// the network interface.
66355	Primary *bool `locationName:"primary" type:"boolean"`
66356
66357	// The private IPv4 DNS name.
66358	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
66359
66360	// The private IPv4 address of the network interface.
66361	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
66362}
66363
66364// String returns the string representation
66365func (s InstancePrivateIpAddress) String() string {
66366	return awsutil.Prettify(s)
66367}
66368
66369// GoString returns the string representation
66370func (s InstancePrivateIpAddress) GoString() string {
66371	return s.String()
66372}
66373
66374// SetAssociation sets the Association field's value.
66375func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
66376	s.Association = v
66377	return s
66378}
66379
66380// SetPrimary sets the Primary field's value.
66381func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
66382	s.Primary = &v
66383	return s
66384}
66385
66386// SetPrivateDnsName sets the PrivateDnsName field's value.
66387func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
66388	s.PrivateDnsName = &v
66389	return s
66390}
66391
66392// SetPrivateIpAddress sets the PrivateIpAddress field's value.
66393func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
66394	s.PrivateIpAddress = &v
66395	return s
66396}
66397
66398// Describes the current state of an instance.
66399type InstanceState struct {
66400	_ struct{} `type:"structure"`
66401
66402	// The state of the instance as a 16-bit unsigned integer.
66403	//
66404	// The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
66405	// values between 256 and 65,535. These numerical values are used for internal
66406	// purposes and should be ignored.
66407	//
66408	// The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
66409	// values between 0 and 255.
66410	//
66411	// The valid values for instance-state-code will all be in the range of the
66412	// low byte and they are:
66413	//
66414	//    * 0 : pending
66415	//
66416	//    * 16 : running
66417	//
66418	//    * 32 : shutting-down
66419	//
66420	//    * 48 : terminated
66421	//
66422	//    * 64 : stopping
66423	//
66424	//    * 80 : stopped
66425	//
66426	// You can ignore the high byte value by zeroing out all of the bits above 2^8
66427	// or 256 in decimal.
66428	Code *int64 `locationName:"code" type:"integer"`
66429
66430	// The current state of the instance.
66431	Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
66432}
66433
66434// String returns the string representation
66435func (s InstanceState) String() string {
66436	return awsutil.Prettify(s)
66437}
66438
66439// GoString returns the string representation
66440func (s InstanceState) GoString() string {
66441	return s.String()
66442}
66443
66444// SetCode sets the Code field's value.
66445func (s *InstanceState) SetCode(v int64) *InstanceState {
66446	s.Code = &v
66447	return s
66448}
66449
66450// SetName sets the Name field's value.
66451func (s *InstanceState) SetName(v string) *InstanceState {
66452	s.Name = &v
66453	return s
66454}
66455
66456// Describes an instance state change.
66457type InstanceStateChange struct {
66458	_ struct{} `type:"structure"`
66459
66460	// The current state of the instance.
66461	CurrentState *InstanceState `locationName:"currentState" type:"structure"`
66462
66463	// The ID of the instance.
66464	InstanceId *string `locationName:"instanceId" type:"string"`
66465
66466	// The previous state of the instance.
66467	PreviousState *InstanceState `locationName:"previousState" type:"structure"`
66468}
66469
66470// String returns the string representation
66471func (s InstanceStateChange) String() string {
66472	return awsutil.Prettify(s)
66473}
66474
66475// GoString returns the string representation
66476func (s InstanceStateChange) GoString() string {
66477	return s.String()
66478}
66479
66480// SetCurrentState sets the CurrentState field's value.
66481func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
66482	s.CurrentState = v
66483	return s
66484}
66485
66486// SetInstanceId sets the InstanceId field's value.
66487func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
66488	s.InstanceId = &v
66489	return s
66490}
66491
66492// SetPreviousState sets the PreviousState field's value.
66493func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
66494	s.PreviousState = v
66495	return s
66496}
66497
66498// Describes the status of an instance.
66499type InstanceStatus struct {
66500	_ struct{} `type:"structure"`
66501
66502	// The Availability Zone of the instance.
66503	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
66504
66505	// Any scheduled events associated with the instance.
66506	Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
66507
66508	// The ID of the instance.
66509	InstanceId *string `locationName:"instanceId" type:"string"`
66510
66511	// The intended state of the instance. DescribeInstanceStatus requires that
66512	// an instance be in the running state.
66513	InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
66514
66515	// Reports impaired functionality that stems from issues internal to the instance,
66516	// such as impaired reachability.
66517	InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
66518
66519	// Reports impaired functionality that stems from issues related to the systems
66520	// that support an instance, such as hardware failures and network connectivity
66521	// problems.
66522	SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
66523}
66524
66525// String returns the string representation
66526func (s InstanceStatus) String() string {
66527	return awsutil.Prettify(s)
66528}
66529
66530// GoString returns the string representation
66531func (s InstanceStatus) GoString() string {
66532	return s.String()
66533}
66534
66535// SetAvailabilityZone sets the AvailabilityZone field's value.
66536func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
66537	s.AvailabilityZone = &v
66538	return s
66539}
66540
66541// SetEvents sets the Events field's value.
66542func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
66543	s.Events = v
66544	return s
66545}
66546
66547// SetInstanceId sets the InstanceId field's value.
66548func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
66549	s.InstanceId = &v
66550	return s
66551}
66552
66553// SetInstanceState sets the InstanceState field's value.
66554func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
66555	s.InstanceState = v
66556	return s
66557}
66558
66559// SetInstanceStatus sets the InstanceStatus field's value.
66560func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
66561	s.InstanceStatus = v
66562	return s
66563}
66564
66565// SetSystemStatus sets the SystemStatus field's value.
66566func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
66567	s.SystemStatus = v
66568	return s
66569}
66570
66571// Describes the instance status.
66572type InstanceStatusDetails struct {
66573	_ struct{} `type:"structure"`
66574
66575	// The time when a status check failed. For an instance that was launched and
66576	// impaired, this is the time when the instance was launched.
66577	ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
66578
66579	// The type of instance status.
66580	Name *string `locationName:"name" type:"string" enum:"StatusName"`
66581
66582	// The status.
66583	Status *string `locationName:"status" type:"string" enum:"StatusType"`
66584}
66585
66586// String returns the string representation
66587func (s InstanceStatusDetails) String() string {
66588	return awsutil.Prettify(s)
66589}
66590
66591// GoString returns the string representation
66592func (s InstanceStatusDetails) GoString() string {
66593	return s.String()
66594}
66595
66596// SetImpairedSince sets the ImpairedSince field's value.
66597func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
66598	s.ImpairedSince = &v
66599	return s
66600}
66601
66602// SetName sets the Name field's value.
66603func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
66604	s.Name = &v
66605	return s
66606}
66607
66608// SetStatus sets the Status field's value.
66609func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
66610	s.Status = &v
66611	return s
66612}
66613
66614// Describes a scheduled event for an instance.
66615type InstanceStatusEvent struct {
66616	_ struct{} `type:"structure"`
66617
66618	// The event code.
66619	Code *string `locationName:"code" type:"string" enum:"EventCode"`
66620
66621	// A description of the event.
66622	//
66623	// After a scheduled event is completed, it can still be described for up to
66624	// a week. If the event has been completed, this description starts with the
66625	// following text: [Completed].
66626	Description *string `locationName:"description" type:"string"`
66627
66628	// The ID of the event.
66629	InstanceEventId *string `locationName:"instanceEventId" type:"string"`
66630
66631	// The latest scheduled end time for the event.
66632	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
66633
66634	// The earliest scheduled start time for the event.
66635	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
66636
66637	// The deadline for starting the event.
66638	NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
66639}
66640
66641// String returns the string representation
66642func (s InstanceStatusEvent) String() string {
66643	return awsutil.Prettify(s)
66644}
66645
66646// GoString returns the string representation
66647func (s InstanceStatusEvent) GoString() string {
66648	return s.String()
66649}
66650
66651// SetCode sets the Code field's value.
66652func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
66653	s.Code = &v
66654	return s
66655}
66656
66657// SetDescription sets the Description field's value.
66658func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
66659	s.Description = &v
66660	return s
66661}
66662
66663// SetInstanceEventId sets the InstanceEventId field's value.
66664func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
66665	s.InstanceEventId = &v
66666	return s
66667}
66668
66669// SetNotAfter sets the NotAfter field's value.
66670func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
66671	s.NotAfter = &v
66672	return s
66673}
66674
66675// SetNotBefore sets the NotBefore field's value.
66676func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
66677	s.NotBefore = &v
66678	return s
66679}
66680
66681// SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
66682func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
66683	s.NotBeforeDeadline = &v
66684	return s
66685}
66686
66687// Describes the status of an instance.
66688type InstanceStatusSummary struct {
66689	_ struct{} `type:"structure"`
66690
66691	// The system instance health or application instance health.
66692	Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
66693
66694	// The status.
66695	Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
66696}
66697
66698// String returns the string representation
66699func (s InstanceStatusSummary) String() string {
66700	return awsutil.Prettify(s)
66701}
66702
66703// GoString returns the string representation
66704func (s InstanceStatusSummary) GoString() string {
66705	return s.String()
66706}
66707
66708// SetDetails sets the Details field's value.
66709func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
66710	s.Details = v
66711	return s
66712}
66713
66714// SetStatus sets the Status field's value.
66715func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
66716	s.Status = &v
66717	return s
66718}
66719
66720// Describes an internet gateway.
66721type InternetGateway struct {
66722	_ struct{} `type:"structure"`
66723
66724	// Any VPCs attached to the internet gateway.
66725	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
66726
66727	// The ID of the internet gateway.
66728	InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
66729
66730	// The ID of the AWS account that owns the internet gateway.
66731	OwnerId *string `locationName:"ownerId" type:"string"`
66732
66733	// Any tags assigned to the internet gateway.
66734	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
66735}
66736
66737// String returns the string representation
66738func (s InternetGateway) String() string {
66739	return awsutil.Prettify(s)
66740}
66741
66742// GoString returns the string representation
66743func (s InternetGateway) GoString() string {
66744	return s.String()
66745}
66746
66747// SetAttachments sets the Attachments field's value.
66748func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
66749	s.Attachments = v
66750	return s
66751}
66752
66753// SetInternetGatewayId sets the InternetGatewayId field's value.
66754func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
66755	s.InternetGatewayId = &v
66756	return s
66757}
66758
66759// SetOwnerId sets the OwnerId field's value.
66760func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
66761	s.OwnerId = &v
66762	return s
66763}
66764
66765// SetTags sets the Tags field's value.
66766func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
66767	s.Tags = v
66768	return s
66769}
66770
66771// Describes the attachment of a VPC to an internet gateway or an egress-only
66772// internet gateway.
66773type InternetGatewayAttachment struct {
66774	_ struct{} `type:"structure"`
66775
66776	// The current state of the attachment. For an internet gateway, the state is
66777	// available when attached to a VPC; otherwise, this value is not returned.
66778	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
66779
66780	// The ID of the VPC.
66781	VpcId *string `locationName:"vpcId" type:"string"`
66782}
66783
66784// String returns the string representation
66785func (s InternetGatewayAttachment) String() string {
66786	return awsutil.Prettify(s)
66787}
66788
66789// GoString returns the string representation
66790func (s InternetGatewayAttachment) GoString() string {
66791	return s.String()
66792}
66793
66794// SetState sets the State field's value.
66795func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
66796	s.State = &v
66797	return s
66798}
66799
66800// SetVpcId sets the VpcId field's value.
66801func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
66802	s.VpcId = &v
66803	return s
66804}
66805
66806// Describes a set of permissions for a security group rule.
66807type IpPermission struct {
66808	_ struct{} `type:"structure"`
66809
66810	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
66811	// type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
66812	// all ICMP/ICMPv6 types, you must specify all codes.
66813	FromPort *int64 `locationName:"fromPort" type:"integer"`
66814
66815	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
66816	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
66817	//
66818	// [VPC only] Use -1 to specify all protocols. When authorizing security group
66819	// rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6
66820	// allows traffic on all ports, regardless of any port range you specify. For
66821	// tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range
66822	// is optional; if you omit the port range, traffic for all types and codes
66823	// is allowed.
66824	IpProtocol *string `locationName:"ipProtocol" type:"string"`
66825
66826	// The IPv4 ranges.
66827	IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
66828
66829	// [VPC only] The IPv6 ranges.
66830	Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
66831
66832	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
66833	// is the AWS service to access through a VPC endpoint from instances associated
66834	// with the security group.
66835	PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
66836
66837	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
66838	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
66839	// types, you must specify all codes.
66840	ToPort *int64 `locationName:"toPort" type:"integer"`
66841
66842	// The security group and AWS account ID pairs.
66843	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
66844}
66845
66846// String returns the string representation
66847func (s IpPermission) String() string {
66848	return awsutil.Prettify(s)
66849}
66850
66851// GoString returns the string representation
66852func (s IpPermission) GoString() string {
66853	return s.String()
66854}
66855
66856// SetFromPort sets the FromPort field's value.
66857func (s *IpPermission) SetFromPort(v int64) *IpPermission {
66858	s.FromPort = &v
66859	return s
66860}
66861
66862// SetIpProtocol sets the IpProtocol field's value.
66863func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
66864	s.IpProtocol = &v
66865	return s
66866}
66867
66868// SetIpRanges sets the IpRanges field's value.
66869func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
66870	s.IpRanges = v
66871	return s
66872}
66873
66874// SetIpv6Ranges sets the Ipv6Ranges field's value.
66875func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
66876	s.Ipv6Ranges = v
66877	return s
66878}
66879
66880// SetPrefixListIds sets the PrefixListIds field's value.
66881func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
66882	s.PrefixListIds = v
66883	return s
66884}
66885
66886// SetToPort sets the ToPort field's value.
66887func (s *IpPermission) SetToPort(v int64) *IpPermission {
66888	s.ToPort = &v
66889	return s
66890}
66891
66892// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
66893func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
66894	s.UserIdGroupPairs = v
66895	return s
66896}
66897
66898// Describes an IPv4 range.
66899type IpRange struct {
66900	_ struct{} `type:"structure"`
66901
66902	// The IPv4 CIDR range. You can either specify a CIDR range or a source security
66903	// group, not both. To specify a single IPv4 address, use the /32 prefix length.
66904	CidrIp *string `locationName:"cidrIp" type:"string"`
66905
66906	// A description for the security group rule that references this IPv4 address
66907	// range.
66908	//
66909	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
66910	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
66911	Description *string `locationName:"description" type:"string"`
66912}
66913
66914// String returns the string representation
66915func (s IpRange) String() string {
66916	return awsutil.Prettify(s)
66917}
66918
66919// GoString returns the string representation
66920func (s IpRange) GoString() string {
66921	return s.String()
66922}
66923
66924// SetCidrIp sets the CidrIp field's value.
66925func (s *IpRange) SetCidrIp(v string) *IpRange {
66926	s.CidrIp = &v
66927	return s
66928}
66929
66930// SetDescription sets the Description field's value.
66931func (s *IpRange) SetDescription(v string) *IpRange {
66932	s.Description = &v
66933	return s
66934}
66935
66936// Describes an IPv6 CIDR block.
66937type Ipv6CidrBlock struct {
66938	_ struct{} `type:"structure"`
66939
66940	// The IPv6 CIDR block.
66941	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
66942}
66943
66944// String returns the string representation
66945func (s Ipv6CidrBlock) String() string {
66946	return awsutil.Prettify(s)
66947}
66948
66949// GoString returns the string representation
66950func (s Ipv6CidrBlock) GoString() string {
66951	return s.String()
66952}
66953
66954// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
66955func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
66956	s.Ipv6CidrBlock = &v
66957	return s
66958}
66959
66960// [EC2-VPC only] Describes an IPv6 range.
66961type Ipv6Range struct {
66962	_ struct{} `type:"structure"`
66963
66964	// The IPv6 CIDR range. You can either specify a CIDR range or a source security
66965	// group, not both. To specify a single IPv6 address, use the /128 prefix length.
66966	CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
66967
66968	// A description for the security group rule that references this IPv6 address
66969	// range.
66970	//
66971	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
66972	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
66973	Description *string `locationName:"description" type:"string"`
66974}
66975
66976// String returns the string representation
66977func (s Ipv6Range) String() string {
66978	return awsutil.Prettify(s)
66979}
66980
66981// GoString returns the string representation
66982func (s Ipv6Range) GoString() string {
66983	return s.String()
66984}
66985
66986// SetCidrIpv6 sets the CidrIpv6 field's value.
66987func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
66988	s.CidrIpv6 = &v
66989	return s
66990}
66991
66992// SetDescription sets the Description field's value.
66993func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
66994	s.Description = &v
66995	return s
66996}
66997
66998// Describes a key pair.
66999type KeyPairInfo struct {
67000	_ struct{} `type:"structure"`
67001
67002	// If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
67003	// of the DER encoded private key. If you used ImportKeyPair to provide AWS
67004	// the public key, this is the MD5 public key fingerprint as specified in section
67005	// 4 of RFC4716.
67006	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
67007
67008	// The name of the key pair.
67009	KeyName *string `locationName:"keyName" type:"string"`
67010}
67011
67012// String returns the string representation
67013func (s KeyPairInfo) String() string {
67014	return awsutil.Prettify(s)
67015}
67016
67017// GoString returns the string representation
67018func (s KeyPairInfo) GoString() string {
67019	return s.String()
67020}
67021
67022// SetKeyFingerprint sets the KeyFingerprint field's value.
67023func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
67024	s.KeyFingerprint = &v
67025	return s
67026}
67027
67028// SetKeyName sets the KeyName field's value.
67029func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
67030	s.KeyName = &v
67031	return s
67032}
67033
67034// Describes a launch permission.
67035type LaunchPermission struct {
67036	_ struct{} `type:"structure"`
67037
67038	// The name of the group.
67039	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
67040
67041	// The AWS account ID.
67042	UserId *string `locationName:"userId" type:"string"`
67043}
67044
67045// String returns the string representation
67046func (s LaunchPermission) String() string {
67047	return awsutil.Prettify(s)
67048}
67049
67050// GoString returns the string representation
67051func (s LaunchPermission) GoString() string {
67052	return s.String()
67053}
67054
67055// SetGroup sets the Group field's value.
67056func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
67057	s.Group = &v
67058	return s
67059}
67060
67061// SetUserId sets the UserId field's value.
67062func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
67063	s.UserId = &v
67064	return s
67065}
67066
67067// Describes a launch permission modification.
67068type LaunchPermissionModifications struct {
67069	_ struct{} `type:"structure"`
67070
67071	// The AWS account ID to add to the list of launch permissions for the AMI.
67072	Add []*LaunchPermission `locationNameList:"item" type:"list"`
67073
67074	// The AWS account ID to remove from the list of launch permissions for the
67075	// AMI.
67076	Remove []*LaunchPermission `locationNameList:"item" type:"list"`
67077}
67078
67079// String returns the string representation
67080func (s LaunchPermissionModifications) String() string {
67081	return awsutil.Prettify(s)
67082}
67083
67084// GoString returns the string representation
67085func (s LaunchPermissionModifications) GoString() string {
67086	return s.String()
67087}
67088
67089// SetAdd sets the Add field's value.
67090func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
67091	s.Add = v
67092	return s
67093}
67094
67095// SetRemove sets the Remove field's value.
67096func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
67097	s.Remove = v
67098	return s
67099}
67100
67101// Describes the launch specification for an instance.
67102type LaunchSpecification struct {
67103	_ struct{} `type:"structure"`
67104
67105	// Deprecated.
67106	AddressingType *string `locationName:"addressingType" type:"string"`
67107
67108	// One or more block device mapping entries.
67109	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
67110
67111	// Indicates whether the instance is optimized for EBS I/O. This optimization
67112	// provides dedicated throughput to Amazon EBS and an optimized configuration
67113	// stack to provide optimal EBS I/O performance. This optimization isn't available
67114	// with all instance types. Additional usage charges apply when using an EBS
67115	// Optimized instance.
67116	//
67117	// Default: false
67118	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
67119
67120	// The IAM instance profile.
67121	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
67122
67123	// The ID of the AMI.
67124	ImageId *string `locationName:"imageId" type:"string"`
67125
67126	// The instance type.
67127	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
67128
67129	// The ID of the kernel.
67130	KernelId *string `locationName:"kernelId" type:"string"`
67131
67132	// The name of the key pair.
67133	KeyName *string `locationName:"keyName" type:"string"`
67134
67135	// Describes the monitoring of an instance.
67136	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
67137
67138	// One or more network interfaces. If you specify a network interface, you must
67139	// specify subnet IDs and security group IDs using the network interface.
67140	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
67141
67142	// The placement information for the instance.
67143	Placement *SpotPlacement `locationName:"placement" type:"structure"`
67144
67145	// The ID of the RAM disk.
67146	RamdiskId *string `locationName:"ramdiskId" type:"string"`
67147
67148	// One or more security groups. When requesting instances in a VPC, you must
67149	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
67150	// you can specify the names or the IDs of the security groups.
67151	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
67152
67153	// The ID of the subnet in which to launch the instance.
67154	SubnetId *string `locationName:"subnetId" type:"string"`
67155
67156	// The Base64-encoded user data for the instance.
67157	UserData *string `locationName:"userData" type:"string"`
67158}
67159
67160// String returns the string representation
67161func (s LaunchSpecification) String() string {
67162	return awsutil.Prettify(s)
67163}
67164
67165// GoString returns the string representation
67166func (s LaunchSpecification) GoString() string {
67167	return s.String()
67168}
67169
67170// SetAddressingType sets the AddressingType field's value.
67171func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
67172	s.AddressingType = &v
67173	return s
67174}
67175
67176// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
67177func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
67178	s.BlockDeviceMappings = v
67179	return s
67180}
67181
67182// SetEbsOptimized sets the EbsOptimized field's value.
67183func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
67184	s.EbsOptimized = &v
67185	return s
67186}
67187
67188// SetIamInstanceProfile sets the IamInstanceProfile field's value.
67189func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
67190	s.IamInstanceProfile = v
67191	return s
67192}
67193
67194// SetImageId sets the ImageId field's value.
67195func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
67196	s.ImageId = &v
67197	return s
67198}
67199
67200// SetInstanceType sets the InstanceType field's value.
67201func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
67202	s.InstanceType = &v
67203	return s
67204}
67205
67206// SetKernelId sets the KernelId field's value.
67207func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
67208	s.KernelId = &v
67209	return s
67210}
67211
67212// SetKeyName sets the KeyName field's value.
67213func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
67214	s.KeyName = &v
67215	return s
67216}
67217
67218// SetMonitoring sets the Monitoring field's value.
67219func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
67220	s.Monitoring = v
67221	return s
67222}
67223
67224// SetNetworkInterfaces sets the NetworkInterfaces field's value.
67225func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
67226	s.NetworkInterfaces = v
67227	return s
67228}
67229
67230// SetPlacement sets the Placement field's value.
67231func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
67232	s.Placement = v
67233	return s
67234}
67235
67236// SetRamdiskId sets the RamdiskId field's value.
67237func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
67238	s.RamdiskId = &v
67239	return s
67240}
67241
67242// SetSecurityGroups sets the SecurityGroups field's value.
67243func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
67244	s.SecurityGroups = v
67245	return s
67246}
67247
67248// SetSubnetId sets the SubnetId field's value.
67249func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
67250	s.SubnetId = &v
67251	return s
67252}
67253
67254// SetUserData sets the UserData field's value.
67255func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
67256	s.UserData = &v
67257	return s
67258}
67259
67260// Describes a launch template.
67261type LaunchTemplate struct {
67262	_ struct{} `type:"structure"`
67263
67264	// The time launch template was created.
67265	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
67266
67267	// The principal that created the launch template.
67268	CreatedBy *string `locationName:"createdBy" type:"string"`
67269
67270	// The version number of the default version of the launch template.
67271	DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
67272
67273	// The version number of the latest version of the launch template.
67274	LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
67275
67276	// The ID of the launch template.
67277	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
67278
67279	// The name of the launch template.
67280	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
67281
67282	// The tags for the launch template.
67283	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
67284}
67285
67286// String returns the string representation
67287func (s LaunchTemplate) String() string {
67288	return awsutil.Prettify(s)
67289}
67290
67291// GoString returns the string representation
67292func (s LaunchTemplate) GoString() string {
67293	return s.String()
67294}
67295
67296// SetCreateTime sets the CreateTime field's value.
67297func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
67298	s.CreateTime = &v
67299	return s
67300}
67301
67302// SetCreatedBy sets the CreatedBy field's value.
67303func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
67304	s.CreatedBy = &v
67305	return s
67306}
67307
67308// SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
67309func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
67310	s.DefaultVersionNumber = &v
67311	return s
67312}
67313
67314// SetLatestVersionNumber sets the LatestVersionNumber field's value.
67315func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
67316	s.LatestVersionNumber = &v
67317	return s
67318}
67319
67320// SetLaunchTemplateId sets the LaunchTemplateId field's value.
67321func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
67322	s.LaunchTemplateId = &v
67323	return s
67324}
67325
67326// SetLaunchTemplateName sets the LaunchTemplateName field's value.
67327func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
67328	s.LaunchTemplateName = &v
67329	return s
67330}
67331
67332// SetTags sets the Tags field's value.
67333func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
67334	s.Tags = v
67335	return s
67336}
67337
67338// Describes a launch template and overrides.
67339type LaunchTemplateAndOverridesResponse struct {
67340	_ struct{} `type:"structure"`
67341
67342	// The launch template.
67343	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
67344
67345	// Any parameters that you specify override the same parameters in the launch
67346	// template.
67347	Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
67348}
67349
67350// String returns the string representation
67351func (s LaunchTemplateAndOverridesResponse) String() string {
67352	return awsutil.Prettify(s)
67353}
67354
67355// GoString returns the string representation
67356func (s LaunchTemplateAndOverridesResponse) GoString() string {
67357	return s.String()
67358}
67359
67360// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
67361func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
67362	s.LaunchTemplateSpecification = v
67363	return s
67364}
67365
67366// SetOverrides sets the Overrides field's value.
67367func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
67368	s.Overrides = v
67369	return s
67370}
67371
67372// Describes a block device mapping.
67373type LaunchTemplateBlockDeviceMapping struct {
67374	_ struct{} `type:"structure"`
67375
67376	// The device name.
67377	DeviceName *string `locationName:"deviceName" type:"string"`
67378
67379	// Information about the block device for an EBS volume.
67380	Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
67381
67382	// Suppresses the specified device included in the block device mapping of the
67383	// AMI.
67384	NoDevice *string `locationName:"noDevice" type:"string"`
67385
67386	// The virtual device name (ephemeralN).
67387	VirtualName *string `locationName:"virtualName" type:"string"`
67388}
67389
67390// String returns the string representation
67391func (s LaunchTemplateBlockDeviceMapping) String() string {
67392	return awsutil.Prettify(s)
67393}
67394
67395// GoString returns the string representation
67396func (s LaunchTemplateBlockDeviceMapping) GoString() string {
67397	return s.String()
67398}
67399
67400// SetDeviceName sets the DeviceName field's value.
67401func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
67402	s.DeviceName = &v
67403	return s
67404}
67405
67406// SetEbs sets the Ebs field's value.
67407func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
67408	s.Ebs = v
67409	return s
67410}
67411
67412// SetNoDevice sets the NoDevice field's value.
67413func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
67414	s.NoDevice = &v
67415	return s
67416}
67417
67418// SetVirtualName sets the VirtualName field's value.
67419func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
67420	s.VirtualName = &v
67421	return s
67422}
67423
67424// Describes a block device mapping.
67425type LaunchTemplateBlockDeviceMappingRequest struct {
67426	_ struct{} `type:"structure"`
67427
67428	// The device name (for example, /dev/sdh or xvdh).
67429	DeviceName *string `type:"string"`
67430
67431	// Parameters used to automatically set up EBS volumes when the instance is
67432	// launched.
67433	Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
67434
67435	// Suppresses the specified device included in the block device mapping of the
67436	// AMI.
67437	NoDevice *string `type:"string"`
67438
67439	// The virtual device name (ephemeralN). Instance store volumes are numbered
67440	// starting from 0. An instance type with 2 available instance store volumes
67441	// can specify mappings for ephemeral0 and ephemeral1. The number of available
67442	// instance store volumes depends on the instance type. After you connect to
67443	// the instance, you must mount the volume.
67444	VirtualName *string `type:"string"`
67445}
67446
67447// String returns the string representation
67448func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
67449	return awsutil.Prettify(s)
67450}
67451
67452// GoString returns the string representation
67453func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
67454	return s.String()
67455}
67456
67457// SetDeviceName sets the DeviceName field's value.
67458func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
67459	s.DeviceName = &v
67460	return s
67461}
67462
67463// SetEbs sets the Ebs field's value.
67464func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
67465	s.Ebs = v
67466	return s
67467}
67468
67469// SetNoDevice sets the NoDevice field's value.
67470func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
67471	s.NoDevice = &v
67472	return s
67473}
67474
67475// SetVirtualName sets the VirtualName field's value.
67476func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
67477	s.VirtualName = &v
67478	return s
67479}
67480
67481// Describes an instance's Capacity Reservation targeting option. You can specify
67482// only one option at a time. Use the CapacityReservationPreference parameter
67483// to configure the instance to run in On-Demand capacity or to run in any open
67484// Capacity Reservation that has matching attributes (instance type, platform,
67485// Availability Zone). Use the CapacityReservationTarget parameter to explicitly
67486// target a specific Capacity Reservation.
67487type LaunchTemplateCapacityReservationSpecificationRequest struct {
67488	_ struct{} `type:"structure"`
67489
67490	// Indicates the instance's Capacity Reservation preferences. Possible preferences
67491	// include:
67492	//
67493	//    * open - The instance can run in any open Capacity Reservation that has
67494	//    matching attributes (instance type, platform, Availability Zone).
67495	//
67496	//    * none - The instance avoids running in a Capacity Reservation even if
67497	//    one is available. The instance runs in On-Demand capacity.
67498	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
67499
67500	// Information about the target Capacity Reservation.
67501	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
67502}
67503
67504// String returns the string representation
67505func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
67506	return awsutil.Prettify(s)
67507}
67508
67509// GoString returns the string representation
67510func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
67511	return s.String()
67512}
67513
67514// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
67515func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
67516	s.CapacityReservationPreference = &v
67517	return s
67518}
67519
67520// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
67521func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
67522	s.CapacityReservationTarget = v
67523	return s
67524}
67525
67526// Information about the Capacity Reservation targeting option.
67527type LaunchTemplateCapacityReservationSpecificationResponse struct {
67528	_ struct{} `type:"structure"`
67529
67530	// Indicates the instance's Capacity Reservation preferences. Possible preferences
67531	// include:
67532	//
67533	//    * open - The instance can run in any open Capacity Reservation that has
67534	//    matching attributes (instance type, platform, Availability Zone).
67535	//
67536	//    * none - The instance avoids running in a Capacity Reservation even if
67537	//    one is available. The instance runs in On-Demand capacity.
67538	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
67539
67540	// Information about the target Capacity Reservation.
67541	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
67542}
67543
67544// String returns the string representation
67545func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
67546	return awsutil.Prettify(s)
67547}
67548
67549// GoString returns the string representation
67550func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
67551	return s.String()
67552}
67553
67554// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
67555func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
67556	s.CapacityReservationPreference = &v
67557	return s
67558}
67559
67560// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
67561func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
67562	s.CapacityReservationTarget = v
67563	return s
67564}
67565
67566// Describes a launch template and overrides.
67567type LaunchTemplateConfig struct {
67568	_ struct{} `type:"structure"`
67569
67570	// The launch template.
67571	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
67572
67573	// Any parameters that you specify override the same parameters in the launch
67574	// template.
67575	Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
67576}
67577
67578// String returns the string representation
67579func (s LaunchTemplateConfig) String() string {
67580	return awsutil.Prettify(s)
67581}
67582
67583// GoString returns the string representation
67584func (s LaunchTemplateConfig) GoString() string {
67585	return s.String()
67586}
67587
67588// Validate inspects the fields of the type to determine if they are valid.
67589func (s *LaunchTemplateConfig) Validate() error {
67590	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
67591	if s.LaunchTemplateSpecification != nil {
67592		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
67593			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
67594		}
67595	}
67596
67597	if invalidParams.Len() > 0 {
67598		return invalidParams
67599	}
67600	return nil
67601}
67602
67603// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
67604func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
67605	s.LaunchTemplateSpecification = v
67606	return s
67607}
67608
67609// SetOverrides sets the Overrides field's value.
67610func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
67611	s.Overrides = v
67612	return s
67613}
67614
67615// The CPU options for the instance.
67616type LaunchTemplateCpuOptions struct {
67617	_ struct{} `type:"structure"`
67618
67619	// The number of CPU cores for the instance.
67620	CoreCount *int64 `locationName:"coreCount" type:"integer"`
67621
67622	// The number of threads per CPU core.
67623	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
67624}
67625
67626// String returns the string representation
67627func (s LaunchTemplateCpuOptions) String() string {
67628	return awsutil.Prettify(s)
67629}
67630
67631// GoString returns the string representation
67632func (s LaunchTemplateCpuOptions) GoString() string {
67633	return s.String()
67634}
67635
67636// SetCoreCount sets the CoreCount field's value.
67637func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
67638	s.CoreCount = &v
67639	return s
67640}
67641
67642// SetThreadsPerCore sets the ThreadsPerCore field's value.
67643func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
67644	s.ThreadsPerCore = &v
67645	return s
67646}
67647
67648// The CPU options for the instance. Both the core count and threads per core
67649// must be specified in the request.
67650type LaunchTemplateCpuOptionsRequest struct {
67651	_ struct{} `type:"structure"`
67652
67653	// The number of CPU cores for the instance.
67654	CoreCount *int64 `type:"integer"`
67655
67656	// The number of threads per CPU core. To disable Intel Hyper-Threading Technology
67657	// for the instance, specify a value of 1. Otherwise, specify the default value
67658	// of 2.
67659	ThreadsPerCore *int64 `type:"integer"`
67660}
67661
67662// String returns the string representation
67663func (s LaunchTemplateCpuOptionsRequest) String() string {
67664	return awsutil.Prettify(s)
67665}
67666
67667// GoString returns the string representation
67668func (s LaunchTemplateCpuOptionsRequest) GoString() string {
67669	return s.String()
67670}
67671
67672// SetCoreCount sets the CoreCount field's value.
67673func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
67674	s.CoreCount = &v
67675	return s
67676}
67677
67678// SetThreadsPerCore sets the ThreadsPerCore field's value.
67679func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
67680	s.ThreadsPerCore = &v
67681	return s
67682}
67683
67684// Describes a block device for an EBS volume.
67685type LaunchTemplateEbsBlockDevice struct {
67686	_ struct{} `type:"structure"`
67687
67688	// Indicates whether the EBS volume is deleted on instance termination.
67689	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
67690
67691	// Indicates whether the EBS volume is encrypted.
67692	Encrypted *bool `locationName:"encrypted" type:"boolean"`
67693
67694	// The number of I/O operations per second (IOPS) that the volume supports.
67695	Iops *int64 `locationName:"iops" type:"integer"`
67696
67697	// The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
67698	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
67699
67700	// The ID of the snapshot.
67701	SnapshotId *string `locationName:"snapshotId" type:"string"`
67702
67703	// The size of the volume, in GiB.
67704	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
67705
67706	// The volume type.
67707	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
67708}
67709
67710// String returns the string representation
67711func (s LaunchTemplateEbsBlockDevice) String() string {
67712	return awsutil.Prettify(s)
67713}
67714
67715// GoString returns the string representation
67716func (s LaunchTemplateEbsBlockDevice) GoString() string {
67717	return s.String()
67718}
67719
67720// SetDeleteOnTermination sets the DeleteOnTermination field's value.
67721func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
67722	s.DeleteOnTermination = &v
67723	return s
67724}
67725
67726// SetEncrypted sets the Encrypted field's value.
67727func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
67728	s.Encrypted = &v
67729	return s
67730}
67731
67732// SetIops sets the Iops field's value.
67733func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
67734	s.Iops = &v
67735	return s
67736}
67737
67738// SetKmsKeyId sets the KmsKeyId field's value.
67739func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
67740	s.KmsKeyId = &v
67741	return s
67742}
67743
67744// SetSnapshotId sets the SnapshotId field's value.
67745func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
67746	s.SnapshotId = &v
67747	return s
67748}
67749
67750// SetVolumeSize sets the VolumeSize field's value.
67751func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
67752	s.VolumeSize = &v
67753	return s
67754}
67755
67756// SetVolumeType sets the VolumeType field's value.
67757func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
67758	s.VolumeType = &v
67759	return s
67760}
67761
67762// The parameters for a block device for an EBS volume.
67763type LaunchTemplateEbsBlockDeviceRequest struct {
67764	_ struct{} `type:"structure"`
67765
67766	// Indicates whether the EBS volume is deleted on instance termination.
67767	DeleteOnTermination *bool `type:"boolean"`
67768
67769	// Indicates whether the EBS volume is encrypted. Encrypted volumes can only
67770	// be attached to instances that support Amazon EBS encryption. If you are creating
67771	// a volume from a snapshot, you can't specify an encryption value.
67772	Encrypted *bool `type:"boolean"`
67773
67774	// The number of I/O operations per second (IOPS) that the volume supports.
67775	// For io1, this represents the number of IOPS that are provisioned for the
67776	// volume. For gp2, this represents the baseline performance of the volume and
67777	// the rate at which the volume accumulates I/O credits for bursting. For more
67778	// information about General Purpose SSD baseline performance, I/O credits,
67779	// and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
67780	// in the Amazon Elastic Compute Cloud User Guide.
67781	//
67782	// Condition: This parameter is required for requests to create io1 volumes;
67783	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
67784	Iops *int64 `type:"integer"`
67785
67786	// The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
67787	KmsKeyId *string `type:"string"`
67788
67789	// The ID of the snapshot.
67790	SnapshotId *string `type:"string"`
67791
67792	// The size of the volume, in GiB.
67793	//
67794	// Default: If you're creating the volume from a snapshot and don't specify
67795	// a volume size, the default is the snapshot size.
67796	VolumeSize *int64 `type:"integer"`
67797
67798	// The volume type.
67799	VolumeType *string `type:"string" enum:"VolumeType"`
67800}
67801
67802// String returns the string representation
67803func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
67804	return awsutil.Prettify(s)
67805}
67806
67807// GoString returns the string representation
67808func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
67809	return s.String()
67810}
67811
67812// SetDeleteOnTermination sets the DeleteOnTermination field's value.
67813func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
67814	s.DeleteOnTermination = &v
67815	return s
67816}
67817
67818// SetEncrypted sets the Encrypted field's value.
67819func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
67820	s.Encrypted = &v
67821	return s
67822}
67823
67824// SetIops sets the Iops field's value.
67825func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
67826	s.Iops = &v
67827	return s
67828}
67829
67830// SetKmsKeyId sets the KmsKeyId field's value.
67831func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
67832	s.KmsKeyId = &v
67833	return s
67834}
67835
67836// SetSnapshotId sets the SnapshotId field's value.
67837func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
67838	s.SnapshotId = &v
67839	return s
67840}
67841
67842// SetVolumeSize sets the VolumeSize field's value.
67843func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
67844	s.VolumeSize = &v
67845	return s
67846}
67847
67848// SetVolumeType sets the VolumeType field's value.
67849func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
67850	s.VolumeType = &v
67851	return s
67852}
67853
67854// Describes an elastic inference accelerator.
67855type LaunchTemplateElasticInferenceAccelerator struct {
67856	_ struct{} `type:"structure"`
67857
67858	// The type of elastic inference accelerator. The possible values are eia1.medium,
67859	// eia1.large, and eia1.xlarge.
67860	//
67861	// Type is a required field
67862	Type *string `type:"string" required:"true"`
67863}
67864
67865// String returns the string representation
67866func (s LaunchTemplateElasticInferenceAccelerator) String() string {
67867	return awsutil.Prettify(s)
67868}
67869
67870// GoString returns the string representation
67871func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
67872	return s.String()
67873}
67874
67875// Validate inspects the fields of the type to determine if they are valid.
67876func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
67877	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
67878	if s.Type == nil {
67879		invalidParams.Add(request.NewErrParamRequired("Type"))
67880	}
67881
67882	if invalidParams.Len() > 0 {
67883		return invalidParams
67884	}
67885	return nil
67886}
67887
67888// SetType sets the Type field's value.
67889func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
67890	s.Type = &v
67891	return s
67892}
67893
67894// Describes an elastic inference accelerator.
67895type LaunchTemplateElasticInferenceAcceleratorResponse struct {
67896	_ struct{} `type:"structure"`
67897
67898	// The type of elastic inference accelerator. The possible values are eia1.medium,
67899	// eia1.large, and eia1.xlarge.
67900	Type *string `locationName:"type" type:"string"`
67901}
67902
67903// String returns the string representation
67904func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
67905	return awsutil.Prettify(s)
67906}
67907
67908// GoString returns the string representation
67909func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
67910	return s.String()
67911}
67912
67913// SetType sets the Type field's value.
67914func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
67915	s.Type = &v
67916	return s
67917}
67918
67919// Indicates whether an instance is configured for hibernation.
67920type LaunchTemplateHibernationOptions struct {
67921	_ struct{} `type:"structure"`
67922
67923	// If this parameter is set to true, the instance is enabled for hibernation;
67924	// otherwise, it is not enabled for hibernation.
67925	Configured *bool `locationName:"configured" type:"boolean"`
67926}
67927
67928// String returns the string representation
67929func (s LaunchTemplateHibernationOptions) String() string {
67930	return awsutil.Prettify(s)
67931}
67932
67933// GoString returns the string representation
67934func (s LaunchTemplateHibernationOptions) GoString() string {
67935	return s.String()
67936}
67937
67938// SetConfigured sets the Configured field's value.
67939func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
67940	s.Configured = &v
67941	return s
67942}
67943
67944// Indicates whether the instance is configured for hibernation. This parameter
67945// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
67946// Hibernation is currently supported only for Amazon Linux.
67947type LaunchTemplateHibernationOptionsRequest struct {
67948	_ struct{} `type:"structure"`
67949
67950	// If you set this parameter to true, the instance is enabled for hibernation.
67951	//
67952	// Default: false
67953	Configured *bool `type:"boolean"`
67954}
67955
67956// String returns the string representation
67957func (s LaunchTemplateHibernationOptionsRequest) String() string {
67958	return awsutil.Prettify(s)
67959}
67960
67961// GoString returns the string representation
67962func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
67963	return s.String()
67964}
67965
67966// SetConfigured sets the Configured field's value.
67967func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
67968	s.Configured = &v
67969	return s
67970}
67971
67972// Describes an IAM instance profile.
67973type LaunchTemplateIamInstanceProfileSpecification struct {
67974	_ struct{} `type:"structure"`
67975
67976	// The Amazon Resource Name (ARN) of the instance profile.
67977	Arn *string `locationName:"arn" type:"string"`
67978
67979	// The name of the instance profile.
67980	Name *string `locationName:"name" type:"string"`
67981}
67982
67983// String returns the string representation
67984func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
67985	return awsutil.Prettify(s)
67986}
67987
67988// GoString returns the string representation
67989func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
67990	return s.String()
67991}
67992
67993// SetArn sets the Arn field's value.
67994func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
67995	s.Arn = &v
67996	return s
67997}
67998
67999// SetName sets the Name field's value.
68000func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
68001	s.Name = &v
68002	return s
68003}
68004
68005// An IAM instance profile.
68006type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
68007	_ struct{} `type:"structure"`
68008
68009	// The Amazon Resource Name (ARN) of the instance profile.
68010	Arn *string `type:"string"`
68011
68012	// The name of the instance profile.
68013	Name *string `type:"string"`
68014}
68015
68016// String returns the string representation
68017func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
68018	return awsutil.Prettify(s)
68019}
68020
68021// GoString returns the string representation
68022func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
68023	return s.String()
68024}
68025
68026// SetArn sets the Arn field's value.
68027func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
68028	s.Arn = &v
68029	return s
68030}
68031
68032// SetName sets the Name field's value.
68033func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
68034	s.Name = &v
68035	return s
68036}
68037
68038// The market (purchasing) option for the instances.
68039type LaunchTemplateInstanceMarketOptions struct {
68040	_ struct{} `type:"structure"`
68041
68042	// The market type.
68043	MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
68044
68045	// The options for Spot Instances.
68046	SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
68047}
68048
68049// String returns the string representation
68050func (s LaunchTemplateInstanceMarketOptions) String() string {
68051	return awsutil.Prettify(s)
68052}
68053
68054// GoString returns the string representation
68055func (s LaunchTemplateInstanceMarketOptions) GoString() string {
68056	return s.String()
68057}
68058
68059// SetMarketType sets the MarketType field's value.
68060func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
68061	s.MarketType = &v
68062	return s
68063}
68064
68065// SetSpotOptions sets the SpotOptions field's value.
68066func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
68067	s.SpotOptions = v
68068	return s
68069}
68070
68071// The market (purchasing) option for the instances.
68072type LaunchTemplateInstanceMarketOptionsRequest struct {
68073	_ struct{} `type:"structure"`
68074
68075	// The market type.
68076	MarketType *string `type:"string" enum:"MarketType"`
68077
68078	// The options for Spot Instances.
68079	SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
68080}
68081
68082// String returns the string representation
68083func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
68084	return awsutil.Prettify(s)
68085}
68086
68087// GoString returns the string representation
68088func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
68089	return s.String()
68090}
68091
68092// SetMarketType sets the MarketType field's value.
68093func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
68094	s.MarketType = &v
68095	return s
68096}
68097
68098// SetSpotOptions sets the SpotOptions field's value.
68099func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
68100	s.SpotOptions = v
68101	return s
68102}
68103
68104// Describes a network interface.
68105type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
68106	_ struct{} `type:"structure"`
68107
68108	// Indicates whether to associate a public IPv4 address with eth0 for a new
68109	// network interface.
68110	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
68111
68112	// Indicates whether the network interface is deleted when the instance is terminated.
68113	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
68114
68115	// A description for the network interface.
68116	Description *string `locationName:"description" type:"string"`
68117
68118	// The device index for the network interface attachment.
68119	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
68120
68121	// The IDs of one or more security groups.
68122	Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
68123
68124	// The type of network interface.
68125	InterfaceType *string `locationName:"interfaceType" type:"string"`
68126
68127	// The number of IPv6 addresses for the network interface.
68128	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
68129
68130	// The IPv6 addresses for the network interface.
68131	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
68132
68133	// The ID of the network interface.
68134	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
68135
68136	// The primary private IPv4 address of the network interface.
68137	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
68138
68139	// One or more private IPv4 addresses.
68140	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
68141
68142	// The number of secondary private IPv4 addresses for the network interface.
68143	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
68144
68145	// The ID of the subnet for the network interface.
68146	SubnetId *string `locationName:"subnetId" type:"string"`
68147}
68148
68149// String returns the string representation
68150func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
68151	return awsutil.Prettify(s)
68152}
68153
68154// GoString returns the string representation
68155func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
68156	return s.String()
68157}
68158
68159// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
68160func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68161	s.AssociatePublicIpAddress = &v
68162	return s
68163}
68164
68165// SetDeleteOnTermination sets the DeleteOnTermination field's value.
68166func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68167	s.DeleteOnTermination = &v
68168	return s
68169}
68170
68171// SetDescription sets the Description field's value.
68172func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68173	s.Description = &v
68174	return s
68175}
68176
68177// SetDeviceIndex sets the DeviceIndex field's value.
68178func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68179	s.DeviceIndex = &v
68180	return s
68181}
68182
68183// SetGroups sets the Groups field's value.
68184func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68185	s.Groups = v
68186	return s
68187}
68188
68189// SetInterfaceType sets the InterfaceType field's value.
68190func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68191	s.InterfaceType = &v
68192	return s
68193}
68194
68195// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
68196func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68197	s.Ipv6AddressCount = &v
68198	return s
68199}
68200
68201// SetIpv6Addresses sets the Ipv6Addresses field's value.
68202func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68203	s.Ipv6Addresses = v
68204	return s
68205}
68206
68207// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
68208func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68209	s.NetworkInterfaceId = &v
68210	return s
68211}
68212
68213// SetPrivateIpAddress sets the PrivateIpAddress field's value.
68214func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68215	s.PrivateIpAddress = &v
68216	return s
68217}
68218
68219// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
68220func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68221	s.PrivateIpAddresses = v
68222	return s
68223}
68224
68225// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
68226func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68227	s.SecondaryPrivateIpAddressCount = &v
68228	return s
68229}
68230
68231// SetSubnetId sets the SubnetId field's value.
68232func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
68233	s.SubnetId = &v
68234	return s
68235}
68236
68237// The parameters for a network interface.
68238type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
68239	_ struct{} `type:"structure"`
68240
68241	// Associates a public IPv4 address with eth0 for a new network interface.
68242	AssociatePublicIpAddress *bool `type:"boolean"`
68243
68244	// Indicates whether the network interface is deleted when the instance is terminated.
68245	DeleteOnTermination *bool `type:"boolean"`
68246
68247	// A description for the network interface.
68248	Description *string `type:"string"`
68249
68250	// The device index for the network interface attachment.
68251	DeviceIndex *int64 `type:"integer"`
68252
68253	// The IDs of one or more security groups.
68254	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
68255
68256	// The type of networking interface.
68257	InterfaceType *string `type:"string"`
68258
68259	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
68260	// automatically selects the IPv6 addresses from the subnet range. You can't
68261	// use this option if specifying specific IPv6 addresses.
68262	Ipv6AddressCount *int64 `type:"integer"`
68263
68264	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
68265	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
68266	Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
68267
68268	// The ID of the network interface.
68269	NetworkInterfaceId *string `type:"string"`
68270
68271	// The primary private IPv4 address of the network interface.
68272	PrivateIpAddress *string `type:"string"`
68273
68274	// One or more private IPv4 addresses.
68275	PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
68276
68277	// The number of secondary private IPv4 addresses to assign to a network interface.
68278	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
68279
68280	// The ID of the subnet for the network interface.
68281	SubnetId *string `type:"string"`
68282}
68283
68284// String returns the string representation
68285func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
68286	return awsutil.Prettify(s)
68287}
68288
68289// GoString returns the string representation
68290func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
68291	return s.String()
68292}
68293
68294// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
68295func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68296	s.AssociatePublicIpAddress = &v
68297	return s
68298}
68299
68300// SetDeleteOnTermination sets the DeleteOnTermination field's value.
68301func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68302	s.DeleteOnTermination = &v
68303	return s
68304}
68305
68306// SetDescription sets the Description field's value.
68307func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68308	s.Description = &v
68309	return s
68310}
68311
68312// SetDeviceIndex sets the DeviceIndex field's value.
68313func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68314	s.DeviceIndex = &v
68315	return s
68316}
68317
68318// SetGroups sets the Groups field's value.
68319func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68320	s.Groups = v
68321	return s
68322}
68323
68324// SetInterfaceType sets the InterfaceType field's value.
68325func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68326	s.InterfaceType = &v
68327	return s
68328}
68329
68330// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
68331func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68332	s.Ipv6AddressCount = &v
68333	return s
68334}
68335
68336// SetIpv6Addresses sets the Ipv6Addresses field's value.
68337func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68338	s.Ipv6Addresses = v
68339	return s
68340}
68341
68342// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
68343func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68344	s.NetworkInterfaceId = &v
68345	return s
68346}
68347
68348// SetPrivateIpAddress sets the PrivateIpAddress field's value.
68349func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68350	s.PrivateIpAddress = &v
68351	return s
68352}
68353
68354// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
68355func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68356	s.PrivateIpAddresses = v
68357	return s
68358}
68359
68360// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
68361func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68362	s.SecondaryPrivateIpAddressCount = &v
68363	return s
68364}
68365
68366// SetSubnetId sets the SubnetId field's value.
68367func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
68368	s.SubnetId = &v
68369	return s
68370}
68371
68372// Describes a license configuration.
68373type LaunchTemplateLicenseConfiguration struct {
68374	_ struct{} `type:"structure"`
68375
68376	// The Amazon Resource Name (ARN) of the license configuration.
68377	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
68378}
68379
68380// String returns the string representation
68381func (s LaunchTemplateLicenseConfiguration) String() string {
68382	return awsutil.Prettify(s)
68383}
68384
68385// GoString returns the string representation
68386func (s LaunchTemplateLicenseConfiguration) GoString() string {
68387	return s.String()
68388}
68389
68390// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
68391func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
68392	s.LicenseConfigurationArn = &v
68393	return s
68394}
68395
68396// Describes a license configuration.
68397type LaunchTemplateLicenseConfigurationRequest struct {
68398	_ struct{} `type:"structure"`
68399
68400	// The Amazon Resource Name (ARN) of the license configuration.
68401	LicenseConfigurationArn *string `type:"string"`
68402}
68403
68404// String returns the string representation
68405func (s LaunchTemplateLicenseConfigurationRequest) String() string {
68406	return awsutil.Prettify(s)
68407}
68408
68409// GoString returns the string representation
68410func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
68411	return s.String()
68412}
68413
68414// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
68415func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
68416	s.LicenseConfigurationArn = &v
68417	return s
68418}
68419
68420// Describes overrides for a launch template.
68421type LaunchTemplateOverrides struct {
68422	_ struct{} `type:"structure"`
68423
68424	// The Availability Zone in which to launch the instances.
68425	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
68426
68427	// The instance type.
68428	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
68429
68430	// The priority for the launch template override. If OnDemandAllocationStrategy
68431	// is set to prioritized, Spot Fleet uses priority to determine which launch
68432	// template override to use first in fulfilling On-Demand capacity. The highest
68433	// priority is launched first. Valid values are whole numbers starting at 0.
68434	// The lower the number, the higher the priority. If no number is set, the launch
68435	// template override has the lowest priority.
68436	Priority *float64 `locationName:"priority" type:"double"`
68437
68438	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
68439	SpotPrice *string `locationName:"spotPrice" type:"string"`
68440
68441	// The ID of the subnet in which to launch the instances.
68442	SubnetId *string `locationName:"subnetId" type:"string"`
68443
68444	// The number of units provided by the specified instance type.
68445	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
68446}
68447
68448// String returns the string representation
68449func (s LaunchTemplateOverrides) String() string {
68450	return awsutil.Prettify(s)
68451}
68452
68453// GoString returns the string representation
68454func (s LaunchTemplateOverrides) GoString() string {
68455	return s.String()
68456}
68457
68458// SetAvailabilityZone sets the AvailabilityZone field's value.
68459func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
68460	s.AvailabilityZone = &v
68461	return s
68462}
68463
68464// SetInstanceType sets the InstanceType field's value.
68465func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
68466	s.InstanceType = &v
68467	return s
68468}
68469
68470// SetPriority sets the Priority field's value.
68471func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
68472	s.Priority = &v
68473	return s
68474}
68475
68476// SetSpotPrice sets the SpotPrice field's value.
68477func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
68478	s.SpotPrice = &v
68479	return s
68480}
68481
68482// SetSubnetId sets the SubnetId field's value.
68483func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
68484	s.SubnetId = &v
68485	return s
68486}
68487
68488// SetWeightedCapacity sets the WeightedCapacity field's value.
68489func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
68490	s.WeightedCapacity = &v
68491	return s
68492}
68493
68494// Describes the placement of an instance.
68495type LaunchTemplatePlacement struct {
68496	_ struct{} `type:"structure"`
68497
68498	// The affinity setting for the instance on the Dedicated Host.
68499	Affinity *string `locationName:"affinity" type:"string"`
68500
68501	// The Availability Zone of the instance.
68502	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
68503
68504	// The name of the placement group for the instance.
68505	GroupName *string `locationName:"groupName" type:"string"`
68506
68507	// The ID of the Dedicated Host for the instance.
68508	HostId *string `locationName:"hostId" type:"string"`
68509
68510	// Reserved for future use.
68511	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
68512
68513	// The tenancy of the instance (if the instance is running in a VPC). An instance
68514	// with a tenancy of dedicated runs on single-tenant hardware.
68515	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
68516}
68517
68518// String returns the string representation
68519func (s LaunchTemplatePlacement) String() string {
68520	return awsutil.Prettify(s)
68521}
68522
68523// GoString returns the string representation
68524func (s LaunchTemplatePlacement) GoString() string {
68525	return s.String()
68526}
68527
68528// SetAffinity sets the Affinity field's value.
68529func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
68530	s.Affinity = &v
68531	return s
68532}
68533
68534// SetAvailabilityZone sets the AvailabilityZone field's value.
68535func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
68536	s.AvailabilityZone = &v
68537	return s
68538}
68539
68540// SetGroupName sets the GroupName field's value.
68541func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
68542	s.GroupName = &v
68543	return s
68544}
68545
68546// SetHostId sets the HostId field's value.
68547func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
68548	s.HostId = &v
68549	return s
68550}
68551
68552// SetSpreadDomain sets the SpreadDomain field's value.
68553func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
68554	s.SpreadDomain = &v
68555	return s
68556}
68557
68558// SetTenancy sets the Tenancy field's value.
68559func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
68560	s.Tenancy = &v
68561	return s
68562}
68563
68564// Describes the placement of an instance.
68565type LaunchTemplatePlacementRequest struct {
68566	_ struct{} `type:"structure"`
68567
68568	// The affinity setting for an instance on a Dedicated Host.
68569	Affinity *string `type:"string"`
68570
68571	// The Availability Zone for the instance.
68572	AvailabilityZone *string `type:"string"`
68573
68574	// The name of the placement group for the instance.
68575	GroupName *string `type:"string"`
68576
68577	// The ID of the Dedicated Host for the instance.
68578	HostId *string `type:"string"`
68579
68580	// Reserved for future use.
68581	SpreadDomain *string `type:"string"`
68582
68583	// The tenancy of the instance (if the instance is running in a VPC). An instance
68584	// with a tenancy of dedicated runs on single-tenant hardware.
68585	Tenancy *string `type:"string" enum:"Tenancy"`
68586}
68587
68588// String returns the string representation
68589func (s LaunchTemplatePlacementRequest) String() string {
68590	return awsutil.Prettify(s)
68591}
68592
68593// GoString returns the string representation
68594func (s LaunchTemplatePlacementRequest) GoString() string {
68595	return s.String()
68596}
68597
68598// SetAffinity sets the Affinity field's value.
68599func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
68600	s.Affinity = &v
68601	return s
68602}
68603
68604// SetAvailabilityZone sets the AvailabilityZone field's value.
68605func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
68606	s.AvailabilityZone = &v
68607	return s
68608}
68609
68610// SetGroupName sets the GroupName field's value.
68611func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
68612	s.GroupName = &v
68613	return s
68614}
68615
68616// SetHostId sets the HostId field's value.
68617func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
68618	s.HostId = &v
68619	return s
68620}
68621
68622// SetSpreadDomain sets the SpreadDomain field's value.
68623func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
68624	s.SpreadDomain = &v
68625	return s
68626}
68627
68628// SetTenancy sets the Tenancy field's value.
68629func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
68630	s.Tenancy = &v
68631	return s
68632}
68633
68634// The launch template to use. You must specify either the launch template ID
68635// or launch template name in the request, but not both.
68636type LaunchTemplateSpecification struct {
68637	_ struct{} `type:"structure"`
68638
68639	// The ID of the launch template.
68640	LaunchTemplateId *string `type:"string"`
68641
68642	// The name of the launch template.
68643	LaunchTemplateName *string `type:"string"`
68644
68645	// The version number of the launch template.
68646	//
68647	// Default: The default version for the launch template.
68648	Version *string `type:"string"`
68649}
68650
68651// String returns the string representation
68652func (s LaunchTemplateSpecification) String() string {
68653	return awsutil.Prettify(s)
68654}
68655
68656// GoString returns the string representation
68657func (s LaunchTemplateSpecification) GoString() string {
68658	return s.String()
68659}
68660
68661// SetLaunchTemplateId sets the LaunchTemplateId field's value.
68662func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
68663	s.LaunchTemplateId = &v
68664	return s
68665}
68666
68667// SetLaunchTemplateName sets the LaunchTemplateName field's value.
68668func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
68669	s.LaunchTemplateName = &v
68670	return s
68671}
68672
68673// SetVersion sets the Version field's value.
68674func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
68675	s.Version = &v
68676	return s
68677}
68678
68679// The options for Spot Instances.
68680type LaunchTemplateSpotMarketOptions struct {
68681	_ struct{} `type:"structure"`
68682
68683	// The required duration for the Spot Instances (also known as Spot blocks),
68684	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
68685	// or 360).
68686	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
68687
68688	// The behavior when a Spot Instance is interrupted.
68689	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
68690
68691	// The maximum hourly price you're willing to pay for the Spot Instances.
68692	MaxPrice *string `locationName:"maxPrice" type:"string"`
68693
68694	// The Spot Instance request type.
68695	SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
68696
68697	// The end date of the request. For a one-time request, the request remains
68698	// active until all instances launch, the request is canceled, or this date
68699	// is reached. If the request is persistent, it remains active until it is canceled
68700	// or this date and time is reached.
68701	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
68702}
68703
68704// String returns the string representation
68705func (s LaunchTemplateSpotMarketOptions) String() string {
68706	return awsutil.Prettify(s)
68707}
68708
68709// GoString returns the string representation
68710func (s LaunchTemplateSpotMarketOptions) GoString() string {
68711	return s.String()
68712}
68713
68714// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
68715func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
68716	s.BlockDurationMinutes = &v
68717	return s
68718}
68719
68720// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
68721func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
68722	s.InstanceInterruptionBehavior = &v
68723	return s
68724}
68725
68726// SetMaxPrice sets the MaxPrice field's value.
68727func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
68728	s.MaxPrice = &v
68729	return s
68730}
68731
68732// SetSpotInstanceType sets the SpotInstanceType field's value.
68733func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
68734	s.SpotInstanceType = &v
68735	return s
68736}
68737
68738// SetValidUntil sets the ValidUntil field's value.
68739func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
68740	s.ValidUntil = &v
68741	return s
68742}
68743
68744// The options for Spot Instances.
68745type LaunchTemplateSpotMarketOptionsRequest struct {
68746	_ struct{} `type:"structure"`
68747
68748	// The required duration for the Spot Instances (also known as Spot blocks),
68749	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
68750	// or 360).
68751	BlockDurationMinutes *int64 `type:"integer"`
68752
68753	// The behavior when a Spot Instance is interrupted. The default is terminate.
68754	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
68755
68756	// The maximum hourly price you're willing to pay for the Spot Instances.
68757	MaxPrice *string `type:"string"`
68758
68759	// The Spot Instance request type.
68760	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
68761
68762	// The end date of the request. For a one-time request, the request remains
68763	// active until all instances launch, the request is canceled, or this date
68764	// is reached. If the request is persistent, it remains active until it is canceled
68765	// or this date and time is reached. The default end date is 7 days from the
68766	// current date.
68767	ValidUntil *time.Time `type:"timestamp"`
68768}
68769
68770// String returns the string representation
68771func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
68772	return awsutil.Prettify(s)
68773}
68774
68775// GoString returns the string representation
68776func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
68777	return s.String()
68778}
68779
68780// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
68781func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
68782	s.BlockDurationMinutes = &v
68783	return s
68784}
68785
68786// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
68787func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
68788	s.InstanceInterruptionBehavior = &v
68789	return s
68790}
68791
68792// SetMaxPrice sets the MaxPrice field's value.
68793func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
68794	s.MaxPrice = &v
68795	return s
68796}
68797
68798// SetSpotInstanceType sets the SpotInstanceType field's value.
68799func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
68800	s.SpotInstanceType = &v
68801	return s
68802}
68803
68804// SetValidUntil sets the ValidUntil field's value.
68805func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
68806	s.ValidUntil = &v
68807	return s
68808}
68809
68810// The tag specification for the launch template.
68811type LaunchTemplateTagSpecification struct {
68812	_ struct{} `type:"structure"`
68813
68814	// The type of resource.
68815	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
68816
68817	// The tags for the resource.
68818	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
68819}
68820
68821// String returns the string representation
68822func (s LaunchTemplateTagSpecification) String() string {
68823	return awsutil.Prettify(s)
68824}
68825
68826// GoString returns the string representation
68827func (s LaunchTemplateTagSpecification) GoString() string {
68828	return s.String()
68829}
68830
68831// SetResourceType sets the ResourceType field's value.
68832func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
68833	s.ResourceType = &v
68834	return s
68835}
68836
68837// SetTags sets the Tags field's value.
68838func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
68839	s.Tags = v
68840	return s
68841}
68842
68843// The tags specification for the launch template.
68844type LaunchTemplateTagSpecificationRequest struct {
68845	_ struct{} `type:"structure"`
68846
68847	// The type of resource to tag. Currently, the resource types that support tagging
68848	// on creation are instance and volume. To tag a resource after it has been
68849	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
68850	ResourceType *string `type:"string" enum:"ResourceType"`
68851
68852	// The tags to apply to the resource.
68853	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
68854}
68855
68856// String returns the string representation
68857func (s LaunchTemplateTagSpecificationRequest) String() string {
68858	return awsutil.Prettify(s)
68859}
68860
68861// GoString returns the string representation
68862func (s LaunchTemplateTagSpecificationRequest) GoString() string {
68863	return s.String()
68864}
68865
68866// SetResourceType sets the ResourceType field's value.
68867func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
68868	s.ResourceType = &v
68869	return s
68870}
68871
68872// SetTags sets the Tags field's value.
68873func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
68874	s.Tags = v
68875	return s
68876}
68877
68878// Describes a launch template version.
68879type LaunchTemplateVersion struct {
68880	_ struct{} `type:"structure"`
68881
68882	// The time the version was created.
68883	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
68884
68885	// The principal that created the version.
68886	CreatedBy *string `locationName:"createdBy" type:"string"`
68887
68888	// Indicates whether the version is the default version.
68889	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
68890
68891	// Information about the launch template.
68892	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
68893
68894	// The ID of the launch template.
68895	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
68896
68897	// The name of the launch template.
68898	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
68899
68900	// The description for the version.
68901	VersionDescription *string `locationName:"versionDescription" type:"string"`
68902
68903	// The version number.
68904	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
68905}
68906
68907// String returns the string representation
68908func (s LaunchTemplateVersion) String() string {
68909	return awsutil.Prettify(s)
68910}
68911
68912// GoString returns the string representation
68913func (s LaunchTemplateVersion) GoString() string {
68914	return s.String()
68915}
68916
68917// SetCreateTime sets the CreateTime field's value.
68918func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
68919	s.CreateTime = &v
68920	return s
68921}
68922
68923// SetCreatedBy sets the CreatedBy field's value.
68924func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
68925	s.CreatedBy = &v
68926	return s
68927}
68928
68929// SetDefaultVersion sets the DefaultVersion field's value.
68930func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
68931	s.DefaultVersion = &v
68932	return s
68933}
68934
68935// SetLaunchTemplateData sets the LaunchTemplateData field's value.
68936func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
68937	s.LaunchTemplateData = v
68938	return s
68939}
68940
68941// SetLaunchTemplateId sets the LaunchTemplateId field's value.
68942func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
68943	s.LaunchTemplateId = &v
68944	return s
68945}
68946
68947// SetLaunchTemplateName sets the LaunchTemplateName field's value.
68948func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
68949	s.LaunchTemplateName = &v
68950	return s
68951}
68952
68953// SetVersionDescription sets the VersionDescription field's value.
68954func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
68955	s.VersionDescription = &v
68956	return s
68957}
68958
68959// SetVersionNumber sets the VersionNumber field's value.
68960func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
68961	s.VersionNumber = &v
68962	return s
68963}
68964
68965// Describes the monitoring for the instance.
68966type LaunchTemplatesMonitoring struct {
68967	_ struct{} `type:"structure"`
68968
68969	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
68970	// is enabled.
68971	Enabled *bool `locationName:"enabled" type:"boolean"`
68972}
68973
68974// String returns the string representation
68975func (s LaunchTemplatesMonitoring) String() string {
68976	return awsutil.Prettify(s)
68977}
68978
68979// GoString returns the string representation
68980func (s LaunchTemplatesMonitoring) GoString() string {
68981	return s.String()
68982}
68983
68984// SetEnabled sets the Enabled field's value.
68985func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
68986	s.Enabled = &v
68987	return s
68988}
68989
68990// Describes the monitoring for the instance.
68991type LaunchTemplatesMonitoringRequest struct {
68992	_ struct{} `type:"structure"`
68993
68994	// Specify true to enable detailed monitoring. Otherwise, basic monitoring is
68995	// enabled.
68996	Enabled *bool `type:"boolean"`
68997}
68998
68999// String returns the string representation
69000func (s LaunchTemplatesMonitoringRequest) String() string {
69001	return awsutil.Prettify(s)
69002}
69003
69004// GoString returns the string representation
69005func (s LaunchTemplatesMonitoringRequest) GoString() string {
69006	return s.String()
69007}
69008
69009// SetEnabled sets the Enabled field's value.
69010func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
69011	s.Enabled = &v
69012	return s
69013}
69014
69015// Describes a license configuration.
69016type LicenseConfiguration struct {
69017	_ struct{} `type:"structure"`
69018
69019	// The Amazon Resource Name (ARN) of the license configuration.
69020	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
69021}
69022
69023// String returns the string representation
69024func (s LicenseConfiguration) String() string {
69025	return awsutil.Prettify(s)
69026}
69027
69028// GoString returns the string representation
69029func (s LicenseConfiguration) GoString() string {
69030	return s.String()
69031}
69032
69033// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
69034func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
69035	s.LicenseConfigurationArn = &v
69036	return s
69037}
69038
69039// Describes a license configuration.
69040type LicenseConfigurationRequest struct {
69041	_ struct{} `type:"structure"`
69042
69043	// The Amazon Resource Name (ARN) of the license configuration.
69044	LicenseConfigurationArn *string `type:"string"`
69045}
69046
69047// String returns the string representation
69048func (s LicenseConfigurationRequest) String() string {
69049	return awsutil.Prettify(s)
69050}
69051
69052// GoString returns the string representation
69053func (s LicenseConfigurationRequest) GoString() string {
69054	return s.String()
69055}
69056
69057// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
69058func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
69059	s.LicenseConfigurationArn = &v
69060	return s
69061}
69062
69063// Describes the Classic Load Balancers and target groups to attach to a Spot
69064// Fleet request.
69065type LoadBalancersConfig struct {
69066	_ struct{} `type:"structure"`
69067
69068	// The Classic Load Balancers.
69069	ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
69070
69071	// The target groups.
69072	TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
69073}
69074
69075// String returns the string representation
69076func (s LoadBalancersConfig) String() string {
69077	return awsutil.Prettify(s)
69078}
69079
69080// GoString returns the string representation
69081func (s LoadBalancersConfig) GoString() string {
69082	return s.String()
69083}
69084
69085// Validate inspects the fields of the type to determine if they are valid.
69086func (s *LoadBalancersConfig) Validate() error {
69087	invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
69088	if s.ClassicLoadBalancersConfig != nil {
69089		if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
69090			invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
69091		}
69092	}
69093	if s.TargetGroupsConfig != nil {
69094		if err := s.TargetGroupsConfig.Validate(); err != nil {
69095			invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
69096		}
69097	}
69098
69099	if invalidParams.Len() > 0 {
69100		return invalidParams
69101	}
69102	return nil
69103}
69104
69105// SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
69106func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
69107	s.ClassicLoadBalancersConfig = v
69108	return s
69109}
69110
69111// SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
69112func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
69113	s.TargetGroupsConfig = v
69114	return s
69115}
69116
69117// Describes a load permission.
69118type LoadPermission struct {
69119	_ struct{} `type:"structure"`
69120
69121	// The name of the group.
69122	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
69123
69124	// The AWS account ID.
69125	UserId *string `locationName:"userId" type:"string"`
69126}
69127
69128// String returns the string representation
69129func (s LoadPermission) String() string {
69130	return awsutil.Prettify(s)
69131}
69132
69133// GoString returns the string representation
69134func (s LoadPermission) GoString() string {
69135	return s.String()
69136}
69137
69138// SetGroup sets the Group field's value.
69139func (s *LoadPermission) SetGroup(v string) *LoadPermission {
69140	s.Group = &v
69141	return s
69142}
69143
69144// SetUserId sets the UserId field's value.
69145func (s *LoadPermission) SetUserId(v string) *LoadPermission {
69146	s.UserId = &v
69147	return s
69148}
69149
69150// Describes modifications to the load permissions of an Amazon FPGA image (AFI).
69151type LoadPermissionModifications struct {
69152	_ struct{} `type:"structure"`
69153
69154	// The load permissions to add.
69155	Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
69156
69157	// The load permissions to remove.
69158	Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
69159}
69160
69161// String returns the string representation
69162func (s LoadPermissionModifications) String() string {
69163	return awsutil.Prettify(s)
69164}
69165
69166// GoString returns the string representation
69167func (s LoadPermissionModifications) GoString() string {
69168	return s.String()
69169}
69170
69171// SetAdd sets the Add field's value.
69172func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
69173	s.Add = v
69174	return s
69175}
69176
69177// SetRemove sets the Remove field's value.
69178func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
69179	s.Remove = v
69180	return s
69181}
69182
69183// Describes a load permission.
69184type LoadPermissionRequest struct {
69185	_ struct{} `type:"structure"`
69186
69187	// The name of the group.
69188	Group *string `type:"string" enum:"PermissionGroup"`
69189
69190	// The AWS account ID.
69191	UserId *string `type:"string"`
69192}
69193
69194// String returns the string representation
69195func (s LoadPermissionRequest) String() string {
69196	return awsutil.Prettify(s)
69197}
69198
69199// GoString returns the string representation
69200func (s LoadPermissionRequest) GoString() string {
69201	return s.String()
69202}
69203
69204// SetGroup sets the Group field's value.
69205func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
69206	s.Group = &v
69207	return s
69208}
69209
69210// SetUserId sets the UserId field's value.
69211func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
69212	s.UserId = &v
69213	return s
69214}
69215
69216type ModifyCapacityReservationInput struct {
69217	_ struct{} `type:"structure"`
69218
69219	// The ID of the Capacity Reservation.
69220	//
69221	// CapacityReservationId is a required field
69222	CapacityReservationId *string `type:"string" required:"true"`
69223
69224	// Checks whether you have the required permissions for the action, without
69225	// actually making the request, and provides an error response. If you have
69226	// the required permissions, the error response is DryRunOperation. Otherwise,
69227	// it is UnauthorizedOperation.
69228	DryRun *bool `type:"boolean"`
69229
69230	// The date and time at which the Capacity Reservation expires. When a Capacity
69231	// Reservation expires, the reserved capacity is released and you can no longer
69232	// launch instances into it. The Capacity Reservation's state changes to expired
69233	// when it reaches its end date and time.
69234	//
69235	// The Capacity Reservation is cancelled within an hour from the specified time.
69236	// For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
69237	// is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
69238	//
69239	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
69240	// if EndDateType is unlimited.
69241	EndDate *time.Time `type:"timestamp"`
69242
69243	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
69244	// can have one of the following end types:
69245	//
69246	//    * unlimited - The Capacity Reservation remains active until you explicitly
69247	//    cancel it. Do not provide an EndDate value if EndDateType is unlimited.
69248	//
69249	//    * limited - The Capacity Reservation expires automatically at a specified
69250	//    date and time. You must provide an EndDate value if EndDateType is limited.
69251	EndDateType *string `type:"string" enum:"EndDateType"`
69252
69253	// The number of instances for which to reserve capacity.
69254	InstanceCount *int64 `type:"integer"`
69255}
69256
69257// String returns the string representation
69258func (s ModifyCapacityReservationInput) String() string {
69259	return awsutil.Prettify(s)
69260}
69261
69262// GoString returns the string representation
69263func (s ModifyCapacityReservationInput) GoString() string {
69264	return s.String()
69265}
69266
69267// Validate inspects the fields of the type to determine if they are valid.
69268func (s *ModifyCapacityReservationInput) Validate() error {
69269	invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
69270	if s.CapacityReservationId == nil {
69271		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
69272	}
69273
69274	if invalidParams.Len() > 0 {
69275		return invalidParams
69276	}
69277	return nil
69278}
69279
69280// SetCapacityReservationId sets the CapacityReservationId field's value.
69281func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
69282	s.CapacityReservationId = &v
69283	return s
69284}
69285
69286// SetDryRun sets the DryRun field's value.
69287func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
69288	s.DryRun = &v
69289	return s
69290}
69291
69292// SetEndDate sets the EndDate field's value.
69293func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
69294	s.EndDate = &v
69295	return s
69296}
69297
69298// SetEndDateType sets the EndDateType field's value.
69299func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
69300	s.EndDateType = &v
69301	return s
69302}
69303
69304// SetInstanceCount sets the InstanceCount field's value.
69305func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
69306	s.InstanceCount = &v
69307	return s
69308}
69309
69310type ModifyCapacityReservationOutput struct {
69311	_ struct{} `type:"structure"`
69312
69313	// Information about the Capacity Reservation.
69314	Return *bool `locationName:"return" type:"boolean"`
69315}
69316
69317// String returns the string representation
69318func (s ModifyCapacityReservationOutput) String() string {
69319	return awsutil.Prettify(s)
69320}
69321
69322// GoString returns the string representation
69323func (s ModifyCapacityReservationOutput) GoString() string {
69324	return s.String()
69325}
69326
69327// SetReturn sets the Return field's value.
69328func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
69329	s.Return = &v
69330	return s
69331}
69332
69333type ModifyClientVpnEndpointInput struct {
69334	_ struct{} `type:"structure"`
69335
69336	// The ID of the Client VPN endpoint to modify.
69337	//
69338	// ClientVpnEndpointId is a required field
69339	ClientVpnEndpointId *string `type:"string" required:"true"`
69340
69341	// Information about the client connection logging options.
69342	//
69343	// If you enable client connection logging, data about client connections is
69344	// sent to a Cloudwatch Logs log stream. The following information is logged:
69345	//
69346	//    * Client connection requests
69347	//
69348	//    * Client connection results (successful and unsuccessful)
69349	//
69350	//    * Reasons for unsuccessful client connection requests
69351	//
69352	//    * Client connection termination time
69353	ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
69354
69355	// A brief description of the Client VPN endpoint.
69356	Description *string `type:"string"`
69357
69358	// Information about the DNS servers to be used by Client VPN connections. A
69359	// Client VPN endpoint can have up to two DNS servers.
69360	DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
69361
69362	// Checks whether you have the required permissions for the action, without
69363	// actually making the request, and provides an error response. If you have
69364	// the required permissions, the error response is DryRunOperation. Otherwise,
69365	// it is UnauthorizedOperation.
69366	DryRun *bool `type:"boolean"`
69367
69368	// The ARN of the server certificate to be used. The server certificate must
69369	// be provisioned in AWS Certificate Manager (ACM).
69370	ServerCertificateArn *string `type:"string"`
69371}
69372
69373// String returns the string representation
69374func (s ModifyClientVpnEndpointInput) String() string {
69375	return awsutil.Prettify(s)
69376}
69377
69378// GoString returns the string representation
69379func (s ModifyClientVpnEndpointInput) GoString() string {
69380	return s.String()
69381}
69382
69383// Validate inspects the fields of the type to determine if they are valid.
69384func (s *ModifyClientVpnEndpointInput) Validate() error {
69385	invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
69386	if s.ClientVpnEndpointId == nil {
69387		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
69388	}
69389
69390	if invalidParams.Len() > 0 {
69391		return invalidParams
69392	}
69393	return nil
69394}
69395
69396// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
69397func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
69398	s.ClientVpnEndpointId = &v
69399	return s
69400}
69401
69402// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
69403func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
69404	s.ConnectionLogOptions = v
69405	return s
69406}
69407
69408// SetDescription sets the Description field's value.
69409func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
69410	s.Description = &v
69411	return s
69412}
69413
69414// SetDnsServers sets the DnsServers field's value.
69415func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
69416	s.DnsServers = v
69417	return s
69418}
69419
69420// SetDryRun sets the DryRun field's value.
69421func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
69422	s.DryRun = &v
69423	return s
69424}
69425
69426// SetServerCertificateArn sets the ServerCertificateArn field's value.
69427func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
69428	s.ServerCertificateArn = &v
69429	return s
69430}
69431
69432type ModifyClientVpnEndpointOutput struct {
69433	_ struct{} `type:"structure"`
69434
69435	// Returns true if the request succeeds; otherwise, it returns an error.
69436	Return *bool `locationName:"return" type:"boolean"`
69437}
69438
69439// String returns the string representation
69440func (s ModifyClientVpnEndpointOutput) String() string {
69441	return awsutil.Prettify(s)
69442}
69443
69444// GoString returns the string representation
69445func (s ModifyClientVpnEndpointOutput) GoString() string {
69446	return s.String()
69447}
69448
69449// SetReturn sets the Return field's value.
69450func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
69451	s.Return = &v
69452	return s
69453}
69454
69455type ModifyEbsDefaultKmsKeyIdInput struct {
69456	_ struct{} `type:"structure"`
69457
69458	// Checks whether you have the required permissions for the action, without
69459	// actually making the request, and provides an error response. If you have
69460	// the required permissions, the error response is DryRunOperation. Otherwise,
69461	// it is UnauthorizedOperation.
69462	DryRun *bool `type:"boolean"`
69463
69464	// An identifier for the AWS Key Management Service (AWS KMS) customer master
69465	// key (CMK) to use to encrypt the volume. This parameter is only required if
69466	// you want to use a non-default CMK; if this parameter is not specified, the
69467	// default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag
69468	// must also be set.
69469	//
69470	// The CMK identifier may be provided in any of the following formats:
69471	//
69472	//    * Key ID
69473	//
69474	//    * Key alias
69475	//
69476	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
69477	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
69478	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
69479	//
69480	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
69481	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
69482	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
69483	//
69484	// KmsKeyId is a required field
69485	KmsKeyId *string `type:"string" required:"true"`
69486}
69487
69488// String returns the string representation
69489func (s ModifyEbsDefaultKmsKeyIdInput) String() string {
69490	return awsutil.Prettify(s)
69491}
69492
69493// GoString returns the string representation
69494func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string {
69495	return s.String()
69496}
69497
69498// Validate inspects the fields of the type to determine if they are valid.
69499func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error {
69500	invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"}
69501	if s.KmsKeyId == nil {
69502		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
69503	}
69504
69505	if invalidParams.Len() > 0 {
69506		return invalidParams
69507	}
69508	return nil
69509}
69510
69511// SetDryRun sets the DryRun field's value.
69512func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput {
69513	s.DryRun = &v
69514	return s
69515}
69516
69517// SetKmsKeyId sets the KmsKeyId field's value.
69518func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput {
69519	s.KmsKeyId = &v
69520	return s
69521}
69522
69523type ModifyEbsDefaultKmsKeyIdOutput struct {
69524	_ struct{} `type:"structure"`
69525
69526	// The full ARN of the default CMK that your account uses to encrypt an EBS
69527	// volume when no CMK is specified in the API call that creates the volume.
69528	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
69529}
69530
69531// String returns the string representation
69532func (s ModifyEbsDefaultKmsKeyIdOutput) String() string {
69533	return awsutil.Prettify(s)
69534}
69535
69536// GoString returns the string representation
69537func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string {
69538	return s.String()
69539}
69540
69541// SetKmsKeyId sets the KmsKeyId field's value.
69542func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput {
69543	s.KmsKeyId = &v
69544	return s
69545}
69546
69547type ModifyFleetInput struct {
69548	_ struct{} `type:"structure"`
69549
69550	// Checks whether you have the required permissions for the action, without
69551	// actually making the request, and provides an error response. If you have
69552	// the required permissions, the error response is DryRunOperation. Otherwise,
69553	// it is UnauthorizedOperation.
69554	DryRun *bool `type:"boolean"`
69555
69556	// Indicates whether running instances should be terminated if the total target
69557	// capacity of the EC2 Fleet is decreased below the current size of the EC2
69558	// Fleet.
69559	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
69560
69561	// The ID of the EC2 Fleet.
69562	//
69563	// FleetId is a required field
69564	FleetId *string `type:"string" required:"true"`
69565
69566	// The size of the EC2 Fleet.
69567	//
69568	// TargetCapacitySpecification is a required field
69569	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
69570}
69571
69572// String returns the string representation
69573func (s ModifyFleetInput) String() string {
69574	return awsutil.Prettify(s)
69575}
69576
69577// GoString returns the string representation
69578func (s ModifyFleetInput) GoString() string {
69579	return s.String()
69580}
69581
69582// Validate inspects the fields of the type to determine if they are valid.
69583func (s *ModifyFleetInput) Validate() error {
69584	invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
69585	if s.FleetId == nil {
69586		invalidParams.Add(request.NewErrParamRequired("FleetId"))
69587	}
69588	if s.TargetCapacitySpecification == nil {
69589		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
69590	}
69591	if s.TargetCapacitySpecification != nil {
69592		if err := s.TargetCapacitySpecification.Validate(); err != nil {
69593			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
69594		}
69595	}
69596
69597	if invalidParams.Len() > 0 {
69598		return invalidParams
69599	}
69600	return nil
69601}
69602
69603// SetDryRun sets the DryRun field's value.
69604func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
69605	s.DryRun = &v
69606	return s
69607}
69608
69609// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
69610func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
69611	s.ExcessCapacityTerminationPolicy = &v
69612	return s
69613}
69614
69615// SetFleetId sets the FleetId field's value.
69616func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
69617	s.FleetId = &v
69618	return s
69619}
69620
69621// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
69622func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
69623	s.TargetCapacitySpecification = v
69624	return s
69625}
69626
69627type ModifyFleetOutput struct {
69628	_ struct{} `type:"structure"`
69629
69630	// Is true if the request succeeds, and an error otherwise.
69631	Return *bool `locationName:"return" type:"boolean"`
69632}
69633
69634// String returns the string representation
69635func (s ModifyFleetOutput) String() string {
69636	return awsutil.Prettify(s)
69637}
69638
69639// GoString returns the string representation
69640func (s ModifyFleetOutput) GoString() string {
69641	return s.String()
69642}
69643
69644// SetReturn sets the Return field's value.
69645func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
69646	s.Return = &v
69647	return s
69648}
69649
69650type ModifyFpgaImageAttributeInput struct {
69651	_ struct{} `type:"structure"`
69652
69653	// The name of the attribute.
69654	Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
69655
69656	// A description for the AFI.
69657	Description *string `type:"string"`
69658
69659	// Checks whether you have the required permissions for the action, without
69660	// actually making the request, and provides an error response. If you have
69661	// the required permissions, the error response is DryRunOperation. Otherwise,
69662	// it is UnauthorizedOperation.
69663	DryRun *bool `type:"boolean"`
69664
69665	// The ID of the AFI.
69666	//
69667	// FpgaImageId is a required field
69668	FpgaImageId *string `type:"string" required:"true"`
69669
69670	// The load permission for the AFI.
69671	LoadPermission *LoadPermissionModifications `type:"structure"`
69672
69673	// A name for the AFI.
69674	Name *string `type:"string"`
69675
69676	// The operation type.
69677	OperationType *string `type:"string" enum:"OperationType"`
69678
69679	// The product codes. After you add a product code to an AFI, it can't be removed.
69680	// This parameter is valid only when modifying the productCodes attribute.
69681	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
69682
69683	// The user groups. This parameter is valid only when modifying the loadPermission
69684	// attribute.
69685	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
69686
69687	// The AWS account IDs. This parameter is valid only when modifying the loadPermission
69688	// attribute.
69689	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
69690}
69691
69692// String returns the string representation
69693func (s ModifyFpgaImageAttributeInput) String() string {
69694	return awsutil.Prettify(s)
69695}
69696
69697// GoString returns the string representation
69698func (s ModifyFpgaImageAttributeInput) GoString() string {
69699	return s.String()
69700}
69701
69702// Validate inspects the fields of the type to determine if they are valid.
69703func (s *ModifyFpgaImageAttributeInput) Validate() error {
69704	invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
69705	if s.FpgaImageId == nil {
69706		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
69707	}
69708
69709	if invalidParams.Len() > 0 {
69710		return invalidParams
69711	}
69712	return nil
69713}
69714
69715// SetAttribute sets the Attribute field's value.
69716func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
69717	s.Attribute = &v
69718	return s
69719}
69720
69721// SetDescription sets the Description field's value.
69722func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
69723	s.Description = &v
69724	return s
69725}
69726
69727// SetDryRun sets the DryRun field's value.
69728func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
69729	s.DryRun = &v
69730	return s
69731}
69732
69733// SetFpgaImageId sets the FpgaImageId field's value.
69734func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
69735	s.FpgaImageId = &v
69736	return s
69737}
69738
69739// SetLoadPermission sets the LoadPermission field's value.
69740func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
69741	s.LoadPermission = v
69742	return s
69743}
69744
69745// SetName sets the Name field's value.
69746func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
69747	s.Name = &v
69748	return s
69749}
69750
69751// SetOperationType sets the OperationType field's value.
69752func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
69753	s.OperationType = &v
69754	return s
69755}
69756
69757// SetProductCodes sets the ProductCodes field's value.
69758func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
69759	s.ProductCodes = v
69760	return s
69761}
69762
69763// SetUserGroups sets the UserGroups field's value.
69764func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
69765	s.UserGroups = v
69766	return s
69767}
69768
69769// SetUserIds sets the UserIds field's value.
69770func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
69771	s.UserIds = v
69772	return s
69773}
69774
69775type ModifyFpgaImageAttributeOutput struct {
69776	_ struct{} `type:"structure"`
69777
69778	// Information about the attribute.
69779	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
69780}
69781
69782// String returns the string representation
69783func (s ModifyFpgaImageAttributeOutput) String() string {
69784	return awsutil.Prettify(s)
69785}
69786
69787// GoString returns the string representation
69788func (s ModifyFpgaImageAttributeOutput) GoString() string {
69789	return s.String()
69790}
69791
69792// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
69793func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
69794	s.FpgaImageAttribute = v
69795	return s
69796}
69797
69798type ModifyHostsInput struct {
69799	_ struct{} `type:"structure"`
69800
69801	// Specify whether to enable or disable auto-placement.
69802	//
69803	// AutoPlacement is a required field
69804	AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
69805
69806	// The IDs of the Dedicated Hosts to modify.
69807	//
69808	// HostIds is a required field
69809	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
69810}
69811
69812// String returns the string representation
69813func (s ModifyHostsInput) String() string {
69814	return awsutil.Prettify(s)
69815}
69816
69817// GoString returns the string representation
69818func (s ModifyHostsInput) GoString() string {
69819	return s.String()
69820}
69821
69822// Validate inspects the fields of the type to determine if they are valid.
69823func (s *ModifyHostsInput) Validate() error {
69824	invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
69825	if s.AutoPlacement == nil {
69826		invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
69827	}
69828	if s.HostIds == nil {
69829		invalidParams.Add(request.NewErrParamRequired("HostIds"))
69830	}
69831
69832	if invalidParams.Len() > 0 {
69833		return invalidParams
69834	}
69835	return nil
69836}
69837
69838// SetAutoPlacement sets the AutoPlacement field's value.
69839func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
69840	s.AutoPlacement = &v
69841	return s
69842}
69843
69844// SetHostIds sets the HostIds field's value.
69845func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
69846	s.HostIds = v
69847	return s
69848}
69849
69850type ModifyHostsOutput struct {
69851	_ struct{} `type:"structure"`
69852
69853	// The IDs of the Dedicated Hosts that were successfully modified.
69854	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
69855
69856	// The IDs of the Dedicated Hosts that could not be modified. Check whether
69857	// the setting you requested can be used.
69858	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
69859}
69860
69861// String returns the string representation
69862func (s ModifyHostsOutput) String() string {
69863	return awsutil.Prettify(s)
69864}
69865
69866// GoString returns the string representation
69867func (s ModifyHostsOutput) GoString() string {
69868	return s.String()
69869}
69870
69871// SetSuccessful sets the Successful field's value.
69872func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
69873	s.Successful = v
69874	return s
69875}
69876
69877// SetUnsuccessful sets the Unsuccessful field's value.
69878func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
69879	s.Unsuccessful = v
69880	return s
69881}
69882
69883type ModifyIdFormatInput struct {
69884	_ struct{} `type:"structure"`
69885
69886	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
69887	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
69888	// | image | import-task | internet-gateway | network-acl | network-acl-association
69889	// | network-interface | network-interface-attachment | prefix-list | route-table
69890	// | route-table-association | security-group | subnet | subnet-cidr-block-association
69891	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
69892	// | vpn-connection | vpn-gateway.
69893	//
69894	// Alternatively, use the all-current option to include all resource types that
69895	// are currently within their opt-in period for longer IDs.
69896	//
69897	// Resource is a required field
69898	Resource *string `type:"string" required:"true"`
69899
69900	// Indicate whether the resource should use longer IDs (17-character IDs).
69901	//
69902	// UseLongIds is a required field
69903	UseLongIds *bool `type:"boolean" required:"true"`
69904}
69905
69906// String returns the string representation
69907func (s ModifyIdFormatInput) String() string {
69908	return awsutil.Prettify(s)
69909}
69910
69911// GoString returns the string representation
69912func (s ModifyIdFormatInput) GoString() string {
69913	return s.String()
69914}
69915
69916// Validate inspects the fields of the type to determine if they are valid.
69917func (s *ModifyIdFormatInput) Validate() error {
69918	invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
69919	if s.Resource == nil {
69920		invalidParams.Add(request.NewErrParamRequired("Resource"))
69921	}
69922	if s.UseLongIds == nil {
69923		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
69924	}
69925
69926	if invalidParams.Len() > 0 {
69927		return invalidParams
69928	}
69929	return nil
69930}
69931
69932// SetResource sets the Resource field's value.
69933func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
69934	s.Resource = &v
69935	return s
69936}
69937
69938// SetUseLongIds sets the UseLongIds field's value.
69939func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
69940	s.UseLongIds = &v
69941	return s
69942}
69943
69944type ModifyIdFormatOutput struct {
69945	_ struct{} `type:"structure"`
69946}
69947
69948// String returns the string representation
69949func (s ModifyIdFormatOutput) String() string {
69950	return awsutil.Prettify(s)
69951}
69952
69953// GoString returns the string representation
69954func (s ModifyIdFormatOutput) GoString() string {
69955	return s.String()
69956}
69957
69958type ModifyIdentityIdFormatInput struct {
69959	_ struct{} `type:"structure"`
69960
69961	// The ARN of the principal, which can be an IAM user, IAM role, or the root
69962	// user. Specify all to modify the ID format for all IAM users, IAM roles, and
69963	// the root user of the account.
69964	//
69965	// PrincipalArn is a required field
69966	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
69967
69968	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
69969	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
69970	// | image | import-task | internet-gateway | network-acl | network-acl-association
69971	// | network-interface | network-interface-attachment | prefix-list | route-table
69972	// | route-table-association | security-group | subnet | subnet-cidr-block-association
69973	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
69974	// | vpn-connection | vpn-gateway.
69975	//
69976	// Alternatively, use the all-current option to include all resource types that
69977	// are currently within their opt-in period for longer IDs.
69978	//
69979	// Resource is a required field
69980	Resource *string `locationName:"resource" type:"string" required:"true"`
69981
69982	// Indicates whether the resource should use longer IDs (17-character IDs)
69983	//
69984	// UseLongIds is a required field
69985	UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
69986}
69987
69988// String returns the string representation
69989func (s ModifyIdentityIdFormatInput) String() string {
69990	return awsutil.Prettify(s)
69991}
69992
69993// GoString returns the string representation
69994func (s ModifyIdentityIdFormatInput) GoString() string {
69995	return s.String()
69996}
69997
69998// Validate inspects the fields of the type to determine if they are valid.
69999func (s *ModifyIdentityIdFormatInput) Validate() error {
70000	invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
70001	if s.PrincipalArn == nil {
70002		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
70003	}
70004	if s.Resource == nil {
70005		invalidParams.Add(request.NewErrParamRequired("Resource"))
70006	}
70007	if s.UseLongIds == nil {
70008		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
70009	}
70010
70011	if invalidParams.Len() > 0 {
70012		return invalidParams
70013	}
70014	return nil
70015}
70016
70017// SetPrincipalArn sets the PrincipalArn field's value.
70018func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
70019	s.PrincipalArn = &v
70020	return s
70021}
70022
70023// SetResource sets the Resource field's value.
70024func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
70025	s.Resource = &v
70026	return s
70027}
70028
70029// SetUseLongIds sets the UseLongIds field's value.
70030func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
70031	s.UseLongIds = &v
70032	return s
70033}
70034
70035type ModifyIdentityIdFormatOutput struct {
70036	_ struct{} `type:"structure"`
70037}
70038
70039// String returns the string representation
70040func (s ModifyIdentityIdFormatOutput) String() string {
70041	return awsutil.Prettify(s)
70042}
70043
70044// GoString returns the string representation
70045func (s ModifyIdentityIdFormatOutput) GoString() string {
70046	return s.String()
70047}
70048
70049// Contains the parameters for ModifyImageAttribute.
70050type ModifyImageAttributeInput struct {
70051	_ struct{} `type:"structure"`
70052
70053	// The name of the attribute to modify. The valid values are description, launchPermission,
70054	// and productCodes.
70055	Attribute *string `type:"string"`
70056
70057	// A new description for the AMI.
70058	Description *AttributeValue `type:"structure"`
70059
70060	// Checks whether you have the required permissions for the action, without
70061	// actually making the request, and provides an error response. If you have
70062	// the required permissions, the error response is DryRunOperation. Otherwise,
70063	// it is UnauthorizedOperation.
70064	DryRun *bool `locationName:"dryRun" type:"boolean"`
70065
70066	// The ID of the AMI.
70067	//
70068	// ImageId is a required field
70069	ImageId *string `type:"string" required:"true"`
70070
70071	// A new launch permission for the AMI.
70072	LaunchPermission *LaunchPermissionModifications `type:"structure"`
70073
70074	// The operation type. This parameter can be used only when the Attribute parameter
70075	// is launchPermission.
70076	OperationType *string `type:"string" enum:"OperationType"`
70077
70078	// The DevPay product codes. After you add a product code to an AMI, it can't
70079	// be removed.
70080	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
70081
70082	// The user groups. This parameter can be used only when the Attribute parameter
70083	// is launchPermission.
70084	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
70085
70086	// The AWS account IDs. This parameter can be used only when the Attribute parameter
70087	// is launchPermission.
70088	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
70089
70090	// The value of the attribute being modified. This parameter can be used only
70091	// when the Attribute parameter is description or productCodes.
70092	Value *string `type:"string"`
70093}
70094
70095// String returns the string representation
70096func (s ModifyImageAttributeInput) String() string {
70097	return awsutil.Prettify(s)
70098}
70099
70100// GoString returns the string representation
70101func (s ModifyImageAttributeInput) GoString() string {
70102	return s.String()
70103}
70104
70105// Validate inspects the fields of the type to determine if they are valid.
70106func (s *ModifyImageAttributeInput) Validate() error {
70107	invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
70108	if s.ImageId == nil {
70109		invalidParams.Add(request.NewErrParamRequired("ImageId"))
70110	}
70111
70112	if invalidParams.Len() > 0 {
70113		return invalidParams
70114	}
70115	return nil
70116}
70117
70118// SetAttribute sets the Attribute field's value.
70119func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
70120	s.Attribute = &v
70121	return s
70122}
70123
70124// SetDescription sets the Description field's value.
70125func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
70126	s.Description = v
70127	return s
70128}
70129
70130// SetDryRun sets the DryRun field's value.
70131func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
70132	s.DryRun = &v
70133	return s
70134}
70135
70136// SetImageId sets the ImageId field's value.
70137func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
70138	s.ImageId = &v
70139	return s
70140}
70141
70142// SetLaunchPermission sets the LaunchPermission field's value.
70143func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
70144	s.LaunchPermission = v
70145	return s
70146}
70147
70148// SetOperationType sets the OperationType field's value.
70149func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
70150	s.OperationType = &v
70151	return s
70152}
70153
70154// SetProductCodes sets the ProductCodes field's value.
70155func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
70156	s.ProductCodes = v
70157	return s
70158}
70159
70160// SetUserGroups sets the UserGroups field's value.
70161func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
70162	s.UserGroups = v
70163	return s
70164}
70165
70166// SetUserIds sets the UserIds field's value.
70167func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
70168	s.UserIds = v
70169	return s
70170}
70171
70172// SetValue sets the Value field's value.
70173func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
70174	s.Value = &v
70175	return s
70176}
70177
70178type ModifyImageAttributeOutput struct {
70179	_ struct{} `type:"structure"`
70180}
70181
70182// String returns the string representation
70183func (s ModifyImageAttributeOutput) String() string {
70184	return awsutil.Prettify(s)
70185}
70186
70187// GoString returns the string representation
70188func (s ModifyImageAttributeOutput) GoString() string {
70189	return s.String()
70190}
70191
70192type ModifyInstanceAttributeInput struct {
70193	_ struct{} `type:"structure"`
70194
70195	// The name of the attribute.
70196	Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
70197
70198	// Modifies the DeleteOnTermination attribute for volumes that are currently
70199	// attached. The volume must be owned by the caller. If no value is specified
70200	// for DeleteOnTermination, the default is true and the volume is deleted when
70201	// the instance is terminated.
70202	//
70203	// To add instance store volumes to an Amazon EBS-backed instance, you must
70204	// add them when you launch the instance. For more information, see Updating
70205	// the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
70206	// in the Amazon Elastic Compute Cloud User Guide.
70207	BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
70208
70209	// If the value is true, you can't terminate the instance using the Amazon EC2
70210	// console, CLI, or API; otherwise, you can. You cannot use this parameter for
70211	// Spot Instances.
70212	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
70213
70214	// Checks whether you have the required permissions for the action, without
70215	// actually making the request, and provides an error response. If you have
70216	// the required permissions, the error response is DryRunOperation. Otherwise,
70217	// it is UnauthorizedOperation.
70218	DryRun *bool `locationName:"dryRun" type:"boolean"`
70219
70220	// Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
70221	// provides dedicated throughput to Amazon EBS and an optimized configuration
70222	// stack to provide optimal EBS I/O performance. This optimization isn't available
70223	// with all instance types. Additional usage charges apply when using an EBS
70224	// Optimized instance.
70225	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
70226
70227	// Set to true to enable enhanced networking with ENA for the instance.
70228	//
70229	// This option is supported only for HVM instances. Specifying this option with
70230	// a PV instance can make it unreachable.
70231	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
70232
70233	// [EC2-VPC] Changes the security groups of the instance. You must specify at
70234	// least one security group, even if it's just the default security group for
70235	// the VPC. You must specify the security group ID, not the security group name.
70236	Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
70237
70238	// The ID of the instance.
70239	//
70240	// InstanceId is a required field
70241	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
70242
70243	// Specifies whether an instance stops or terminates when you initiate shutdown
70244	// from the instance (using the operating system command for system shutdown).
70245	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
70246
70247	// Changes the instance type to the specified value. For more information, see
70248	// Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
70249	// If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
70250	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
70251
70252	// Changes the instance's kernel to the specified value. We recommend that you
70253	// use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
70254	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
70255	Kernel *AttributeValue `locationName:"kernel" type:"structure"`
70256
70257	// Changes the instance's RAM disk to the specified value. We recommend that
70258	// you use PV-GRUB instead of kernels and RAM disks. For more information, see
70259	// PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
70260	Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
70261
70262	// Specifies whether source/destination checking is enabled. A value of true
70263	// means that checking is enabled, and false means that checking is disabled.
70264	// This value must be false for a NAT instance to perform NAT.
70265	SourceDestCheck *AttributeBooleanValue `type:"structure"`
70266
70267	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
70268	// Function interface for the instance.
70269	//
70270	// There is no way to disable enhanced networking with the Intel 82599 Virtual
70271	// Function interface at this time.
70272	//
70273	// This option is supported only for HVM instances. Specifying this option with
70274	// a PV instance can make it unreachable.
70275	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
70276
70277	// Changes the instance's user data to the specified value. If you are using
70278	// an AWS SDK or command line tool, base64-encoding is performed for you, and
70279	// you can load the text from a file. Otherwise, you must provide base64-encoded
70280	// text.
70281	UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
70282
70283	// A new value for the attribute. Use only with the kernel, ramdisk, userData,
70284	// disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
70285	Value *string `locationName:"value" type:"string"`
70286}
70287
70288// String returns the string representation
70289func (s ModifyInstanceAttributeInput) String() string {
70290	return awsutil.Prettify(s)
70291}
70292
70293// GoString returns the string representation
70294func (s ModifyInstanceAttributeInput) GoString() string {
70295	return s.String()
70296}
70297
70298// Validate inspects the fields of the type to determine if they are valid.
70299func (s *ModifyInstanceAttributeInput) Validate() error {
70300	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
70301	if s.InstanceId == nil {
70302		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
70303	}
70304
70305	if invalidParams.Len() > 0 {
70306		return invalidParams
70307	}
70308	return nil
70309}
70310
70311// SetAttribute sets the Attribute field's value.
70312func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
70313	s.Attribute = &v
70314	return s
70315}
70316
70317// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
70318func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
70319	s.BlockDeviceMappings = v
70320	return s
70321}
70322
70323// SetDisableApiTermination sets the DisableApiTermination field's value.
70324func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
70325	s.DisableApiTermination = v
70326	return s
70327}
70328
70329// SetDryRun sets the DryRun field's value.
70330func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
70331	s.DryRun = &v
70332	return s
70333}
70334
70335// SetEbsOptimized sets the EbsOptimized field's value.
70336func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
70337	s.EbsOptimized = v
70338	return s
70339}
70340
70341// SetEnaSupport sets the EnaSupport field's value.
70342func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
70343	s.EnaSupport = v
70344	return s
70345}
70346
70347// SetGroups sets the Groups field's value.
70348func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
70349	s.Groups = v
70350	return s
70351}
70352
70353// SetInstanceId sets the InstanceId field's value.
70354func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
70355	s.InstanceId = &v
70356	return s
70357}
70358
70359// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
70360func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
70361	s.InstanceInitiatedShutdownBehavior = v
70362	return s
70363}
70364
70365// SetInstanceType sets the InstanceType field's value.
70366func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
70367	s.InstanceType = v
70368	return s
70369}
70370
70371// SetKernel sets the Kernel field's value.
70372func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
70373	s.Kernel = v
70374	return s
70375}
70376
70377// SetRamdisk sets the Ramdisk field's value.
70378func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
70379	s.Ramdisk = v
70380	return s
70381}
70382
70383// SetSourceDestCheck sets the SourceDestCheck field's value.
70384func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
70385	s.SourceDestCheck = v
70386	return s
70387}
70388
70389// SetSriovNetSupport sets the SriovNetSupport field's value.
70390func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
70391	s.SriovNetSupport = v
70392	return s
70393}
70394
70395// SetUserData sets the UserData field's value.
70396func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
70397	s.UserData = v
70398	return s
70399}
70400
70401// SetValue sets the Value field's value.
70402func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
70403	s.Value = &v
70404	return s
70405}
70406
70407type ModifyInstanceAttributeOutput struct {
70408	_ struct{} `type:"structure"`
70409}
70410
70411// String returns the string representation
70412func (s ModifyInstanceAttributeOutput) String() string {
70413	return awsutil.Prettify(s)
70414}
70415
70416// GoString returns the string representation
70417func (s ModifyInstanceAttributeOutput) GoString() string {
70418	return s.String()
70419}
70420
70421type ModifyInstanceCapacityReservationAttributesInput struct {
70422	_ struct{} `type:"structure"`
70423
70424	// Information about the Capacity Reservation targeting option.
70425	//
70426	// CapacityReservationSpecification is a required field
70427	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
70428
70429	// Checks whether you have the required permissions for the action, without
70430	// actually making the request, and provides an error response. If you have
70431	// the required permissions, the error response is DryRunOperation. Otherwise,
70432	// it is UnauthorizedOperation.
70433	DryRun *bool `type:"boolean"`
70434
70435	// The ID of the instance to be modified.
70436	//
70437	// InstanceId is a required field
70438	InstanceId *string `type:"string" required:"true"`
70439}
70440
70441// String returns the string representation
70442func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
70443	return awsutil.Prettify(s)
70444}
70445
70446// GoString returns the string representation
70447func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
70448	return s.String()
70449}
70450
70451// Validate inspects the fields of the type to determine if they are valid.
70452func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
70453	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
70454	if s.CapacityReservationSpecification == nil {
70455		invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
70456	}
70457	if s.InstanceId == nil {
70458		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
70459	}
70460
70461	if invalidParams.Len() > 0 {
70462		return invalidParams
70463	}
70464	return nil
70465}
70466
70467// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
70468func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
70469	s.CapacityReservationSpecification = v
70470	return s
70471}
70472
70473// SetDryRun sets the DryRun field's value.
70474func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
70475	s.DryRun = &v
70476	return s
70477}
70478
70479// SetInstanceId sets the InstanceId field's value.
70480func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
70481	s.InstanceId = &v
70482	return s
70483}
70484
70485type ModifyInstanceCapacityReservationAttributesOutput struct {
70486	_ struct{} `type:"structure"`
70487
70488	// Returns true if the request succeeds; otherwise, it returns an error.
70489	Return *bool `locationName:"return" type:"boolean"`
70490}
70491
70492// String returns the string representation
70493func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
70494	return awsutil.Prettify(s)
70495}
70496
70497// GoString returns the string representation
70498func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
70499	return s.String()
70500}
70501
70502// SetReturn sets the Return field's value.
70503func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
70504	s.Return = &v
70505	return s
70506}
70507
70508type ModifyInstanceCreditSpecificationInput struct {
70509	_ struct{} `type:"structure"`
70510
70511	// A unique, case-sensitive token that you provide to ensure idempotency of
70512	// your modification request. For more information, see Ensuring Idempotency
70513	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
70514	ClientToken *string `type:"string"`
70515
70516	// Checks whether you have the required permissions for the action, without
70517	// actually making the request, and provides an error response. If you have
70518	// the required permissions, the error response is DryRunOperation. Otherwise,
70519	// it is UnauthorizedOperation.
70520	DryRun *bool `type:"boolean"`
70521
70522	// Information about the credit option for CPU usage.
70523	//
70524	// InstanceCreditSpecifications is a required field
70525	InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
70526}
70527
70528// String returns the string representation
70529func (s ModifyInstanceCreditSpecificationInput) String() string {
70530	return awsutil.Prettify(s)
70531}
70532
70533// GoString returns the string representation
70534func (s ModifyInstanceCreditSpecificationInput) GoString() string {
70535	return s.String()
70536}
70537
70538// Validate inspects the fields of the type to determine if they are valid.
70539func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
70540	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
70541	if s.InstanceCreditSpecifications == nil {
70542		invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
70543	}
70544
70545	if invalidParams.Len() > 0 {
70546		return invalidParams
70547	}
70548	return nil
70549}
70550
70551// SetClientToken sets the ClientToken field's value.
70552func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
70553	s.ClientToken = &v
70554	return s
70555}
70556
70557// SetDryRun sets the DryRun field's value.
70558func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
70559	s.DryRun = &v
70560	return s
70561}
70562
70563// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
70564func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
70565	s.InstanceCreditSpecifications = v
70566	return s
70567}
70568
70569type ModifyInstanceCreditSpecificationOutput struct {
70570	_ struct{} `type:"structure"`
70571
70572	// Information about the instances whose credit option for CPU usage was successfully
70573	// modified.
70574	SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
70575
70576	// Information about the instances whose credit option for CPU usage was not
70577	// modified.
70578	UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
70579}
70580
70581// String returns the string representation
70582func (s ModifyInstanceCreditSpecificationOutput) String() string {
70583	return awsutil.Prettify(s)
70584}
70585
70586// GoString returns the string representation
70587func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
70588	return s.String()
70589}
70590
70591// SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
70592func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
70593	s.SuccessfulInstanceCreditSpecifications = v
70594	return s
70595}
70596
70597// SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
70598func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
70599	s.UnsuccessfulInstanceCreditSpecifications = v
70600	return s
70601}
70602
70603type ModifyInstanceEventStartTimeInput struct {
70604	_ struct{} `type:"structure"`
70605
70606	// Checks whether you have the required permissions for the action, without
70607	// actually making the request, and provides an error response. If you have
70608	// the required permissions, the error response is DryRunOperation. Otherwise,
70609	// it is UnauthorizedOperation.
70610	DryRun *bool `type:"boolean"`
70611
70612	// The ID of the event whose date and time you are modifying.
70613	//
70614	// InstanceEventId is a required field
70615	InstanceEventId *string `type:"string" required:"true"`
70616
70617	// The ID of the instance with the scheduled event.
70618	//
70619	// InstanceId is a required field
70620	InstanceId *string `type:"string" required:"true"`
70621
70622	// The new date and time when the event will take place.
70623	//
70624	// NotBefore is a required field
70625	NotBefore *time.Time `type:"timestamp" required:"true"`
70626}
70627
70628// String returns the string representation
70629func (s ModifyInstanceEventStartTimeInput) String() string {
70630	return awsutil.Prettify(s)
70631}
70632
70633// GoString returns the string representation
70634func (s ModifyInstanceEventStartTimeInput) GoString() string {
70635	return s.String()
70636}
70637
70638// Validate inspects the fields of the type to determine if they are valid.
70639func (s *ModifyInstanceEventStartTimeInput) Validate() error {
70640	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
70641	if s.InstanceEventId == nil {
70642		invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
70643	}
70644	if s.InstanceId == nil {
70645		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
70646	}
70647	if s.NotBefore == nil {
70648		invalidParams.Add(request.NewErrParamRequired("NotBefore"))
70649	}
70650
70651	if invalidParams.Len() > 0 {
70652		return invalidParams
70653	}
70654	return nil
70655}
70656
70657// SetDryRun sets the DryRun field's value.
70658func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
70659	s.DryRun = &v
70660	return s
70661}
70662
70663// SetInstanceEventId sets the InstanceEventId field's value.
70664func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
70665	s.InstanceEventId = &v
70666	return s
70667}
70668
70669// SetInstanceId sets the InstanceId field's value.
70670func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
70671	s.InstanceId = &v
70672	return s
70673}
70674
70675// SetNotBefore sets the NotBefore field's value.
70676func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
70677	s.NotBefore = &v
70678	return s
70679}
70680
70681type ModifyInstanceEventStartTimeOutput struct {
70682	_ struct{} `type:"structure"`
70683
70684	// Describes a scheduled event for an instance.
70685	Event *InstanceStatusEvent `locationName:"event" type:"structure"`
70686}
70687
70688// String returns the string representation
70689func (s ModifyInstanceEventStartTimeOutput) String() string {
70690	return awsutil.Prettify(s)
70691}
70692
70693// GoString returns the string representation
70694func (s ModifyInstanceEventStartTimeOutput) GoString() string {
70695	return s.String()
70696}
70697
70698// SetEvent sets the Event field's value.
70699func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
70700	s.Event = v
70701	return s
70702}
70703
70704type ModifyInstancePlacementInput struct {
70705	_ struct{} `type:"structure"`
70706
70707	// The affinity setting for the instance.
70708	Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
70709
70710	// The name of the placement group in which to place the instance. For spread
70711	// placement groups, the instance must have a tenancy of default. For cluster
70712	// and partition placement groups, the instance must have a tenancy of default
70713	// or dedicated.
70714	//
70715	// To remove an instance from a placement group, specify an empty string ("").
70716	GroupName *string `type:"string"`
70717
70718	// The ID of the Dedicated Host with which to associate the instance.
70719	HostId *string `locationName:"hostId" type:"string"`
70720
70721	// The ID of the instance that you are modifying.
70722	//
70723	// InstanceId is a required field
70724	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
70725
70726	// Reserved for future use.
70727	PartitionNumber *int64 `type:"integer"`
70728
70729	// The tenancy for the instance.
70730	Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
70731}
70732
70733// String returns the string representation
70734func (s ModifyInstancePlacementInput) String() string {
70735	return awsutil.Prettify(s)
70736}
70737
70738// GoString returns the string representation
70739func (s ModifyInstancePlacementInput) GoString() string {
70740	return s.String()
70741}
70742
70743// Validate inspects the fields of the type to determine if they are valid.
70744func (s *ModifyInstancePlacementInput) Validate() error {
70745	invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
70746	if s.InstanceId == nil {
70747		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
70748	}
70749
70750	if invalidParams.Len() > 0 {
70751		return invalidParams
70752	}
70753	return nil
70754}
70755
70756// SetAffinity sets the Affinity field's value.
70757func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
70758	s.Affinity = &v
70759	return s
70760}
70761
70762// SetGroupName sets the GroupName field's value.
70763func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
70764	s.GroupName = &v
70765	return s
70766}
70767
70768// SetHostId sets the HostId field's value.
70769func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
70770	s.HostId = &v
70771	return s
70772}
70773
70774// SetInstanceId sets the InstanceId field's value.
70775func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
70776	s.InstanceId = &v
70777	return s
70778}
70779
70780// SetPartitionNumber sets the PartitionNumber field's value.
70781func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
70782	s.PartitionNumber = &v
70783	return s
70784}
70785
70786// SetTenancy sets the Tenancy field's value.
70787func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
70788	s.Tenancy = &v
70789	return s
70790}
70791
70792type ModifyInstancePlacementOutput struct {
70793	_ struct{} `type:"structure"`
70794
70795	// Is true if the request succeeds, and an error otherwise.
70796	Return *bool `locationName:"return" type:"boolean"`
70797}
70798
70799// String returns the string representation
70800func (s ModifyInstancePlacementOutput) String() string {
70801	return awsutil.Prettify(s)
70802}
70803
70804// GoString returns the string representation
70805func (s ModifyInstancePlacementOutput) GoString() string {
70806	return s.String()
70807}
70808
70809// SetReturn sets the Return field's value.
70810func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
70811	s.Return = &v
70812	return s
70813}
70814
70815type ModifyLaunchTemplateInput struct {
70816	_ struct{} `type:"structure"`
70817
70818	// Unique, case-sensitive identifier you provide to ensure the idempotency of
70819	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
70820	//
70821	// Constraint: Maximum 128 ASCII characters.
70822	ClientToken *string `type:"string"`
70823
70824	// The version number of the launch template to set as the default version.
70825	DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
70826
70827	// Checks whether you have the required permissions for the action, without
70828	// actually making the request, and provides an error response. If you have
70829	// the required permissions, the error response is DryRunOperation. Otherwise,
70830	// it is UnauthorizedOperation.
70831	DryRun *bool `type:"boolean"`
70832
70833	// The ID of the launch template. You must specify either the launch template
70834	// ID or launch template name in the request.
70835	LaunchTemplateId *string `type:"string"`
70836
70837	// The name of the launch template. You must specify either the launch template
70838	// ID or launch template name in the request.
70839	LaunchTemplateName *string `min:"3" type:"string"`
70840}
70841
70842// String returns the string representation
70843func (s ModifyLaunchTemplateInput) String() string {
70844	return awsutil.Prettify(s)
70845}
70846
70847// GoString returns the string representation
70848func (s ModifyLaunchTemplateInput) GoString() string {
70849	return s.String()
70850}
70851
70852// Validate inspects the fields of the type to determine if they are valid.
70853func (s *ModifyLaunchTemplateInput) Validate() error {
70854	invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
70855	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
70856		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
70857	}
70858
70859	if invalidParams.Len() > 0 {
70860		return invalidParams
70861	}
70862	return nil
70863}
70864
70865// SetClientToken sets the ClientToken field's value.
70866func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
70867	s.ClientToken = &v
70868	return s
70869}
70870
70871// SetDefaultVersion sets the DefaultVersion field's value.
70872func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
70873	s.DefaultVersion = &v
70874	return s
70875}
70876
70877// SetDryRun sets the DryRun field's value.
70878func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
70879	s.DryRun = &v
70880	return s
70881}
70882
70883// SetLaunchTemplateId sets the LaunchTemplateId field's value.
70884func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
70885	s.LaunchTemplateId = &v
70886	return s
70887}
70888
70889// SetLaunchTemplateName sets the LaunchTemplateName field's value.
70890func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
70891	s.LaunchTemplateName = &v
70892	return s
70893}
70894
70895type ModifyLaunchTemplateOutput struct {
70896	_ struct{} `type:"structure"`
70897
70898	// Information about the launch template.
70899	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
70900}
70901
70902// String returns the string representation
70903func (s ModifyLaunchTemplateOutput) String() string {
70904	return awsutil.Prettify(s)
70905}
70906
70907// GoString returns the string representation
70908func (s ModifyLaunchTemplateOutput) GoString() string {
70909	return s.String()
70910}
70911
70912// SetLaunchTemplate sets the LaunchTemplate field's value.
70913func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
70914	s.LaunchTemplate = v
70915	return s
70916}
70917
70918// Contains the parameters for ModifyNetworkInterfaceAttribute.
70919type ModifyNetworkInterfaceAttributeInput struct {
70920	_ struct{} `type:"structure"`
70921
70922	// Information about the interface attachment. If modifying the 'delete on termination'
70923	// attribute, you must specify the ID of the interface attachment.
70924	Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
70925
70926	// A description for the network interface.
70927	Description *AttributeValue `locationName:"description" type:"structure"`
70928
70929	// Checks whether you have the required permissions for the action, without
70930	// actually making the request, and provides an error response. If you have
70931	// the required permissions, the error response is DryRunOperation. Otherwise,
70932	// it is UnauthorizedOperation.
70933	DryRun *bool `locationName:"dryRun" type:"boolean"`
70934
70935	// Changes the security groups for the network interface. The new set of groups
70936	// you specify replaces the current set. You must specify at least one group,
70937	// even if it's just the default security group in the VPC. You must specify
70938	// the ID of the security group, not the name.
70939	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
70940
70941	// The ID of the network interface.
70942	//
70943	// NetworkInterfaceId is a required field
70944	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
70945
70946	// Indicates whether source/destination checking is enabled. A value of true
70947	// means checking is enabled, and false means checking is disabled. This value
70948	// must be false for a NAT instance to perform NAT. For more information, see
70949	// NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
70950	// in the Amazon Virtual Private Cloud User Guide.
70951	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
70952}
70953
70954// String returns the string representation
70955func (s ModifyNetworkInterfaceAttributeInput) String() string {
70956	return awsutil.Prettify(s)
70957}
70958
70959// GoString returns the string representation
70960func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
70961	return s.String()
70962}
70963
70964// Validate inspects the fields of the type to determine if they are valid.
70965func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
70966	invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
70967	if s.NetworkInterfaceId == nil {
70968		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
70969	}
70970
70971	if invalidParams.Len() > 0 {
70972		return invalidParams
70973	}
70974	return nil
70975}
70976
70977// SetAttachment sets the Attachment field's value.
70978func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
70979	s.Attachment = v
70980	return s
70981}
70982
70983// SetDescription sets the Description field's value.
70984func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
70985	s.Description = v
70986	return s
70987}
70988
70989// SetDryRun sets the DryRun field's value.
70990func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
70991	s.DryRun = &v
70992	return s
70993}
70994
70995// SetGroups sets the Groups field's value.
70996func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
70997	s.Groups = v
70998	return s
70999}
71000
71001// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
71002func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
71003	s.NetworkInterfaceId = &v
71004	return s
71005}
71006
71007// SetSourceDestCheck sets the SourceDestCheck field's value.
71008func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
71009	s.SourceDestCheck = v
71010	return s
71011}
71012
71013type ModifyNetworkInterfaceAttributeOutput struct {
71014	_ struct{} `type:"structure"`
71015}
71016
71017// String returns the string representation
71018func (s ModifyNetworkInterfaceAttributeOutput) String() string {
71019	return awsutil.Prettify(s)
71020}
71021
71022// GoString returns the string representation
71023func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
71024	return s.String()
71025}
71026
71027// Contains the parameters for ModifyReservedInstances.
71028type ModifyReservedInstancesInput struct {
71029	_ struct{} `type:"structure"`
71030
71031	// A unique, case-sensitive token you provide to ensure idempotency of your
71032	// modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
71033	ClientToken *string `locationName:"clientToken" type:"string"`
71034
71035	// The IDs of the Reserved Instances to modify.
71036	//
71037	// ReservedInstancesIds is a required field
71038	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
71039
71040	// The configuration settings for the Reserved Instances to modify.
71041	//
71042	// TargetConfigurations is a required field
71043	TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
71044}
71045
71046// String returns the string representation
71047func (s ModifyReservedInstancesInput) String() string {
71048	return awsutil.Prettify(s)
71049}
71050
71051// GoString returns the string representation
71052func (s ModifyReservedInstancesInput) GoString() string {
71053	return s.String()
71054}
71055
71056// Validate inspects the fields of the type to determine if they are valid.
71057func (s *ModifyReservedInstancesInput) Validate() error {
71058	invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
71059	if s.ReservedInstancesIds == nil {
71060		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
71061	}
71062	if s.TargetConfigurations == nil {
71063		invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
71064	}
71065
71066	if invalidParams.Len() > 0 {
71067		return invalidParams
71068	}
71069	return nil
71070}
71071
71072// SetClientToken sets the ClientToken field's value.
71073func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
71074	s.ClientToken = &v
71075	return s
71076}
71077
71078// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
71079func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
71080	s.ReservedInstancesIds = v
71081	return s
71082}
71083
71084// SetTargetConfigurations sets the TargetConfigurations field's value.
71085func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
71086	s.TargetConfigurations = v
71087	return s
71088}
71089
71090// Contains the output of ModifyReservedInstances.
71091type ModifyReservedInstancesOutput struct {
71092	_ struct{} `type:"structure"`
71093
71094	// The ID for the modification.
71095	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
71096}
71097
71098// String returns the string representation
71099func (s ModifyReservedInstancesOutput) String() string {
71100	return awsutil.Prettify(s)
71101}
71102
71103// GoString returns the string representation
71104func (s ModifyReservedInstancesOutput) GoString() string {
71105	return s.String()
71106}
71107
71108// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
71109func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
71110	s.ReservedInstancesModificationId = &v
71111	return s
71112}
71113
71114// Contains the parameters for ModifySnapshotAttribute.
71115type ModifySnapshotAttributeInput struct {
71116	_ struct{} `type:"structure"`
71117
71118	// The snapshot attribute to modify. Only volume creation permissions can be
71119	// modified.
71120	Attribute *string `type:"string" enum:"SnapshotAttributeName"`
71121
71122	// A JSON representation of the snapshot attribute modification.
71123	CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
71124
71125	// Checks whether you have the required permissions for the action, without
71126	// actually making the request, and provides an error response. If you have
71127	// the required permissions, the error response is DryRunOperation. Otherwise,
71128	// it is UnauthorizedOperation.
71129	DryRun *bool `locationName:"dryRun" type:"boolean"`
71130
71131	// The group to modify for the snapshot.
71132	GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
71133
71134	// The type of operation to perform to the attribute.
71135	OperationType *string `type:"string" enum:"OperationType"`
71136
71137	// The ID of the snapshot.
71138	//
71139	// SnapshotId is a required field
71140	SnapshotId *string `type:"string" required:"true"`
71141
71142	// The account ID to modify for the snapshot.
71143	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
71144}
71145
71146// String returns the string representation
71147func (s ModifySnapshotAttributeInput) String() string {
71148	return awsutil.Prettify(s)
71149}
71150
71151// GoString returns the string representation
71152func (s ModifySnapshotAttributeInput) GoString() string {
71153	return s.String()
71154}
71155
71156// Validate inspects the fields of the type to determine if they are valid.
71157func (s *ModifySnapshotAttributeInput) Validate() error {
71158	invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
71159	if s.SnapshotId == nil {
71160		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
71161	}
71162
71163	if invalidParams.Len() > 0 {
71164		return invalidParams
71165	}
71166	return nil
71167}
71168
71169// SetAttribute sets the Attribute field's value.
71170func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
71171	s.Attribute = &v
71172	return s
71173}
71174
71175// SetCreateVolumePermission sets the CreateVolumePermission field's value.
71176func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
71177	s.CreateVolumePermission = v
71178	return s
71179}
71180
71181// SetDryRun sets the DryRun field's value.
71182func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
71183	s.DryRun = &v
71184	return s
71185}
71186
71187// SetGroupNames sets the GroupNames field's value.
71188func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
71189	s.GroupNames = v
71190	return s
71191}
71192
71193// SetOperationType sets the OperationType field's value.
71194func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
71195	s.OperationType = &v
71196	return s
71197}
71198
71199// SetSnapshotId sets the SnapshotId field's value.
71200func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
71201	s.SnapshotId = &v
71202	return s
71203}
71204
71205// SetUserIds sets the UserIds field's value.
71206func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
71207	s.UserIds = v
71208	return s
71209}
71210
71211type ModifySnapshotAttributeOutput struct {
71212	_ struct{} `type:"structure"`
71213}
71214
71215// String returns the string representation
71216func (s ModifySnapshotAttributeOutput) String() string {
71217	return awsutil.Prettify(s)
71218}
71219
71220// GoString returns the string representation
71221func (s ModifySnapshotAttributeOutput) GoString() string {
71222	return s.String()
71223}
71224
71225// Contains the parameters for ModifySpotFleetRequest.
71226type ModifySpotFleetRequestInput struct {
71227	_ struct{} `type:"structure"`
71228
71229	// Indicates whether running Spot Instances should be terminated if the target
71230	// capacity of the Spot Fleet request is decreased below the current size of
71231	// the Spot Fleet.
71232	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
71233
71234	// The ID of the Spot Fleet request.
71235	//
71236	// SpotFleetRequestId is a required field
71237	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
71238
71239	// The size of the fleet.
71240	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
71241}
71242
71243// String returns the string representation
71244func (s ModifySpotFleetRequestInput) String() string {
71245	return awsutil.Prettify(s)
71246}
71247
71248// GoString returns the string representation
71249func (s ModifySpotFleetRequestInput) GoString() string {
71250	return s.String()
71251}
71252
71253// Validate inspects the fields of the type to determine if they are valid.
71254func (s *ModifySpotFleetRequestInput) Validate() error {
71255	invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
71256	if s.SpotFleetRequestId == nil {
71257		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
71258	}
71259
71260	if invalidParams.Len() > 0 {
71261		return invalidParams
71262	}
71263	return nil
71264}
71265
71266// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
71267func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
71268	s.ExcessCapacityTerminationPolicy = &v
71269	return s
71270}
71271
71272// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
71273func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
71274	s.SpotFleetRequestId = &v
71275	return s
71276}
71277
71278// SetTargetCapacity sets the TargetCapacity field's value.
71279func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
71280	s.TargetCapacity = &v
71281	return s
71282}
71283
71284// Contains the output of ModifySpotFleetRequest.
71285type ModifySpotFleetRequestOutput struct {
71286	_ struct{} `type:"structure"`
71287
71288	// Is true if the request succeeds, and an error otherwise.
71289	Return *bool `locationName:"return" type:"boolean"`
71290}
71291
71292// String returns the string representation
71293func (s ModifySpotFleetRequestOutput) String() string {
71294	return awsutil.Prettify(s)
71295}
71296
71297// GoString returns the string representation
71298func (s ModifySpotFleetRequestOutput) GoString() string {
71299	return s.String()
71300}
71301
71302// SetReturn sets the Return field's value.
71303func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
71304	s.Return = &v
71305	return s
71306}
71307
71308type ModifySubnetAttributeInput struct {
71309	_ struct{} `type:"structure"`
71310
71311	// Specify true to indicate that network interfaces created in the specified
71312	// subnet should be assigned an IPv6 address. This includes a network interface
71313	// that's created when launching an instance into the subnet (the instance therefore
71314	// receives an IPv6 address).
71315	//
71316	// If you enable the IPv6 addressing feature for your subnet, your network interface
71317	// or instance only receives an IPv6 address if it's created using version 2016-11-15
71318	// or later of the Amazon EC2 API.
71319	AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
71320
71321	// Specify true to indicate that ENIs attached to instances created in the specified
71322	// subnet should be assigned a public IPv4 address.
71323	MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
71324
71325	// The ID of the subnet.
71326	//
71327	// SubnetId is a required field
71328	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
71329}
71330
71331// String returns the string representation
71332func (s ModifySubnetAttributeInput) String() string {
71333	return awsutil.Prettify(s)
71334}
71335
71336// GoString returns the string representation
71337func (s ModifySubnetAttributeInput) GoString() string {
71338	return s.String()
71339}
71340
71341// Validate inspects the fields of the type to determine if they are valid.
71342func (s *ModifySubnetAttributeInput) Validate() error {
71343	invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
71344	if s.SubnetId == nil {
71345		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
71346	}
71347
71348	if invalidParams.Len() > 0 {
71349		return invalidParams
71350	}
71351	return nil
71352}
71353
71354// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
71355func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
71356	s.AssignIpv6AddressOnCreation = v
71357	return s
71358}
71359
71360// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
71361func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
71362	s.MapPublicIpOnLaunch = v
71363	return s
71364}
71365
71366// SetSubnetId sets the SubnetId field's value.
71367func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
71368	s.SubnetId = &v
71369	return s
71370}
71371
71372type ModifySubnetAttributeOutput struct {
71373	_ struct{} `type:"structure"`
71374}
71375
71376// String returns the string representation
71377func (s ModifySubnetAttributeOutput) String() string {
71378	return awsutil.Prettify(s)
71379}
71380
71381// GoString returns the string representation
71382func (s ModifySubnetAttributeOutput) GoString() string {
71383	return s.String()
71384}
71385
71386type ModifyTransitGatewayVpcAttachmentInput struct {
71387	_ struct{} `type:"structure"`
71388
71389	// The IDs of one or more subnets to add. You can specify at most one subnet
71390	// per Availability Zone.
71391	AddSubnetIds []*string `locationNameList:"item" type:"list"`
71392
71393	// Checks whether you have the required permissions for the action, without
71394	// actually making the request, and provides an error response. If you have
71395	// the required permissions, the error response is DryRunOperation. Otherwise,
71396	// it is UnauthorizedOperation.
71397	DryRun *bool `type:"boolean"`
71398
71399	// The new VPC attachment options.
71400	Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
71401
71402	// The IDs of one or more subnets to remove.
71403	RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
71404
71405	// The ID of the attachment.
71406	//
71407	// TransitGatewayAttachmentId is a required field
71408	TransitGatewayAttachmentId *string `type:"string" required:"true"`
71409}
71410
71411// String returns the string representation
71412func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
71413	return awsutil.Prettify(s)
71414}
71415
71416// GoString returns the string representation
71417func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
71418	return s.String()
71419}
71420
71421// Validate inspects the fields of the type to determine if they are valid.
71422func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
71423	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
71424	if s.TransitGatewayAttachmentId == nil {
71425		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
71426	}
71427
71428	if invalidParams.Len() > 0 {
71429		return invalidParams
71430	}
71431	return nil
71432}
71433
71434// SetAddSubnetIds sets the AddSubnetIds field's value.
71435func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
71436	s.AddSubnetIds = v
71437	return s
71438}
71439
71440// SetDryRun sets the DryRun field's value.
71441func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
71442	s.DryRun = &v
71443	return s
71444}
71445
71446// SetOptions sets the Options field's value.
71447func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
71448	s.Options = v
71449	return s
71450}
71451
71452// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
71453func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
71454	s.RemoveSubnetIds = v
71455	return s
71456}
71457
71458// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
71459func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
71460	s.TransitGatewayAttachmentId = &v
71461	return s
71462}
71463
71464type ModifyTransitGatewayVpcAttachmentOutput struct {
71465	_ struct{} `type:"structure"`
71466
71467	// Information about the modified attachment.
71468	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
71469}
71470
71471// String returns the string representation
71472func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
71473	return awsutil.Prettify(s)
71474}
71475
71476// GoString returns the string representation
71477func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
71478	return s.String()
71479}
71480
71481// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
71482func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
71483	s.TransitGatewayVpcAttachment = v
71484	return s
71485}
71486
71487// Describes the options for a VPC attachment.
71488type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
71489	_ struct{} `type:"structure"`
71490
71491	// Enable or disable DNS support. The default is enable.
71492	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
71493
71494	// Enable or disable IPv6 support. The default is enable.
71495	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
71496}
71497
71498// String returns the string representation
71499func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
71500	return awsutil.Prettify(s)
71501}
71502
71503// GoString returns the string representation
71504func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
71505	return s.String()
71506}
71507
71508// SetDnsSupport sets the DnsSupport field's value.
71509func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
71510	s.DnsSupport = &v
71511	return s
71512}
71513
71514// SetIpv6Support sets the Ipv6Support field's value.
71515func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
71516	s.Ipv6Support = &v
71517	return s
71518}
71519
71520// Contains the parameters for ModifyVolumeAttribute.
71521type ModifyVolumeAttributeInput struct {
71522	_ struct{} `type:"structure"`
71523
71524	// Indicates whether the volume should be auto-enabled for I/O operations.
71525	AutoEnableIO *AttributeBooleanValue `type:"structure"`
71526
71527	// Checks whether you have the required permissions for the action, without
71528	// actually making the request, and provides an error response. If you have
71529	// the required permissions, the error response is DryRunOperation. Otherwise,
71530	// it is UnauthorizedOperation.
71531	DryRun *bool `locationName:"dryRun" type:"boolean"`
71532
71533	// The ID of the volume.
71534	//
71535	// VolumeId is a required field
71536	VolumeId *string `type:"string" required:"true"`
71537}
71538
71539// String returns the string representation
71540func (s ModifyVolumeAttributeInput) String() string {
71541	return awsutil.Prettify(s)
71542}
71543
71544// GoString returns the string representation
71545func (s ModifyVolumeAttributeInput) GoString() string {
71546	return s.String()
71547}
71548
71549// Validate inspects the fields of the type to determine if they are valid.
71550func (s *ModifyVolumeAttributeInput) Validate() error {
71551	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
71552	if s.VolumeId == nil {
71553		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
71554	}
71555
71556	if invalidParams.Len() > 0 {
71557		return invalidParams
71558	}
71559	return nil
71560}
71561
71562// SetAutoEnableIO sets the AutoEnableIO field's value.
71563func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
71564	s.AutoEnableIO = v
71565	return s
71566}
71567
71568// SetDryRun sets the DryRun field's value.
71569func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
71570	s.DryRun = &v
71571	return s
71572}
71573
71574// SetVolumeId sets the VolumeId field's value.
71575func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
71576	s.VolumeId = &v
71577	return s
71578}
71579
71580type ModifyVolumeAttributeOutput struct {
71581	_ struct{} `type:"structure"`
71582}
71583
71584// String returns the string representation
71585func (s ModifyVolumeAttributeOutput) String() string {
71586	return awsutil.Prettify(s)
71587}
71588
71589// GoString returns the string representation
71590func (s ModifyVolumeAttributeOutput) GoString() string {
71591	return s.String()
71592}
71593
71594type ModifyVolumeInput struct {
71595	_ struct{} `type:"structure"`
71596
71597	// Checks whether you have the required permissions for the action, without
71598	// actually making the request, and provides an error response. If you have
71599	// the required permissions, the error response is DryRunOperation. Otherwise,
71600	// it is UnauthorizedOperation.
71601	DryRun *bool `type:"boolean"`
71602
71603	// The target IOPS rate of the volume.
71604	//
71605	// This is only valid for Provisioned IOPS SSD (io1) volumes. For more information,
71606	// see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
71607	//
71608	// Default: If no IOPS value is specified, the existing value is retained.
71609	Iops *int64 `type:"integer"`
71610
71611	// The target size of the volume, in GiB. The target volume size must be greater
71612	// than or equal to than the existing size of the volume. For information about
71613	// available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
71614	//
71615	// Default: If no size is specified, the existing size is retained.
71616	Size *int64 `type:"integer"`
71617
71618	// The ID of the volume.
71619	//
71620	// VolumeId is a required field
71621	VolumeId *string `type:"string" required:"true"`
71622
71623	// The target EBS volume type of the volume.
71624	//
71625	// Default: If no type is specified, the existing type is retained.
71626	VolumeType *string `type:"string" enum:"VolumeType"`
71627}
71628
71629// String returns the string representation
71630func (s ModifyVolumeInput) String() string {
71631	return awsutil.Prettify(s)
71632}
71633
71634// GoString returns the string representation
71635func (s ModifyVolumeInput) GoString() string {
71636	return s.String()
71637}
71638
71639// Validate inspects the fields of the type to determine if they are valid.
71640func (s *ModifyVolumeInput) Validate() error {
71641	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
71642	if s.VolumeId == nil {
71643		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
71644	}
71645
71646	if invalidParams.Len() > 0 {
71647		return invalidParams
71648	}
71649	return nil
71650}
71651
71652// SetDryRun sets the DryRun field's value.
71653func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
71654	s.DryRun = &v
71655	return s
71656}
71657
71658// SetIops sets the Iops field's value.
71659func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
71660	s.Iops = &v
71661	return s
71662}
71663
71664// SetSize sets the Size field's value.
71665func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
71666	s.Size = &v
71667	return s
71668}
71669
71670// SetVolumeId sets the VolumeId field's value.
71671func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
71672	s.VolumeId = &v
71673	return s
71674}
71675
71676// SetVolumeType sets the VolumeType field's value.
71677func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
71678	s.VolumeType = &v
71679	return s
71680}
71681
71682type ModifyVolumeOutput struct {
71683	_ struct{} `type:"structure"`
71684
71685	// Information about the volume modification.
71686	VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
71687}
71688
71689// String returns the string representation
71690func (s ModifyVolumeOutput) String() string {
71691	return awsutil.Prettify(s)
71692}
71693
71694// GoString returns the string representation
71695func (s ModifyVolumeOutput) GoString() string {
71696	return s.String()
71697}
71698
71699// SetVolumeModification sets the VolumeModification field's value.
71700func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
71701	s.VolumeModification = v
71702	return s
71703}
71704
71705type ModifyVpcAttributeInput struct {
71706	_ struct{} `type:"structure"`
71707
71708	// Indicates whether the instances launched in the VPC get DNS hostnames. If
71709	// enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
71710	//
71711	// You cannot modify the DNS resolution and DNS hostnames attributes in the
71712	// same request. Use separate requests for each attribute. You can only enable
71713	// DNS hostnames if you've enabled DNS support.
71714	EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
71715
71716	// Indicates whether the DNS resolution is supported for the VPC. If enabled,
71717	// queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
71718	// or the reserved IP address at the base of the VPC network range "plus two"
71719	// succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
71720	// public DNS hostnames to IP addresses is not enabled.
71721	//
71722	// You cannot modify the DNS resolution and DNS hostnames attributes in the
71723	// same request. Use separate requests for each attribute.
71724	EnableDnsSupport *AttributeBooleanValue `type:"structure"`
71725
71726	// The ID of the VPC.
71727	//
71728	// VpcId is a required field
71729	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
71730}
71731
71732// String returns the string representation
71733func (s ModifyVpcAttributeInput) String() string {
71734	return awsutil.Prettify(s)
71735}
71736
71737// GoString returns the string representation
71738func (s ModifyVpcAttributeInput) GoString() string {
71739	return s.String()
71740}
71741
71742// Validate inspects the fields of the type to determine if they are valid.
71743func (s *ModifyVpcAttributeInput) Validate() error {
71744	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
71745	if s.VpcId == nil {
71746		invalidParams.Add(request.NewErrParamRequired("VpcId"))
71747	}
71748
71749	if invalidParams.Len() > 0 {
71750		return invalidParams
71751	}
71752	return nil
71753}
71754
71755// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
71756func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
71757	s.EnableDnsHostnames = v
71758	return s
71759}
71760
71761// SetEnableDnsSupport sets the EnableDnsSupport field's value.
71762func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
71763	s.EnableDnsSupport = v
71764	return s
71765}
71766
71767// SetVpcId sets the VpcId field's value.
71768func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
71769	s.VpcId = &v
71770	return s
71771}
71772
71773type ModifyVpcAttributeOutput struct {
71774	_ struct{} `type:"structure"`
71775}
71776
71777// String returns the string representation
71778func (s ModifyVpcAttributeOutput) String() string {
71779	return awsutil.Prettify(s)
71780}
71781
71782// GoString returns the string representation
71783func (s ModifyVpcAttributeOutput) GoString() string {
71784	return s.String()
71785}
71786
71787type ModifyVpcEndpointConnectionNotificationInput struct {
71788	_ struct{} `type:"structure"`
71789
71790	// One or more events for the endpoint. Valid values are Accept, Connect, Delete,
71791	// and Reject.
71792	ConnectionEvents []*string `locationNameList:"item" type:"list"`
71793
71794	// The ARN for the SNS topic for the notification.
71795	ConnectionNotificationArn *string `type:"string"`
71796
71797	// The ID of the notification.
71798	//
71799	// ConnectionNotificationId is a required field
71800	ConnectionNotificationId *string `type:"string" required:"true"`
71801
71802	// Checks whether you have the required permissions for the action, without
71803	// actually making the request, and provides an error response. If you have
71804	// the required permissions, the error response is DryRunOperation. Otherwise,
71805	// it is UnauthorizedOperation.
71806	DryRun *bool `type:"boolean"`
71807}
71808
71809// String returns the string representation
71810func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
71811	return awsutil.Prettify(s)
71812}
71813
71814// GoString returns the string representation
71815func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
71816	return s.String()
71817}
71818
71819// Validate inspects the fields of the type to determine if they are valid.
71820func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
71821	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
71822	if s.ConnectionNotificationId == nil {
71823		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
71824	}
71825
71826	if invalidParams.Len() > 0 {
71827		return invalidParams
71828	}
71829	return nil
71830}
71831
71832// SetConnectionEvents sets the ConnectionEvents field's value.
71833func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
71834	s.ConnectionEvents = v
71835	return s
71836}
71837
71838// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
71839func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
71840	s.ConnectionNotificationArn = &v
71841	return s
71842}
71843
71844// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
71845func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
71846	s.ConnectionNotificationId = &v
71847	return s
71848}
71849
71850// SetDryRun sets the DryRun field's value.
71851func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
71852	s.DryRun = &v
71853	return s
71854}
71855
71856type ModifyVpcEndpointConnectionNotificationOutput struct {
71857	_ struct{} `type:"structure"`
71858
71859	// Returns true if the request succeeds; otherwise, it returns an error.
71860	ReturnValue *bool `locationName:"return" type:"boolean"`
71861}
71862
71863// String returns the string representation
71864func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
71865	return awsutil.Prettify(s)
71866}
71867
71868// GoString returns the string representation
71869func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
71870	return s.String()
71871}
71872
71873// SetReturnValue sets the ReturnValue field's value.
71874func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
71875	s.ReturnValue = &v
71876	return s
71877}
71878
71879// Contains the parameters for ModifyVpcEndpoint.
71880type ModifyVpcEndpointInput struct {
71881	_ struct{} `type:"structure"`
71882
71883	// (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
71884	AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
71885
71886	// (Interface endpoint) One or more security group IDs to associate with the
71887	// network interface.
71888	AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
71889
71890	// (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
71891	AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
71892
71893	// Checks whether you have the required permissions for the action, without
71894	// actually making the request, and provides an error response. If you have
71895	// the required permissions, the error response is DryRunOperation. Otherwise,
71896	// it is UnauthorizedOperation.
71897	DryRun *bool `type:"boolean"`
71898
71899	// A policy to attach to the endpoint that controls access to the service. The
71900	// policy must be in valid JSON format. If this parameter is not specified,
71901	// we attach a default policy that allows full access to the service.
71902	PolicyDocument *string `type:"string"`
71903
71904	// (Interface endpoint) Indicate whether a private hosted zone is associated
71905	// with the VPC.
71906	PrivateDnsEnabled *bool `type:"boolean"`
71907
71908	// (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
71909	RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
71910
71911	// (Interface endpoint) One or more security group IDs to disassociate from
71912	// the network interface.
71913	RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
71914
71915	// (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
71916	RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
71917
71918	// (Gateway endpoint) Specify true to reset the policy document to the default
71919	// policy. The default policy allows full access to the service.
71920	ResetPolicy *bool `type:"boolean"`
71921
71922	// The ID of the endpoint.
71923	//
71924	// VpcEndpointId is a required field
71925	VpcEndpointId *string `type:"string" required:"true"`
71926}
71927
71928// String returns the string representation
71929func (s ModifyVpcEndpointInput) String() string {
71930	return awsutil.Prettify(s)
71931}
71932
71933// GoString returns the string representation
71934func (s ModifyVpcEndpointInput) GoString() string {
71935	return s.String()
71936}
71937
71938// Validate inspects the fields of the type to determine if they are valid.
71939func (s *ModifyVpcEndpointInput) Validate() error {
71940	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
71941	if s.VpcEndpointId == nil {
71942		invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
71943	}
71944
71945	if invalidParams.Len() > 0 {
71946		return invalidParams
71947	}
71948	return nil
71949}
71950
71951// SetAddRouteTableIds sets the AddRouteTableIds field's value.
71952func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
71953	s.AddRouteTableIds = v
71954	return s
71955}
71956
71957// SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
71958func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
71959	s.AddSecurityGroupIds = v
71960	return s
71961}
71962
71963// SetAddSubnetIds sets the AddSubnetIds field's value.
71964func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
71965	s.AddSubnetIds = v
71966	return s
71967}
71968
71969// SetDryRun sets the DryRun field's value.
71970func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
71971	s.DryRun = &v
71972	return s
71973}
71974
71975// SetPolicyDocument sets the PolicyDocument field's value.
71976func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
71977	s.PolicyDocument = &v
71978	return s
71979}
71980
71981// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
71982func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
71983	s.PrivateDnsEnabled = &v
71984	return s
71985}
71986
71987// SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
71988func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
71989	s.RemoveRouteTableIds = v
71990	return s
71991}
71992
71993// SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
71994func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
71995	s.RemoveSecurityGroupIds = v
71996	return s
71997}
71998
71999// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
72000func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
72001	s.RemoveSubnetIds = v
72002	return s
72003}
72004
72005// SetResetPolicy sets the ResetPolicy field's value.
72006func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
72007	s.ResetPolicy = &v
72008	return s
72009}
72010
72011// SetVpcEndpointId sets the VpcEndpointId field's value.
72012func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
72013	s.VpcEndpointId = &v
72014	return s
72015}
72016
72017type ModifyVpcEndpointOutput struct {
72018	_ struct{} `type:"structure"`
72019
72020	// Returns true if the request succeeds; otherwise, it returns an error.
72021	Return *bool `locationName:"return" type:"boolean"`
72022}
72023
72024// String returns the string representation
72025func (s ModifyVpcEndpointOutput) String() string {
72026	return awsutil.Prettify(s)
72027}
72028
72029// GoString returns the string representation
72030func (s ModifyVpcEndpointOutput) GoString() string {
72031	return s.String()
72032}
72033
72034// SetReturn sets the Return field's value.
72035func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
72036	s.Return = &v
72037	return s
72038}
72039
72040type ModifyVpcEndpointServiceConfigurationInput struct {
72041	_ struct{} `type:"structure"`
72042
72043	// Indicate whether requests to create an endpoint to your service must be accepted.
72044	AcceptanceRequired *bool `type:"boolean"`
72045
72046	// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
72047	// service configuration.
72048	AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
72049
72050	// Checks whether you have the required permissions for the action, without
72051	// actually making the request, and provides an error response. If you have
72052	// the required permissions, the error response is DryRunOperation. Otherwise,
72053	// it is UnauthorizedOperation.
72054	DryRun *bool `type:"boolean"`
72055
72056	// The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
72057	// your service configuration.
72058	RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
72059
72060	// The ID of the service.
72061	//
72062	// ServiceId is a required field
72063	ServiceId *string `type:"string" required:"true"`
72064}
72065
72066// String returns the string representation
72067func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
72068	return awsutil.Prettify(s)
72069}
72070
72071// GoString returns the string representation
72072func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
72073	return s.String()
72074}
72075
72076// Validate inspects the fields of the type to determine if they are valid.
72077func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
72078	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
72079	if s.ServiceId == nil {
72080		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
72081	}
72082
72083	if invalidParams.Len() > 0 {
72084		return invalidParams
72085	}
72086	return nil
72087}
72088
72089// SetAcceptanceRequired sets the AcceptanceRequired field's value.
72090func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
72091	s.AcceptanceRequired = &v
72092	return s
72093}
72094
72095// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
72096func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
72097	s.AddNetworkLoadBalancerArns = v
72098	return s
72099}
72100
72101// SetDryRun sets the DryRun field's value.
72102func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
72103	s.DryRun = &v
72104	return s
72105}
72106
72107// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
72108func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
72109	s.RemoveNetworkLoadBalancerArns = v
72110	return s
72111}
72112
72113// SetServiceId sets the ServiceId field's value.
72114func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
72115	s.ServiceId = &v
72116	return s
72117}
72118
72119type ModifyVpcEndpointServiceConfigurationOutput struct {
72120	_ struct{} `type:"structure"`
72121
72122	// Returns true if the request succeeds; otherwise, it returns an error.
72123	Return *bool `locationName:"return" type:"boolean"`
72124}
72125
72126// String returns the string representation
72127func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
72128	return awsutil.Prettify(s)
72129}
72130
72131// GoString returns the string representation
72132func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
72133	return s.String()
72134}
72135
72136// SetReturn sets the Return field's value.
72137func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
72138	s.Return = &v
72139	return s
72140}
72141
72142type ModifyVpcEndpointServicePermissionsInput struct {
72143	_ struct{} `type:"structure"`
72144
72145	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
72146	// granted to the principals in this list. To grant permissions to all principals,
72147	// specify an asterisk (*).
72148	AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
72149
72150	// Checks whether you have the required permissions for the action, without
72151	// actually making the request, and provides an error response. If you have
72152	// the required permissions, the error response is DryRunOperation. Otherwise,
72153	// it is UnauthorizedOperation.
72154	DryRun *bool `type:"boolean"`
72155
72156	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
72157	// revoked for principals in this list.
72158	RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
72159
72160	// The ID of the service.
72161	//
72162	// ServiceId is a required field
72163	ServiceId *string `type:"string" required:"true"`
72164}
72165
72166// String returns the string representation
72167func (s ModifyVpcEndpointServicePermissionsInput) String() string {
72168	return awsutil.Prettify(s)
72169}
72170
72171// GoString returns the string representation
72172func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
72173	return s.String()
72174}
72175
72176// Validate inspects the fields of the type to determine if they are valid.
72177func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
72178	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
72179	if s.ServiceId == nil {
72180		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
72181	}
72182
72183	if invalidParams.Len() > 0 {
72184		return invalidParams
72185	}
72186	return nil
72187}
72188
72189// SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
72190func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
72191	s.AddAllowedPrincipals = v
72192	return s
72193}
72194
72195// SetDryRun sets the DryRun field's value.
72196func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
72197	s.DryRun = &v
72198	return s
72199}
72200
72201// SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
72202func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
72203	s.RemoveAllowedPrincipals = v
72204	return s
72205}
72206
72207// SetServiceId sets the ServiceId field's value.
72208func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
72209	s.ServiceId = &v
72210	return s
72211}
72212
72213type ModifyVpcEndpointServicePermissionsOutput struct {
72214	_ struct{} `type:"structure"`
72215
72216	// Returns true if the request succeeds; otherwise, it returns an error.
72217	ReturnValue *bool `locationName:"return" type:"boolean"`
72218}
72219
72220// String returns the string representation
72221func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
72222	return awsutil.Prettify(s)
72223}
72224
72225// GoString returns the string representation
72226func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
72227	return s.String()
72228}
72229
72230// SetReturnValue sets the ReturnValue field's value.
72231func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
72232	s.ReturnValue = &v
72233	return s
72234}
72235
72236type ModifyVpcPeeringConnectionOptionsInput struct {
72237	_ struct{} `type:"structure"`
72238
72239	// The VPC peering connection options for the accepter VPC.
72240	AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
72241
72242	// Checks whether you have the required permissions for the action, without
72243	// actually making the request, and provides an error response. If you have
72244	// the required permissions, the error response is DryRunOperation. Otherwise,
72245	// it is UnauthorizedOperation.
72246	DryRun *bool `type:"boolean"`
72247
72248	// The VPC peering connection options for the requester VPC.
72249	RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
72250
72251	// The ID of the VPC peering connection.
72252	//
72253	// VpcPeeringConnectionId is a required field
72254	VpcPeeringConnectionId *string `type:"string" required:"true"`
72255}
72256
72257// String returns the string representation
72258func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
72259	return awsutil.Prettify(s)
72260}
72261
72262// GoString returns the string representation
72263func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
72264	return s.String()
72265}
72266
72267// Validate inspects the fields of the type to determine if they are valid.
72268func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
72269	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
72270	if s.VpcPeeringConnectionId == nil {
72271		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
72272	}
72273
72274	if invalidParams.Len() > 0 {
72275		return invalidParams
72276	}
72277	return nil
72278}
72279
72280// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
72281func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
72282	s.AccepterPeeringConnectionOptions = v
72283	return s
72284}
72285
72286// SetDryRun sets the DryRun field's value.
72287func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
72288	s.DryRun = &v
72289	return s
72290}
72291
72292// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
72293func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
72294	s.RequesterPeeringConnectionOptions = v
72295	return s
72296}
72297
72298// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
72299func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
72300	s.VpcPeeringConnectionId = &v
72301	return s
72302}
72303
72304type ModifyVpcPeeringConnectionOptionsOutput struct {
72305	_ struct{} `type:"structure"`
72306
72307	// Information about the VPC peering connection options for the accepter VPC.
72308	AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
72309
72310	// Information about the VPC peering connection options for the requester VPC.
72311	RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
72312}
72313
72314// String returns the string representation
72315func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
72316	return awsutil.Prettify(s)
72317}
72318
72319// GoString returns the string representation
72320func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
72321	return s.String()
72322}
72323
72324// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
72325func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
72326	s.AccepterPeeringConnectionOptions = v
72327	return s
72328}
72329
72330// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
72331func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
72332	s.RequesterPeeringConnectionOptions = v
72333	return s
72334}
72335
72336type ModifyVpcTenancyInput struct {
72337	_ struct{} `type:"structure"`
72338
72339	// Checks whether you have the required permissions for the action, without
72340	// actually making the request, and provides an error response. If you have
72341	// the required permissions, the error response is DryRunOperation. Otherwise,
72342	// it is UnauthorizedOperation.
72343	DryRun *bool `type:"boolean"`
72344
72345	// The instance tenancy attribute for the VPC.
72346	//
72347	// InstanceTenancy is a required field
72348	InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
72349
72350	// The ID of the VPC.
72351	//
72352	// VpcId is a required field
72353	VpcId *string `type:"string" required:"true"`
72354}
72355
72356// String returns the string representation
72357func (s ModifyVpcTenancyInput) String() string {
72358	return awsutil.Prettify(s)
72359}
72360
72361// GoString returns the string representation
72362func (s ModifyVpcTenancyInput) GoString() string {
72363	return s.String()
72364}
72365
72366// Validate inspects the fields of the type to determine if they are valid.
72367func (s *ModifyVpcTenancyInput) Validate() error {
72368	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
72369	if s.InstanceTenancy == nil {
72370		invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
72371	}
72372	if s.VpcId == nil {
72373		invalidParams.Add(request.NewErrParamRequired("VpcId"))
72374	}
72375
72376	if invalidParams.Len() > 0 {
72377		return invalidParams
72378	}
72379	return nil
72380}
72381
72382// SetDryRun sets the DryRun field's value.
72383func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
72384	s.DryRun = &v
72385	return s
72386}
72387
72388// SetInstanceTenancy sets the InstanceTenancy field's value.
72389func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
72390	s.InstanceTenancy = &v
72391	return s
72392}
72393
72394// SetVpcId sets the VpcId field's value.
72395func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
72396	s.VpcId = &v
72397	return s
72398}
72399
72400type ModifyVpcTenancyOutput struct {
72401	_ struct{} `type:"structure"`
72402
72403	// Returns true if the request succeeds; otherwise, returns an error.
72404	ReturnValue *bool `locationName:"return" type:"boolean"`
72405}
72406
72407// String returns the string representation
72408func (s ModifyVpcTenancyOutput) String() string {
72409	return awsutil.Prettify(s)
72410}
72411
72412// GoString returns the string representation
72413func (s ModifyVpcTenancyOutput) GoString() string {
72414	return s.String()
72415}
72416
72417// SetReturnValue sets the ReturnValue field's value.
72418func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
72419	s.ReturnValue = &v
72420	return s
72421}
72422
72423type ModifyVpnConnectionInput struct {
72424	_ struct{} `type:"structure"`
72425
72426	// Checks whether you have the required permissions for the action, without
72427	// actually making the request, and provides an error response. If you have
72428	// the required permissions, the error response is DryRunOperation. Otherwise,
72429	// it is UnauthorizedOperation.
72430	DryRun *bool `type:"boolean"`
72431
72432	// The ID of the transit gateway.
72433	TransitGatewayId *string `type:"string"`
72434
72435	// The ID of the VPN connection.
72436	//
72437	// VpnConnectionId is a required field
72438	VpnConnectionId *string `type:"string" required:"true"`
72439
72440	// The ID of the virtual private gateway at the AWS side of the VPN connection.
72441	VpnGatewayId *string `type:"string"`
72442}
72443
72444// String returns the string representation
72445func (s ModifyVpnConnectionInput) String() string {
72446	return awsutil.Prettify(s)
72447}
72448
72449// GoString returns the string representation
72450func (s ModifyVpnConnectionInput) GoString() string {
72451	return s.String()
72452}
72453
72454// Validate inspects the fields of the type to determine if they are valid.
72455func (s *ModifyVpnConnectionInput) Validate() error {
72456	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"}
72457	if s.VpnConnectionId == nil {
72458		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
72459	}
72460
72461	if invalidParams.Len() > 0 {
72462		return invalidParams
72463	}
72464	return nil
72465}
72466
72467// SetDryRun sets the DryRun field's value.
72468func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput {
72469	s.DryRun = &v
72470	return s
72471}
72472
72473// SetTransitGatewayId sets the TransitGatewayId field's value.
72474func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput {
72475	s.TransitGatewayId = &v
72476	return s
72477}
72478
72479// SetVpnConnectionId sets the VpnConnectionId field's value.
72480func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput {
72481	s.VpnConnectionId = &v
72482	return s
72483}
72484
72485// SetVpnGatewayId sets the VpnGatewayId field's value.
72486func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput {
72487	s.VpnGatewayId = &v
72488	return s
72489}
72490
72491type ModifyVpnConnectionOutput struct {
72492	_ struct{} `type:"structure"`
72493
72494	// Describes a VPN connection.
72495	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
72496}
72497
72498// String returns the string representation
72499func (s ModifyVpnConnectionOutput) String() string {
72500	return awsutil.Prettify(s)
72501}
72502
72503// GoString returns the string representation
72504func (s ModifyVpnConnectionOutput) GoString() string {
72505	return s.String()
72506}
72507
72508// SetVpnConnection sets the VpnConnection field's value.
72509func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput {
72510	s.VpnConnection = v
72511	return s
72512}
72513
72514type MonitorInstancesInput struct {
72515	_ struct{} `type:"structure"`
72516
72517	// Checks whether you have the required permissions for the action, without
72518	// actually making the request, and provides an error response. If you have
72519	// the required permissions, the error response is DryRunOperation. Otherwise,
72520	// it is UnauthorizedOperation.
72521	DryRun *bool `locationName:"dryRun" type:"boolean"`
72522
72523	// The IDs of the instances.
72524	//
72525	// InstanceIds is a required field
72526	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
72527}
72528
72529// String returns the string representation
72530func (s MonitorInstancesInput) String() string {
72531	return awsutil.Prettify(s)
72532}
72533
72534// GoString returns the string representation
72535func (s MonitorInstancesInput) GoString() string {
72536	return s.String()
72537}
72538
72539// Validate inspects the fields of the type to determine if they are valid.
72540func (s *MonitorInstancesInput) Validate() error {
72541	invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
72542	if s.InstanceIds == nil {
72543		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
72544	}
72545
72546	if invalidParams.Len() > 0 {
72547		return invalidParams
72548	}
72549	return nil
72550}
72551
72552// SetDryRun sets the DryRun field's value.
72553func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
72554	s.DryRun = &v
72555	return s
72556}
72557
72558// SetInstanceIds sets the InstanceIds field's value.
72559func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
72560	s.InstanceIds = v
72561	return s
72562}
72563
72564type MonitorInstancesOutput struct {
72565	_ struct{} `type:"structure"`
72566
72567	// The monitoring information.
72568	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
72569}
72570
72571// String returns the string representation
72572func (s MonitorInstancesOutput) String() string {
72573	return awsutil.Prettify(s)
72574}
72575
72576// GoString returns the string representation
72577func (s MonitorInstancesOutput) GoString() string {
72578	return s.String()
72579}
72580
72581// SetInstanceMonitorings sets the InstanceMonitorings field's value.
72582func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
72583	s.InstanceMonitorings = v
72584	return s
72585}
72586
72587// Describes the monitoring of an instance.
72588type Monitoring struct {
72589	_ struct{} `type:"structure"`
72590
72591	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
72592	// is enabled.
72593	State *string `locationName:"state" type:"string" enum:"MonitoringState"`
72594}
72595
72596// String returns the string representation
72597func (s Monitoring) String() string {
72598	return awsutil.Prettify(s)
72599}
72600
72601// GoString returns the string representation
72602func (s Monitoring) GoString() string {
72603	return s.String()
72604}
72605
72606// SetState sets the State field's value.
72607func (s *Monitoring) SetState(v string) *Monitoring {
72608	s.State = &v
72609	return s
72610}
72611
72612type MoveAddressToVpcInput struct {
72613	_ struct{} `type:"structure"`
72614
72615	// Checks whether you have the required permissions for the action, without
72616	// actually making the request, and provides an error response. If you have
72617	// the required permissions, the error response is DryRunOperation. Otherwise,
72618	// it is UnauthorizedOperation.
72619	DryRun *bool `locationName:"dryRun" type:"boolean"`
72620
72621	// The Elastic IP address.
72622	//
72623	// PublicIp is a required field
72624	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
72625}
72626
72627// String returns the string representation
72628func (s MoveAddressToVpcInput) String() string {
72629	return awsutil.Prettify(s)
72630}
72631
72632// GoString returns the string representation
72633func (s MoveAddressToVpcInput) GoString() string {
72634	return s.String()
72635}
72636
72637// Validate inspects the fields of the type to determine if they are valid.
72638func (s *MoveAddressToVpcInput) Validate() error {
72639	invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
72640	if s.PublicIp == nil {
72641		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
72642	}
72643
72644	if invalidParams.Len() > 0 {
72645		return invalidParams
72646	}
72647	return nil
72648}
72649
72650// SetDryRun sets the DryRun field's value.
72651func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
72652	s.DryRun = &v
72653	return s
72654}
72655
72656// SetPublicIp sets the PublicIp field's value.
72657func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
72658	s.PublicIp = &v
72659	return s
72660}
72661
72662type MoveAddressToVpcOutput struct {
72663	_ struct{} `type:"structure"`
72664
72665	// The allocation ID for the Elastic IP address.
72666	AllocationId *string `locationName:"allocationId" type:"string"`
72667
72668	// The status of the move of the IP address.
72669	Status *string `locationName:"status" type:"string" enum:"Status"`
72670}
72671
72672// String returns the string representation
72673func (s MoveAddressToVpcOutput) String() string {
72674	return awsutil.Prettify(s)
72675}
72676
72677// GoString returns the string representation
72678func (s MoveAddressToVpcOutput) GoString() string {
72679	return s.String()
72680}
72681
72682// SetAllocationId sets the AllocationId field's value.
72683func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
72684	s.AllocationId = &v
72685	return s
72686}
72687
72688// SetStatus sets the Status field's value.
72689func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
72690	s.Status = &v
72691	return s
72692}
72693
72694// Describes the status of a moving Elastic IP address.
72695type MovingAddressStatus struct {
72696	_ struct{} `type:"structure"`
72697
72698	// The status of the Elastic IP address that's being moved to the EC2-VPC platform,
72699	// or restored to the EC2-Classic platform.
72700	MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
72701
72702	// The Elastic IP address.
72703	PublicIp *string `locationName:"publicIp" type:"string"`
72704}
72705
72706// String returns the string representation
72707func (s MovingAddressStatus) String() string {
72708	return awsutil.Prettify(s)
72709}
72710
72711// GoString returns the string representation
72712func (s MovingAddressStatus) GoString() string {
72713	return s.String()
72714}
72715
72716// SetMoveStatus sets the MoveStatus field's value.
72717func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
72718	s.MoveStatus = &v
72719	return s
72720}
72721
72722// SetPublicIp sets the PublicIp field's value.
72723func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
72724	s.PublicIp = &v
72725	return s
72726}
72727
72728// Describes a NAT gateway.
72729type NatGateway struct {
72730	_ struct{} `type:"structure"`
72731
72732	// The date and time the NAT gateway was created.
72733	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
72734
72735	// The date and time the NAT gateway was deleted, if applicable.
72736	DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
72737
72738	// If the NAT gateway could not be created, specifies the error code for the
72739	// failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
72740	// | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
72741	FailureCode *string `locationName:"failureCode" type:"string"`
72742
72743	// If the NAT gateway could not be created, specifies the error message for
72744	// the failure, that corresponds to the error code.
72745	//
72746	//    * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
72747	//    addresses to create this NAT gateway"
72748	//
72749	//    * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
72750	//    attached"
72751	//
72752	//    * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
72753	//    could not be associated with this NAT gateway"
72754	//
72755	//    * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
72756	//    is already associated"
72757	//
72758	//    * For InternalError: "Network interface eni-xxxxxxxx, created and used
72759	//    internally by this NAT gateway is in an invalid state. Please try again."
72760	//
72761	//    * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
72762	//    does not exist or could not be found."
72763	FailureMessage *string `locationName:"failureMessage" type:"string"`
72764
72765	// Information about the IP addresses and network interface associated with
72766	// the NAT gateway.
72767	NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
72768
72769	// The ID of the NAT gateway.
72770	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
72771
72772	// Reserved. If you need to sustain traffic greater than the documented limits
72773	// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
72774	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
72775	ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
72776
72777	// The state of the NAT gateway.
72778	//
72779	//    * pending: The NAT gateway is being created and is not ready to process
72780	//    traffic.
72781	//
72782	//    * failed: The NAT gateway could not be created. Check the failureCode
72783	//    and failureMessage fields for the reason.
72784	//
72785	//    * available: The NAT gateway is able to process traffic. This status remains
72786	//    until you delete the NAT gateway, and does not indicate the health of
72787	//    the NAT gateway.
72788	//
72789	//    * deleting: The NAT gateway is in the process of being terminated and
72790	//    may still be processing traffic.
72791	//
72792	//    * deleted: The NAT gateway has been terminated and is no longer processing
72793	//    traffic.
72794	State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
72795
72796	// The ID of the subnet in which the NAT gateway is located.
72797	SubnetId *string `locationName:"subnetId" type:"string"`
72798
72799	// The tags for the NAT gateway.
72800	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
72801
72802	// The ID of the VPC in which the NAT gateway is located.
72803	VpcId *string `locationName:"vpcId" type:"string"`
72804}
72805
72806// String returns the string representation
72807func (s NatGateway) String() string {
72808	return awsutil.Prettify(s)
72809}
72810
72811// GoString returns the string representation
72812func (s NatGateway) GoString() string {
72813	return s.String()
72814}
72815
72816// SetCreateTime sets the CreateTime field's value.
72817func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
72818	s.CreateTime = &v
72819	return s
72820}
72821
72822// SetDeleteTime sets the DeleteTime field's value.
72823func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
72824	s.DeleteTime = &v
72825	return s
72826}
72827
72828// SetFailureCode sets the FailureCode field's value.
72829func (s *NatGateway) SetFailureCode(v string) *NatGateway {
72830	s.FailureCode = &v
72831	return s
72832}
72833
72834// SetFailureMessage sets the FailureMessage field's value.
72835func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
72836	s.FailureMessage = &v
72837	return s
72838}
72839
72840// SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
72841func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
72842	s.NatGatewayAddresses = v
72843	return s
72844}
72845
72846// SetNatGatewayId sets the NatGatewayId field's value.
72847func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
72848	s.NatGatewayId = &v
72849	return s
72850}
72851
72852// SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
72853func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
72854	s.ProvisionedBandwidth = v
72855	return s
72856}
72857
72858// SetState sets the State field's value.
72859func (s *NatGateway) SetState(v string) *NatGateway {
72860	s.State = &v
72861	return s
72862}
72863
72864// SetSubnetId sets the SubnetId field's value.
72865func (s *NatGateway) SetSubnetId(v string) *NatGateway {
72866	s.SubnetId = &v
72867	return s
72868}
72869
72870// SetTags sets the Tags field's value.
72871func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
72872	s.Tags = v
72873	return s
72874}
72875
72876// SetVpcId sets the VpcId field's value.
72877func (s *NatGateway) SetVpcId(v string) *NatGateway {
72878	s.VpcId = &v
72879	return s
72880}
72881
72882// Describes the IP addresses and network interface associated with a NAT gateway.
72883type NatGatewayAddress struct {
72884	_ struct{} `type:"structure"`
72885
72886	// The allocation ID of the Elastic IP address that's associated with the NAT
72887	// gateway.
72888	AllocationId *string `locationName:"allocationId" type:"string"`
72889
72890	// The ID of the network interface associated with the NAT gateway.
72891	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
72892
72893	// The private IP address associated with the Elastic IP address.
72894	PrivateIp *string `locationName:"privateIp" type:"string"`
72895
72896	// The Elastic IP address associated with the NAT gateway.
72897	PublicIp *string `locationName:"publicIp" type:"string"`
72898}
72899
72900// String returns the string representation
72901func (s NatGatewayAddress) String() string {
72902	return awsutil.Prettify(s)
72903}
72904
72905// GoString returns the string representation
72906func (s NatGatewayAddress) GoString() string {
72907	return s.String()
72908}
72909
72910// SetAllocationId sets the AllocationId field's value.
72911func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
72912	s.AllocationId = &v
72913	return s
72914}
72915
72916// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
72917func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
72918	s.NetworkInterfaceId = &v
72919	return s
72920}
72921
72922// SetPrivateIp sets the PrivateIp field's value.
72923func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
72924	s.PrivateIp = &v
72925	return s
72926}
72927
72928// SetPublicIp sets the PublicIp field's value.
72929func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
72930	s.PublicIp = &v
72931	return s
72932}
72933
72934// Describes a network ACL.
72935type NetworkAcl struct {
72936	_ struct{} `type:"structure"`
72937
72938	// Any associations between the network ACL and one or more subnets
72939	Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
72940
72941	// One or more entries (rules) in the network ACL.
72942	Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
72943
72944	// Indicates whether this is the default network ACL for the VPC.
72945	IsDefault *bool `locationName:"default" type:"boolean"`
72946
72947	// The ID of the network ACL.
72948	NetworkAclId *string `locationName:"networkAclId" type:"string"`
72949
72950	// The ID of the AWS account that owns the network ACL.
72951	OwnerId *string `locationName:"ownerId" type:"string"`
72952
72953	// Any tags assigned to the network ACL.
72954	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
72955
72956	// The ID of the VPC for the network ACL.
72957	VpcId *string `locationName:"vpcId" type:"string"`
72958}
72959
72960// String returns the string representation
72961func (s NetworkAcl) String() string {
72962	return awsutil.Prettify(s)
72963}
72964
72965// GoString returns the string representation
72966func (s NetworkAcl) GoString() string {
72967	return s.String()
72968}
72969
72970// SetAssociations sets the Associations field's value.
72971func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
72972	s.Associations = v
72973	return s
72974}
72975
72976// SetEntries sets the Entries field's value.
72977func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
72978	s.Entries = v
72979	return s
72980}
72981
72982// SetIsDefault sets the IsDefault field's value.
72983func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
72984	s.IsDefault = &v
72985	return s
72986}
72987
72988// SetNetworkAclId sets the NetworkAclId field's value.
72989func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
72990	s.NetworkAclId = &v
72991	return s
72992}
72993
72994// SetOwnerId sets the OwnerId field's value.
72995func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
72996	s.OwnerId = &v
72997	return s
72998}
72999
73000// SetTags sets the Tags field's value.
73001func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
73002	s.Tags = v
73003	return s
73004}
73005
73006// SetVpcId sets the VpcId field's value.
73007func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
73008	s.VpcId = &v
73009	return s
73010}
73011
73012// Describes an association between a network ACL and a subnet.
73013type NetworkAclAssociation struct {
73014	_ struct{} `type:"structure"`
73015
73016	// The ID of the association between a network ACL and a subnet.
73017	NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
73018
73019	// The ID of the network ACL.
73020	NetworkAclId *string `locationName:"networkAclId" type:"string"`
73021
73022	// The ID of the subnet.
73023	SubnetId *string `locationName:"subnetId" type:"string"`
73024}
73025
73026// String returns the string representation
73027func (s NetworkAclAssociation) String() string {
73028	return awsutil.Prettify(s)
73029}
73030
73031// GoString returns the string representation
73032func (s NetworkAclAssociation) GoString() string {
73033	return s.String()
73034}
73035
73036// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
73037func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
73038	s.NetworkAclAssociationId = &v
73039	return s
73040}
73041
73042// SetNetworkAclId sets the NetworkAclId field's value.
73043func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
73044	s.NetworkAclId = &v
73045	return s
73046}
73047
73048// SetSubnetId sets the SubnetId field's value.
73049func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
73050	s.SubnetId = &v
73051	return s
73052}
73053
73054// Describes an entry in a network ACL.
73055type NetworkAclEntry struct {
73056	_ struct{} `type:"structure"`
73057
73058	// The IPv4 network range to allow or deny, in CIDR notation.
73059	CidrBlock *string `locationName:"cidrBlock" type:"string"`
73060
73061	// Indicates whether the rule is an egress rule (applied to traffic leaving
73062	// the subnet).
73063	Egress *bool `locationName:"egress" type:"boolean"`
73064
73065	// ICMP protocol: The ICMP type and code.
73066	IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
73067
73068	// The IPv6 network range to allow or deny, in CIDR notation.
73069	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
73070
73071	// TCP or UDP protocols: The range of ports the rule applies to.
73072	PortRange *PortRange `locationName:"portRange" type:"structure"`
73073
73074	// The protocol number. A value of "-1" means all protocols.
73075	Protocol *string `locationName:"protocol" type:"string"`
73076
73077	// Indicates whether to allow or deny the traffic that matches the rule.
73078	RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
73079
73080	// The rule number for the entry. ACL entries are processed in ascending order
73081	// by rule number.
73082	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
73083}
73084
73085// String returns the string representation
73086func (s NetworkAclEntry) String() string {
73087	return awsutil.Prettify(s)
73088}
73089
73090// GoString returns the string representation
73091func (s NetworkAclEntry) GoString() string {
73092	return s.String()
73093}
73094
73095// SetCidrBlock sets the CidrBlock field's value.
73096func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
73097	s.CidrBlock = &v
73098	return s
73099}
73100
73101// SetEgress sets the Egress field's value.
73102func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
73103	s.Egress = &v
73104	return s
73105}
73106
73107// SetIcmpTypeCode sets the IcmpTypeCode field's value.
73108func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
73109	s.IcmpTypeCode = v
73110	return s
73111}
73112
73113// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
73114func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
73115	s.Ipv6CidrBlock = &v
73116	return s
73117}
73118
73119// SetPortRange sets the PortRange field's value.
73120func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
73121	s.PortRange = v
73122	return s
73123}
73124
73125// SetProtocol sets the Protocol field's value.
73126func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
73127	s.Protocol = &v
73128	return s
73129}
73130
73131// SetRuleAction sets the RuleAction field's value.
73132func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
73133	s.RuleAction = &v
73134	return s
73135}
73136
73137// SetRuleNumber sets the RuleNumber field's value.
73138func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
73139	s.RuleNumber = &v
73140	return s
73141}
73142
73143// Describes a network interface.
73144type NetworkInterface struct {
73145	_ struct{} `type:"structure"`
73146
73147	// The association information for an Elastic IP address (IPv4) associated with
73148	// the network interface.
73149	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
73150
73151	// The network interface attachment.
73152	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
73153
73154	// The Availability Zone.
73155	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
73156
73157	// A description.
73158	Description *string `locationName:"description" type:"string"`
73159
73160	// Any security groups for the network interface.
73161	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
73162
73163	// The type of network interface.
73164	InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
73165
73166	// The IPv6 addresses associated with the network interface.
73167	Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
73168
73169	// The MAC address.
73170	MacAddress *string `locationName:"macAddress" type:"string"`
73171
73172	// The ID of the network interface.
73173	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
73174
73175	// The AWS account ID of the owner of the network interface.
73176	OwnerId *string `locationName:"ownerId" type:"string"`
73177
73178	// The private DNS name.
73179	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
73180
73181	// The IPv4 address of the network interface within the subnet.
73182	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
73183
73184	// The private IPv4 addresses associated with the network interface.
73185	PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
73186
73187	// The ID of the entity that launched the instance on your behalf (for example,
73188	// AWS Management Console or Auto Scaling).
73189	RequesterId *string `locationName:"requesterId" type:"string"`
73190
73191	// Indicates whether the network interface is being managed by AWS.
73192	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
73193
73194	// Indicates whether traffic to or from the instance is validated.
73195	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
73196
73197	// The status of the network interface.
73198	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
73199
73200	// The ID of the subnet.
73201	SubnetId *string `locationName:"subnetId" type:"string"`
73202
73203	// Any tags assigned to the network interface.
73204	TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
73205
73206	// The ID of the VPC.
73207	VpcId *string `locationName:"vpcId" type:"string"`
73208}
73209
73210// String returns the string representation
73211func (s NetworkInterface) String() string {
73212	return awsutil.Prettify(s)
73213}
73214
73215// GoString returns the string representation
73216func (s NetworkInterface) GoString() string {
73217	return s.String()
73218}
73219
73220// SetAssociation sets the Association field's value.
73221func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
73222	s.Association = v
73223	return s
73224}
73225
73226// SetAttachment sets the Attachment field's value.
73227func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
73228	s.Attachment = v
73229	return s
73230}
73231
73232// SetAvailabilityZone sets the AvailabilityZone field's value.
73233func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
73234	s.AvailabilityZone = &v
73235	return s
73236}
73237
73238// SetDescription sets the Description field's value.
73239func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
73240	s.Description = &v
73241	return s
73242}
73243
73244// SetGroups sets the Groups field's value.
73245func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
73246	s.Groups = v
73247	return s
73248}
73249
73250// SetInterfaceType sets the InterfaceType field's value.
73251func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
73252	s.InterfaceType = &v
73253	return s
73254}
73255
73256// SetIpv6Addresses sets the Ipv6Addresses field's value.
73257func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
73258	s.Ipv6Addresses = v
73259	return s
73260}
73261
73262// SetMacAddress sets the MacAddress field's value.
73263func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
73264	s.MacAddress = &v
73265	return s
73266}
73267
73268// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
73269func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
73270	s.NetworkInterfaceId = &v
73271	return s
73272}
73273
73274// SetOwnerId sets the OwnerId field's value.
73275func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
73276	s.OwnerId = &v
73277	return s
73278}
73279
73280// SetPrivateDnsName sets the PrivateDnsName field's value.
73281func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
73282	s.PrivateDnsName = &v
73283	return s
73284}
73285
73286// SetPrivateIpAddress sets the PrivateIpAddress field's value.
73287func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
73288	s.PrivateIpAddress = &v
73289	return s
73290}
73291
73292// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
73293func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
73294	s.PrivateIpAddresses = v
73295	return s
73296}
73297
73298// SetRequesterId sets the RequesterId field's value.
73299func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
73300	s.RequesterId = &v
73301	return s
73302}
73303
73304// SetRequesterManaged sets the RequesterManaged field's value.
73305func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
73306	s.RequesterManaged = &v
73307	return s
73308}
73309
73310// SetSourceDestCheck sets the SourceDestCheck field's value.
73311func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
73312	s.SourceDestCheck = &v
73313	return s
73314}
73315
73316// SetStatus sets the Status field's value.
73317func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
73318	s.Status = &v
73319	return s
73320}
73321
73322// SetSubnetId sets the SubnetId field's value.
73323func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
73324	s.SubnetId = &v
73325	return s
73326}
73327
73328// SetTagSet sets the TagSet field's value.
73329func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
73330	s.TagSet = v
73331	return s
73332}
73333
73334// SetVpcId sets the VpcId field's value.
73335func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
73336	s.VpcId = &v
73337	return s
73338}
73339
73340// Describes association information for an Elastic IP address (IPv4 only).
73341type NetworkInterfaceAssociation struct {
73342	_ struct{} `type:"structure"`
73343
73344	// The allocation ID.
73345	AllocationId *string `locationName:"allocationId" type:"string"`
73346
73347	// The association ID.
73348	AssociationId *string `locationName:"associationId" type:"string"`
73349
73350	// The ID of the Elastic IP address owner.
73351	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
73352
73353	// The public DNS name.
73354	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
73355
73356	// The address of the Elastic IP address bound to the network interface.
73357	PublicIp *string `locationName:"publicIp" type:"string"`
73358}
73359
73360// String returns the string representation
73361func (s NetworkInterfaceAssociation) String() string {
73362	return awsutil.Prettify(s)
73363}
73364
73365// GoString returns the string representation
73366func (s NetworkInterfaceAssociation) GoString() string {
73367	return s.String()
73368}
73369
73370// SetAllocationId sets the AllocationId field's value.
73371func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
73372	s.AllocationId = &v
73373	return s
73374}
73375
73376// SetAssociationId sets the AssociationId field's value.
73377func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
73378	s.AssociationId = &v
73379	return s
73380}
73381
73382// SetIpOwnerId sets the IpOwnerId field's value.
73383func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
73384	s.IpOwnerId = &v
73385	return s
73386}
73387
73388// SetPublicDnsName sets the PublicDnsName field's value.
73389func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
73390	s.PublicDnsName = &v
73391	return s
73392}
73393
73394// SetPublicIp sets the PublicIp field's value.
73395func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
73396	s.PublicIp = &v
73397	return s
73398}
73399
73400// Describes a network interface attachment.
73401type NetworkInterfaceAttachment struct {
73402	_ struct{} `type:"structure"`
73403
73404	// The timestamp indicating when the attachment initiated.
73405	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
73406
73407	// The ID of the network interface attachment.
73408	AttachmentId *string `locationName:"attachmentId" type:"string"`
73409
73410	// Indicates whether the network interface is deleted when the instance is terminated.
73411	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
73412
73413	// The device index of the network interface attachment on the instance.
73414	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
73415
73416	// The ID of the instance.
73417	InstanceId *string `locationName:"instanceId" type:"string"`
73418
73419	// The AWS account ID of the owner of the instance.
73420	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
73421
73422	// The attachment state.
73423	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
73424}
73425
73426// String returns the string representation
73427func (s NetworkInterfaceAttachment) String() string {
73428	return awsutil.Prettify(s)
73429}
73430
73431// GoString returns the string representation
73432func (s NetworkInterfaceAttachment) GoString() string {
73433	return s.String()
73434}
73435
73436// SetAttachTime sets the AttachTime field's value.
73437func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
73438	s.AttachTime = &v
73439	return s
73440}
73441
73442// SetAttachmentId sets the AttachmentId field's value.
73443func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
73444	s.AttachmentId = &v
73445	return s
73446}
73447
73448// SetDeleteOnTermination sets the DeleteOnTermination field's value.
73449func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
73450	s.DeleteOnTermination = &v
73451	return s
73452}
73453
73454// SetDeviceIndex sets the DeviceIndex field's value.
73455func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
73456	s.DeviceIndex = &v
73457	return s
73458}
73459
73460// SetInstanceId sets the InstanceId field's value.
73461func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
73462	s.InstanceId = &v
73463	return s
73464}
73465
73466// SetInstanceOwnerId sets the InstanceOwnerId field's value.
73467func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
73468	s.InstanceOwnerId = &v
73469	return s
73470}
73471
73472// SetStatus sets the Status field's value.
73473func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
73474	s.Status = &v
73475	return s
73476}
73477
73478// Describes an attachment change.
73479type NetworkInterfaceAttachmentChanges struct {
73480	_ struct{} `type:"structure"`
73481
73482	// The ID of the network interface attachment.
73483	AttachmentId *string `locationName:"attachmentId" type:"string"`
73484
73485	// Indicates whether the network interface is deleted when the instance is terminated.
73486	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
73487}
73488
73489// String returns the string representation
73490func (s NetworkInterfaceAttachmentChanges) String() string {
73491	return awsutil.Prettify(s)
73492}
73493
73494// GoString returns the string representation
73495func (s NetworkInterfaceAttachmentChanges) GoString() string {
73496	return s.String()
73497}
73498
73499// SetAttachmentId sets the AttachmentId field's value.
73500func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
73501	s.AttachmentId = &v
73502	return s
73503}
73504
73505// SetDeleteOnTermination sets the DeleteOnTermination field's value.
73506func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
73507	s.DeleteOnTermination = &v
73508	return s
73509}
73510
73511// Describes an IPv6 address associated with a network interface.
73512type NetworkInterfaceIpv6Address struct {
73513	_ struct{} `type:"structure"`
73514
73515	// The IPv6 address.
73516	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
73517}
73518
73519// String returns the string representation
73520func (s NetworkInterfaceIpv6Address) String() string {
73521	return awsutil.Prettify(s)
73522}
73523
73524// GoString returns the string representation
73525func (s NetworkInterfaceIpv6Address) GoString() string {
73526	return s.String()
73527}
73528
73529// SetIpv6Address sets the Ipv6Address field's value.
73530func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
73531	s.Ipv6Address = &v
73532	return s
73533}
73534
73535// Describes a permission for a network interface.
73536type NetworkInterfacePermission struct {
73537	_ struct{} `type:"structure"`
73538
73539	// The AWS account ID.
73540	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
73541
73542	// The AWS service.
73543	AwsService *string `locationName:"awsService" type:"string"`
73544
73545	// The ID of the network interface.
73546	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
73547
73548	// The ID of the network interface permission.
73549	NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
73550
73551	// The type of permission.
73552	Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
73553
73554	// Information about the state of the permission.
73555	PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
73556}
73557
73558// String returns the string representation
73559func (s NetworkInterfacePermission) String() string {
73560	return awsutil.Prettify(s)
73561}
73562
73563// GoString returns the string representation
73564func (s NetworkInterfacePermission) GoString() string {
73565	return s.String()
73566}
73567
73568// SetAwsAccountId sets the AwsAccountId field's value.
73569func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
73570	s.AwsAccountId = &v
73571	return s
73572}
73573
73574// SetAwsService sets the AwsService field's value.
73575func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
73576	s.AwsService = &v
73577	return s
73578}
73579
73580// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
73581func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
73582	s.NetworkInterfaceId = &v
73583	return s
73584}
73585
73586// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
73587func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
73588	s.NetworkInterfacePermissionId = &v
73589	return s
73590}
73591
73592// SetPermission sets the Permission field's value.
73593func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
73594	s.Permission = &v
73595	return s
73596}
73597
73598// SetPermissionState sets the PermissionState field's value.
73599func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
73600	s.PermissionState = v
73601	return s
73602}
73603
73604// Describes the state of a network interface permission.
73605type NetworkInterfacePermissionState struct {
73606	_ struct{} `type:"structure"`
73607
73608	// The state of the permission.
73609	State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
73610
73611	// A status message, if applicable.
73612	StatusMessage *string `locationName:"statusMessage" type:"string"`
73613}
73614
73615// String returns the string representation
73616func (s NetworkInterfacePermissionState) String() string {
73617	return awsutil.Prettify(s)
73618}
73619
73620// GoString returns the string representation
73621func (s NetworkInterfacePermissionState) GoString() string {
73622	return s.String()
73623}
73624
73625// SetState sets the State field's value.
73626func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
73627	s.State = &v
73628	return s
73629}
73630
73631// SetStatusMessage sets the StatusMessage field's value.
73632func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
73633	s.StatusMessage = &v
73634	return s
73635}
73636
73637// Describes the private IPv4 address of a network interface.
73638type NetworkInterfacePrivateIpAddress struct {
73639	_ struct{} `type:"structure"`
73640
73641	// The association information for an Elastic IP address (IPv4) associated with
73642	// the network interface.
73643	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
73644
73645	// Indicates whether this IPv4 address is the primary private IPv4 address of
73646	// the network interface.
73647	Primary *bool `locationName:"primary" type:"boolean"`
73648
73649	// The private DNS name.
73650	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
73651
73652	// The private IPv4 address.
73653	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
73654}
73655
73656// String returns the string representation
73657func (s NetworkInterfacePrivateIpAddress) String() string {
73658	return awsutil.Prettify(s)
73659}
73660
73661// GoString returns the string representation
73662func (s NetworkInterfacePrivateIpAddress) GoString() string {
73663	return s.String()
73664}
73665
73666// SetAssociation sets the Association field's value.
73667func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
73668	s.Association = v
73669	return s
73670}
73671
73672// SetPrimary sets the Primary field's value.
73673func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
73674	s.Primary = &v
73675	return s
73676}
73677
73678// SetPrivateDnsName sets the PrivateDnsName field's value.
73679func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
73680	s.PrivateDnsName = &v
73681	return s
73682}
73683
73684// SetPrivateIpAddress sets the PrivateIpAddress field's value.
73685func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
73686	s.PrivateIpAddress = &v
73687	return s
73688}
73689
73690type NewDhcpConfiguration struct {
73691	_ struct{} `type:"structure"`
73692
73693	Key *string `locationName:"key" type:"string"`
73694
73695	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
73696}
73697
73698// String returns the string representation
73699func (s NewDhcpConfiguration) String() string {
73700	return awsutil.Prettify(s)
73701}
73702
73703// GoString returns the string representation
73704func (s NewDhcpConfiguration) GoString() string {
73705	return s.String()
73706}
73707
73708// SetKey sets the Key field's value.
73709func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
73710	s.Key = &v
73711	return s
73712}
73713
73714// SetValues sets the Values field's value.
73715func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
73716	s.Values = v
73717	return s
73718}
73719
73720// The allocation strategy of On-Demand Instances in an EC2 Fleet.
73721type OnDemandOptions struct {
73722	_ struct{} `type:"structure"`
73723
73724	// The order of the launch template overrides to use in fulfilling On-Demand
73725	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
73726	// the order, launching the lowest price first. If you specify prioritized,
73727	// EC2 Fleet uses the priority that you assigned to each launch template override,
73728	// launching the highest priority first. If you do not specify a value, EC2
73729	// Fleet defaults to lowest-price.
73730	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
73731
73732	// The minimum target capacity for On-Demand Instances in the fleet. If the
73733	// minimum target capacity is not reached, the fleet launches no instances.
73734	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
73735
73736	// Indicates that the fleet launches all On-Demand Instances into a single Availability
73737	// Zone.
73738	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
73739
73740	// Indicates that the fleet uses a single instance type to launch all On-Demand
73741	// Instances in the fleet.
73742	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
73743}
73744
73745// String returns the string representation
73746func (s OnDemandOptions) String() string {
73747	return awsutil.Prettify(s)
73748}
73749
73750// GoString returns the string representation
73751func (s OnDemandOptions) GoString() string {
73752	return s.String()
73753}
73754
73755// SetAllocationStrategy sets the AllocationStrategy field's value.
73756func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
73757	s.AllocationStrategy = &v
73758	return s
73759}
73760
73761// SetMinTargetCapacity sets the MinTargetCapacity field's value.
73762func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
73763	s.MinTargetCapacity = &v
73764	return s
73765}
73766
73767// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
73768func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
73769	s.SingleAvailabilityZone = &v
73770	return s
73771}
73772
73773// SetSingleInstanceType sets the SingleInstanceType field's value.
73774func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
73775	s.SingleInstanceType = &v
73776	return s
73777}
73778
73779// The allocation strategy of On-Demand Instances in an EC2 Fleet.
73780type OnDemandOptionsRequest struct {
73781	_ struct{} `type:"structure"`
73782
73783	// The order of the launch template overrides to use in fulfilling On-Demand
73784	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
73785	// the order, launching the lowest price first. If you specify prioritized,
73786	// EC2 Fleet uses the priority that you assigned to each launch template override,
73787	// launching the highest priority first. If you do not specify a value, EC2
73788	// Fleet defaults to lowest-price.
73789	AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
73790
73791	// The minimum target capacity for On-Demand Instances in the fleet. If the
73792	// minimum target capacity is not reached, the fleet launches no instances.
73793	MinTargetCapacity *int64 `type:"integer"`
73794
73795	// Indicates that the fleet launches all On-Demand Instances into a single Availability
73796	// Zone.
73797	SingleAvailabilityZone *bool `type:"boolean"`
73798
73799	// Indicates that the fleet uses a single instance type to launch all On-Demand
73800	// Instances in the fleet.
73801	SingleInstanceType *bool `type:"boolean"`
73802}
73803
73804// String returns the string representation
73805func (s OnDemandOptionsRequest) String() string {
73806	return awsutil.Prettify(s)
73807}
73808
73809// GoString returns the string representation
73810func (s OnDemandOptionsRequest) GoString() string {
73811	return s.String()
73812}
73813
73814// SetAllocationStrategy sets the AllocationStrategy field's value.
73815func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
73816	s.AllocationStrategy = &v
73817	return s
73818}
73819
73820// SetMinTargetCapacity sets the MinTargetCapacity field's value.
73821func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
73822	s.MinTargetCapacity = &v
73823	return s
73824}
73825
73826// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
73827func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
73828	s.SingleAvailabilityZone = &v
73829	return s
73830}
73831
73832// SetSingleInstanceType sets the SingleInstanceType field's value.
73833func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
73834	s.SingleInstanceType = &v
73835	return s
73836}
73837
73838// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
73839// bus.
73840type PciId struct {
73841	_ struct{} `type:"structure"`
73842
73843	// The ID of the device.
73844	DeviceId *string `type:"string"`
73845
73846	// The ID of the subsystem.
73847	SubsystemId *string `type:"string"`
73848
73849	// The ID of the vendor for the subsystem.
73850	SubsystemVendorId *string `type:"string"`
73851
73852	// The ID of the vendor.
73853	VendorId *string `type:"string"`
73854}
73855
73856// String returns the string representation
73857func (s PciId) String() string {
73858	return awsutil.Prettify(s)
73859}
73860
73861// GoString returns the string representation
73862func (s PciId) GoString() string {
73863	return s.String()
73864}
73865
73866// SetDeviceId sets the DeviceId field's value.
73867func (s *PciId) SetDeviceId(v string) *PciId {
73868	s.DeviceId = &v
73869	return s
73870}
73871
73872// SetSubsystemId sets the SubsystemId field's value.
73873func (s *PciId) SetSubsystemId(v string) *PciId {
73874	s.SubsystemId = &v
73875	return s
73876}
73877
73878// SetSubsystemVendorId sets the SubsystemVendorId field's value.
73879func (s *PciId) SetSubsystemVendorId(v string) *PciId {
73880	s.SubsystemVendorId = &v
73881	return s
73882}
73883
73884// SetVendorId sets the VendorId field's value.
73885func (s *PciId) SetVendorId(v string) *PciId {
73886	s.VendorId = &v
73887	return s
73888}
73889
73890// Describes the VPC peering connection options.
73891type PeeringConnectionOptions struct {
73892	_ struct{} `type:"structure"`
73893
73894	// If true, the public DNS hostnames of instances in the specified VPC resolve
73895	// to private IP addresses when queried from instances in the peer VPC.
73896	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
73897
73898	// If true, enables outbound communication from an EC2-Classic instance that's
73899	// linked to a local VPC using ClassicLink to instances in a peer VPC.
73900	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
73901
73902	// If true, enables outbound communication from instances in a local VPC to
73903	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
73904	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
73905}
73906
73907// String returns the string representation
73908func (s PeeringConnectionOptions) String() string {
73909	return awsutil.Prettify(s)
73910}
73911
73912// GoString returns the string representation
73913func (s PeeringConnectionOptions) GoString() string {
73914	return s.String()
73915}
73916
73917// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
73918func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
73919	s.AllowDnsResolutionFromRemoteVpc = &v
73920	return s
73921}
73922
73923// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
73924func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
73925	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
73926	return s
73927}
73928
73929// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
73930func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
73931	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
73932	return s
73933}
73934
73935// The VPC peering connection options.
73936type PeeringConnectionOptionsRequest struct {
73937	_ struct{} `type:"structure"`
73938
73939	// If true, enables a local VPC to resolve public DNS hostnames to private IP
73940	// addresses when queried from instances in the peer VPC.
73941	AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
73942
73943	// If true, enables outbound communication from an EC2-Classic instance that's
73944	// linked to a local VPC using ClassicLink to instances in a peer VPC.
73945	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
73946
73947	// If true, enables outbound communication from instances in a local VPC to
73948	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
73949	AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
73950}
73951
73952// String returns the string representation
73953func (s PeeringConnectionOptionsRequest) String() string {
73954	return awsutil.Prettify(s)
73955}
73956
73957// GoString returns the string representation
73958func (s PeeringConnectionOptionsRequest) GoString() string {
73959	return s.String()
73960}
73961
73962// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
73963func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
73964	s.AllowDnsResolutionFromRemoteVpc = &v
73965	return s
73966}
73967
73968// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
73969func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
73970	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
73971	return s
73972}
73973
73974// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
73975func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
73976	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
73977	return s
73978}
73979
73980// Describes the placement of an instance.
73981type Placement struct {
73982	_ struct{} `type:"structure"`
73983
73984	// The affinity setting for the instance on the Dedicated Host. This parameter
73985	// is not supported for the ImportInstance command.
73986	Affinity *string `locationName:"affinity" type:"string"`
73987
73988	// The Availability Zone of the instance.
73989	//
73990	// If not specified, an Availability Zone will be automatically chosen for you
73991	// based on the load balancing criteria for the Region.
73992	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
73993
73994	// The name of the placement group the instance is in.
73995	GroupName *string `locationName:"groupName" type:"string"`
73996
73997	// The ID of the Dedicated Host on which the instance resides. This parameter
73998	// is not supported for the ImportInstance command.
73999	HostId *string `locationName:"hostId" type:"string"`
74000
74001	// The number of the partition the instance is in. Valid only if the placement
74002	// group strategy is set to partition.
74003	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
74004
74005	// Reserved for future use.
74006	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
74007
74008	// The tenancy of the instance (if the instance is running in a VPC). An instance
74009	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
74010	// is not supported for the ImportInstance command.
74011	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
74012}
74013
74014// String returns the string representation
74015func (s Placement) String() string {
74016	return awsutil.Prettify(s)
74017}
74018
74019// GoString returns the string representation
74020func (s Placement) GoString() string {
74021	return s.String()
74022}
74023
74024// SetAffinity sets the Affinity field's value.
74025func (s *Placement) SetAffinity(v string) *Placement {
74026	s.Affinity = &v
74027	return s
74028}
74029
74030// SetAvailabilityZone sets the AvailabilityZone field's value.
74031func (s *Placement) SetAvailabilityZone(v string) *Placement {
74032	s.AvailabilityZone = &v
74033	return s
74034}
74035
74036// SetGroupName sets the GroupName field's value.
74037func (s *Placement) SetGroupName(v string) *Placement {
74038	s.GroupName = &v
74039	return s
74040}
74041
74042// SetHostId sets the HostId field's value.
74043func (s *Placement) SetHostId(v string) *Placement {
74044	s.HostId = &v
74045	return s
74046}
74047
74048// SetPartitionNumber sets the PartitionNumber field's value.
74049func (s *Placement) SetPartitionNumber(v int64) *Placement {
74050	s.PartitionNumber = &v
74051	return s
74052}
74053
74054// SetSpreadDomain sets the SpreadDomain field's value.
74055func (s *Placement) SetSpreadDomain(v string) *Placement {
74056	s.SpreadDomain = &v
74057	return s
74058}
74059
74060// SetTenancy sets the Tenancy field's value.
74061func (s *Placement) SetTenancy(v string) *Placement {
74062	s.Tenancy = &v
74063	return s
74064}
74065
74066// Describes a placement group.
74067type PlacementGroup struct {
74068	_ struct{} `type:"structure"`
74069
74070	// The name of the placement group.
74071	GroupName *string `locationName:"groupName" type:"string"`
74072
74073	// The number of partitions. Valid only if strategy is set to partition.
74074	PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
74075
74076	// The state of the placement group.
74077	State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
74078
74079	// The placement strategy.
74080	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
74081}
74082
74083// String returns the string representation
74084func (s PlacementGroup) String() string {
74085	return awsutil.Prettify(s)
74086}
74087
74088// GoString returns the string representation
74089func (s PlacementGroup) GoString() string {
74090	return s.String()
74091}
74092
74093// SetGroupName sets the GroupName field's value.
74094func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
74095	s.GroupName = &v
74096	return s
74097}
74098
74099// SetPartitionCount sets the PartitionCount field's value.
74100func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
74101	s.PartitionCount = &v
74102	return s
74103}
74104
74105// SetState sets the State field's value.
74106func (s *PlacementGroup) SetState(v string) *PlacementGroup {
74107	s.State = &v
74108	return s
74109}
74110
74111// SetStrategy sets the Strategy field's value.
74112func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
74113	s.Strategy = &v
74114	return s
74115}
74116
74117// Describes the placement of an instance.
74118type PlacementResponse struct {
74119	_ struct{} `type:"structure"`
74120
74121	// The name of the placement group the instance is in.
74122	GroupName *string `locationName:"groupName" type:"string"`
74123}
74124
74125// String returns the string representation
74126func (s PlacementResponse) String() string {
74127	return awsutil.Prettify(s)
74128}
74129
74130// GoString returns the string representation
74131func (s PlacementResponse) GoString() string {
74132	return s.String()
74133}
74134
74135// SetGroupName sets the GroupName field's value.
74136func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
74137	s.GroupName = &v
74138	return s
74139}
74140
74141// Describes a range of ports.
74142type PortRange struct {
74143	_ struct{} `type:"structure"`
74144
74145	// The first port in the range.
74146	From *int64 `locationName:"from" type:"integer"`
74147
74148	// The last port in the range.
74149	To *int64 `locationName:"to" type:"integer"`
74150}
74151
74152// String returns the string representation
74153func (s PortRange) String() string {
74154	return awsutil.Prettify(s)
74155}
74156
74157// GoString returns the string representation
74158func (s PortRange) GoString() string {
74159	return s.String()
74160}
74161
74162// SetFrom sets the From field's value.
74163func (s *PortRange) SetFrom(v int64) *PortRange {
74164	s.From = &v
74165	return s
74166}
74167
74168// SetTo sets the To field's value.
74169func (s *PortRange) SetTo(v int64) *PortRange {
74170	s.To = &v
74171	return s
74172}
74173
74174// Describes prefixes for AWS services.
74175type PrefixList struct {
74176	_ struct{} `type:"structure"`
74177
74178	// The IP address range of the AWS service.
74179	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
74180
74181	// The ID of the prefix.
74182	PrefixListId *string `locationName:"prefixListId" type:"string"`
74183
74184	// The name of the prefix.
74185	PrefixListName *string `locationName:"prefixListName" type:"string"`
74186}
74187
74188// String returns the string representation
74189func (s PrefixList) String() string {
74190	return awsutil.Prettify(s)
74191}
74192
74193// GoString returns the string representation
74194func (s PrefixList) GoString() string {
74195	return s.String()
74196}
74197
74198// SetCidrs sets the Cidrs field's value.
74199func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
74200	s.Cidrs = v
74201	return s
74202}
74203
74204// SetPrefixListId sets the PrefixListId field's value.
74205func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
74206	s.PrefixListId = &v
74207	return s
74208}
74209
74210// SetPrefixListName sets the PrefixListName field's value.
74211func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
74212	s.PrefixListName = &v
74213	return s
74214}
74215
74216// Describes a prefix list ID.
74217type PrefixListId struct {
74218	_ struct{} `type:"structure"`
74219
74220	// A description for the security group rule that references this prefix list
74221	// ID.
74222	//
74223	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
74224	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
74225	Description *string `locationName:"description" type:"string"`
74226
74227	// The ID of the prefix.
74228	PrefixListId *string `locationName:"prefixListId" type:"string"`
74229}
74230
74231// String returns the string representation
74232func (s PrefixListId) String() string {
74233	return awsutil.Prettify(s)
74234}
74235
74236// GoString returns the string representation
74237func (s PrefixListId) GoString() string {
74238	return s.String()
74239}
74240
74241// SetDescription sets the Description field's value.
74242func (s *PrefixListId) SetDescription(v string) *PrefixListId {
74243	s.Description = &v
74244	return s
74245}
74246
74247// SetPrefixListId sets the PrefixListId field's value.
74248func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
74249	s.PrefixListId = &v
74250	return s
74251}
74252
74253// Describes the price for a Reserved Instance.
74254type PriceSchedule struct {
74255	_ struct{} `type:"structure"`
74256
74257	// The current price schedule, as determined by the term remaining for the Reserved
74258	// Instance in the listing.
74259	//
74260	// A specific price schedule is always in effect, but only one price schedule
74261	// can be active at any time. Take, for example, a Reserved Instance listing
74262	// that has five months remaining in its term. When you specify price schedules
74263	// for five months and two months, this means that schedule 1, covering the
74264	// first three months of the remaining term, will be active during months 5,
74265	// 4, and 3. Then schedule 2, covering the last two months of the term, will
74266	// be active for months 2 and 1.
74267	Active *bool `locationName:"active" type:"boolean"`
74268
74269	// The currency for transacting the Reserved Instance resale. At this time,
74270	// the only supported currency is USD.
74271	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
74272
74273	// The fixed price for the term.
74274	Price *float64 `locationName:"price" type:"double"`
74275
74276	// The number of months remaining in the reservation. For example, 2 is the
74277	// second to the last month before the capacity reservation expires.
74278	Term *int64 `locationName:"term" type:"long"`
74279}
74280
74281// String returns the string representation
74282func (s PriceSchedule) String() string {
74283	return awsutil.Prettify(s)
74284}
74285
74286// GoString returns the string representation
74287func (s PriceSchedule) GoString() string {
74288	return s.String()
74289}
74290
74291// SetActive sets the Active field's value.
74292func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
74293	s.Active = &v
74294	return s
74295}
74296
74297// SetCurrencyCode sets the CurrencyCode field's value.
74298func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
74299	s.CurrencyCode = &v
74300	return s
74301}
74302
74303// SetPrice sets the Price field's value.
74304func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
74305	s.Price = &v
74306	return s
74307}
74308
74309// SetTerm sets the Term field's value.
74310func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
74311	s.Term = &v
74312	return s
74313}
74314
74315// Describes the price for a Reserved Instance.
74316type PriceScheduleSpecification struct {
74317	_ struct{} `type:"structure"`
74318
74319	// The currency for transacting the Reserved Instance resale. At this time,
74320	// the only supported currency is USD.
74321	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
74322
74323	// The fixed price for the term.
74324	Price *float64 `locationName:"price" type:"double"`
74325
74326	// The number of months remaining in the reservation. For example, 2 is the
74327	// second to the last month before the capacity reservation expires.
74328	Term *int64 `locationName:"term" type:"long"`
74329}
74330
74331// String returns the string representation
74332func (s PriceScheduleSpecification) String() string {
74333	return awsutil.Prettify(s)
74334}
74335
74336// GoString returns the string representation
74337func (s PriceScheduleSpecification) GoString() string {
74338	return s.String()
74339}
74340
74341// SetCurrencyCode sets the CurrencyCode field's value.
74342func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
74343	s.CurrencyCode = &v
74344	return s
74345}
74346
74347// SetPrice sets the Price field's value.
74348func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
74349	s.Price = &v
74350	return s
74351}
74352
74353// SetTerm sets the Term field's value.
74354func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
74355	s.Term = &v
74356	return s
74357}
74358
74359// Describes a Reserved Instance offering.
74360type PricingDetail struct {
74361	_ struct{} `type:"structure"`
74362
74363	// The number of reservations available for the price.
74364	Count *int64 `locationName:"count" type:"integer"`
74365
74366	// The price per instance.
74367	Price *float64 `locationName:"price" type:"double"`
74368}
74369
74370// String returns the string representation
74371func (s PricingDetail) String() string {
74372	return awsutil.Prettify(s)
74373}
74374
74375// GoString returns the string representation
74376func (s PricingDetail) GoString() string {
74377	return s.String()
74378}
74379
74380// SetCount sets the Count field's value.
74381func (s *PricingDetail) SetCount(v int64) *PricingDetail {
74382	s.Count = &v
74383	return s
74384}
74385
74386// SetPrice sets the Price field's value.
74387func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
74388	s.Price = &v
74389	return s
74390}
74391
74392// PrincipalIdFormat description
74393type PrincipalIdFormat struct {
74394	_ struct{} `type:"structure"`
74395
74396	// PrincipalIdFormatARN description
74397	Arn *string `locationName:"arn" type:"string"`
74398
74399	// PrincipalIdFormatStatuses description
74400	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
74401}
74402
74403// String returns the string representation
74404func (s PrincipalIdFormat) String() string {
74405	return awsutil.Prettify(s)
74406}
74407
74408// GoString returns the string representation
74409func (s PrincipalIdFormat) GoString() string {
74410	return s.String()
74411}
74412
74413// SetArn sets the Arn field's value.
74414func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
74415	s.Arn = &v
74416	return s
74417}
74418
74419// SetStatuses sets the Statuses field's value.
74420func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
74421	s.Statuses = v
74422	return s
74423}
74424
74425// Describes a secondary private IPv4 address for a network interface.
74426type PrivateIpAddressSpecification struct {
74427	_ struct{} `type:"structure"`
74428
74429	// Indicates whether the private IPv4 address is the primary private IPv4 address.
74430	// Only one IPv4 address can be designated as primary.
74431	Primary *bool `locationName:"primary" type:"boolean"`
74432
74433	// The private IPv4 addresses.
74434	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
74435}
74436
74437// String returns the string representation
74438func (s PrivateIpAddressSpecification) String() string {
74439	return awsutil.Prettify(s)
74440}
74441
74442// GoString returns the string representation
74443func (s PrivateIpAddressSpecification) GoString() string {
74444	return s.String()
74445}
74446
74447// SetPrimary sets the Primary field's value.
74448func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
74449	s.Primary = &v
74450	return s
74451}
74452
74453// SetPrivateIpAddress sets the PrivateIpAddress field's value.
74454func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
74455	s.PrivateIpAddress = &v
74456	return s
74457}
74458
74459// Describes a product code.
74460type ProductCode struct {
74461	_ struct{} `type:"structure"`
74462
74463	// The product code.
74464	ProductCodeId *string `locationName:"productCode" type:"string"`
74465
74466	// The type of product code.
74467	ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
74468}
74469
74470// String returns the string representation
74471func (s ProductCode) String() string {
74472	return awsutil.Prettify(s)
74473}
74474
74475// GoString returns the string representation
74476func (s ProductCode) GoString() string {
74477	return s.String()
74478}
74479
74480// SetProductCodeId sets the ProductCodeId field's value.
74481func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
74482	s.ProductCodeId = &v
74483	return s
74484}
74485
74486// SetProductCodeType sets the ProductCodeType field's value.
74487func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
74488	s.ProductCodeType = &v
74489	return s
74490}
74491
74492// Describes a virtual private gateway propagating route.
74493type PropagatingVgw struct {
74494	_ struct{} `type:"structure"`
74495
74496	// The ID of the virtual private gateway.
74497	GatewayId *string `locationName:"gatewayId" type:"string"`
74498}
74499
74500// String returns the string representation
74501func (s PropagatingVgw) String() string {
74502	return awsutil.Prettify(s)
74503}
74504
74505// GoString returns the string representation
74506func (s PropagatingVgw) GoString() string {
74507	return s.String()
74508}
74509
74510// SetGatewayId sets the GatewayId field's value.
74511func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
74512	s.GatewayId = &v
74513	return s
74514}
74515
74516type ProvisionByoipCidrInput struct {
74517	_ struct{} `type:"structure"`
74518
74519	// The public IPv4 address range, in CIDR notation. The most specific prefix
74520	// that you can specify is /24. The address range cannot overlap with another
74521	// address range that you've brought to this or another Region.
74522	//
74523	// Cidr is a required field
74524	Cidr *string `type:"string" required:"true"`
74525
74526	// A signed document that proves that you are authorized to bring the specified
74527	// IP address range to Amazon using BYOIP.
74528	CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
74529
74530	// A description for the address range and the address pool.
74531	Description *string `type:"string"`
74532
74533	// Checks whether you have the required permissions for the action, without
74534	// actually making the request, and provides an error response. If you have
74535	// the required permissions, the error response is DryRunOperation. Otherwise,
74536	// it is UnauthorizedOperation.
74537	DryRun *bool `type:"boolean"`
74538}
74539
74540// String returns the string representation
74541func (s ProvisionByoipCidrInput) String() string {
74542	return awsutil.Prettify(s)
74543}
74544
74545// GoString returns the string representation
74546func (s ProvisionByoipCidrInput) GoString() string {
74547	return s.String()
74548}
74549
74550// Validate inspects the fields of the type to determine if they are valid.
74551func (s *ProvisionByoipCidrInput) Validate() error {
74552	invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
74553	if s.Cidr == nil {
74554		invalidParams.Add(request.NewErrParamRequired("Cidr"))
74555	}
74556	if s.CidrAuthorizationContext != nil {
74557		if err := s.CidrAuthorizationContext.Validate(); err != nil {
74558			invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
74559		}
74560	}
74561
74562	if invalidParams.Len() > 0 {
74563		return invalidParams
74564	}
74565	return nil
74566}
74567
74568// SetCidr sets the Cidr field's value.
74569func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
74570	s.Cidr = &v
74571	return s
74572}
74573
74574// SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
74575func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
74576	s.CidrAuthorizationContext = v
74577	return s
74578}
74579
74580// SetDescription sets the Description field's value.
74581func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
74582	s.Description = &v
74583	return s
74584}
74585
74586// SetDryRun sets the DryRun field's value.
74587func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
74588	s.DryRun = &v
74589	return s
74590}
74591
74592type ProvisionByoipCidrOutput struct {
74593	_ struct{} `type:"structure"`
74594
74595	// Information about the address pool.
74596	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
74597}
74598
74599// String returns the string representation
74600func (s ProvisionByoipCidrOutput) String() string {
74601	return awsutil.Prettify(s)
74602}
74603
74604// GoString returns the string representation
74605func (s ProvisionByoipCidrOutput) GoString() string {
74606	return s.String()
74607}
74608
74609// SetByoipCidr sets the ByoipCidr field's value.
74610func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
74611	s.ByoipCidr = v
74612	return s
74613}
74614
74615// Reserved. If you need to sustain traffic greater than the documented limits
74616// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
74617// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
74618type ProvisionedBandwidth struct {
74619	_ struct{} `type:"structure"`
74620
74621	// Reserved. If you need to sustain traffic greater than the documented limits
74622	// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
74623	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
74624	ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
74625
74626	// Reserved. If you need to sustain traffic greater than the documented limits
74627	// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
74628	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
74629	Provisioned *string `locationName:"provisioned" type:"string"`
74630
74631	// Reserved. If you need to sustain traffic greater than the documented limits
74632	// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
74633	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
74634	RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
74635
74636	// Reserved. If you need to sustain traffic greater than the documented limits
74637	// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
74638	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
74639	Requested *string `locationName:"requested" type:"string"`
74640
74641	// Reserved. If you need to sustain traffic greater than the documented limits
74642	// (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
74643	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
74644	Status *string `locationName:"status" type:"string"`
74645}
74646
74647// String returns the string representation
74648func (s ProvisionedBandwidth) String() string {
74649	return awsutil.Prettify(s)
74650}
74651
74652// GoString returns the string representation
74653func (s ProvisionedBandwidth) GoString() string {
74654	return s.String()
74655}
74656
74657// SetProvisionTime sets the ProvisionTime field's value.
74658func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
74659	s.ProvisionTime = &v
74660	return s
74661}
74662
74663// SetProvisioned sets the Provisioned field's value.
74664func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
74665	s.Provisioned = &v
74666	return s
74667}
74668
74669// SetRequestTime sets the RequestTime field's value.
74670func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
74671	s.RequestTime = &v
74672	return s
74673}
74674
74675// SetRequested sets the Requested field's value.
74676func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
74677	s.Requested = &v
74678	return s
74679}
74680
74681// SetStatus sets the Status field's value.
74682func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
74683	s.Status = &v
74684	return s
74685}
74686
74687// Describes an address pool.
74688type PublicIpv4Pool struct {
74689	_ struct{} `type:"structure"`
74690
74691	// A description of the address pool.
74692	Description *string `locationName:"description" type:"string"`
74693
74694	// The address ranges.
74695	PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
74696
74697	// The ID of the IPv4 address pool.
74698	PoolId *string `locationName:"poolId" type:"string"`
74699
74700	// The total number of addresses.
74701	TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
74702
74703	// The total number of available addresses.
74704	TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
74705}
74706
74707// String returns the string representation
74708func (s PublicIpv4Pool) String() string {
74709	return awsutil.Prettify(s)
74710}
74711
74712// GoString returns the string representation
74713func (s PublicIpv4Pool) GoString() string {
74714	return s.String()
74715}
74716
74717// SetDescription sets the Description field's value.
74718func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
74719	s.Description = &v
74720	return s
74721}
74722
74723// SetPoolAddressRanges sets the PoolAddressRanges field's value.
74724func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
74725	s.PoolAddressRanges = v
74726	return s
74727}
74728
74729// SetPoolId sets the PoolId field's value.
74730func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
74731	s.PoolId = &v
74732	return s
74733}
74734
74735// SetTotalAddressCount sets the TotalAddressCount field's value.
74736func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
74737	s.TotalAddressCount = &v
74738	return s
74739}
74740
74741// SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
74742func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
74743	s.TotalAvailableAddressCount = &v
74744	return s
74745}
74746
74747// Describes an address range of an IPv4 address pool.
74748type PublicIpv4PoolRange struct {
74749	_ struct{} `type:"structure"`
74750
74751	// The number of addresses in the range.
74752	AddressCount *int64 `locationName:"addressCount" type:"integer"`
74753
74754	// The number of available addresses in the range.
74755	AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
74756
74757	// The first IP address in the range.
74758	FirstAddress *string `locationName:"firstAddress" type:"string"`
74759
74760	// The last IP address in the range.
74761	LastAddress *string `locationName:"lastAddress" type:"string"`
74762}
74763
74764// String returns the string representation
74765func (s PublicIpv4PoolRange) String() string {
74766	return awsutil.Prettify(s)
74767}
74768
74769// GoString returns the string representation
74770func (s PublicIpv4PoolRange) GoString() string {
74771	return s.String()
74772}
74773
74774// SetAddressCount sets the AddressCount field's value.
74775func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
74776	s.AddressCount = &v
74777	return s
74778}
74779
74780// SetAvailableAddressCount sets the AvailableAddressCount field's value.
74781func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
74782	s.AvailableAddressCount = &v
74783	return s
74784}
74785
74786// SetFirstAddress sets the FirstAddress field's value.
74787func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
74788	s.FirstAddress = &v
74789	return s
74790}
74791
74792// SetLastAddress sets the LastAddress field's value.
74793func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
74794	s.LastAddress = &v
74795	return s
74796}
74797
74798// Describes the result of the purchase.
74799type Purchase struct {
74800	_ struct{} `type:"structure"`
74801
74802	// The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
74803	// At this time, the only supported currency is USD.
74804	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
74805
74806	// The duration of the reservation's term in seconds.
74807	Duration *int64 `locationName:"duration" type:"integer"`
74808
74809	// The IDs of the Dedicated Hosts associated with the reservation.
74810	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
74811
74812	// The ID of the reservation.
74813	HostReservationId *string `locationName:"hostReservationId" type:"string"`
74814
74815	// The hourly price of the reservation per hour.
74816	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
74817
74818	// The instance family on the Dedicated Host that the reservation can be associated
74819	// with.
74820	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
74821
74822	// The payment option for the reservation.
74823	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
74824
74825	// The upfront price of the reservation.
74826	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
74827}
74828
74829// String returns the string representation
74830func (s Purchase) String() string {
74831	return awsutil.Prettify(s)
74832}
74833
74834// GoString returns the string representation
74835func (s Purchase) GoString() string {
74836	return s.String()
74837}
74838
74839// SetCurrencyCode sets the CurrencyCode field's value.
74840func (s *Purchase) SetCurrencyCode(v string) *Purchase {
74841	s.CurrencyCode = &v
74842	return s
74843}
74844
74845// SetDuration sets the Duration field's value.
74846func (s *Purchase) SetDuration(v int64) *Purchase {
74847	s.Duration = &v
74848	return s
74849}
74850
74851// SetHostIdSet sets the HostIdSet field's value.
74852func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
74853	s.HostIdSet = v
74854	return s
74855}
74856
74857// SetHostReservationId sets the HostReservationId field's value.
74858func (s *Purchase) SetHostReservationId(v string) *Purchase {
74859	s.HostReservationId = &v
74860	return s
74861}
74862
74863// SetHourlyPrice sets the HourlyPrice field's value.
74864func (s *Purchase) SetHourlyPrice(v string) *Purchase {
74865	s.HourlyPrice = &v
74866	return s
74867}
74868
74869// SetInstanceFamily sets the InstanceFamily field's value.
74870func (s *Purchase) SetInstanceFamily(v string) *Purchase {
74871	s.InstanceFamily = &v
74872	return s
74873}
74874
74875// SetPaymentOption sets the PaymentOption field's value.
74876func (s *Purchase) SetPaymentOption(v string) *Purchase {
74877	s.PaymentOption = &v
74878	return s
74879}
74880
74881// SetUpfrontPrice sets the UpfrontPrice field's value.
74882func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
74883	s.UpfrontPrice = &v
74884	return s
74885}
74886
74887type PurchaseHostReservationInput struct {
74888	_ struct{} `type:"structure"`
74889
74890	// Unique, case-sensitive identifier you provide to ensure idempotency of the
74891	// request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
74892	// in the Amazon Elastic Compute Cloud User Guide.
74893	ClientToken *string `type:"string"`
74894
74895	// The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
74896	// amounts are specified. At this time, the only supported currency is USD.
74897	CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
74898
74899	// The IDs of the Dedicated Hosts with which the reservation will be associated.
74900	//
74901	// HostIdSet is a required field
74902	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
74903
74904	// The specified limit is checked against the total upfront cost of the reservation
74905	// (calculated as the offering's upfront cost multiplied by the host count).
74906	// If the total upfront cost is greater than the specified price limit, the
74907	// request fails. This is used to ensure that the purchase does not exceed the
74908	// expected upfront cost of the purchase. At this time, the only supported currency
74909	// is USD. For example, to indicate a limit price of USD 100, specify 100.00.
74910	LimitPrice *string `type:"string"`
74911
74912	// The ID of the offering.
74913	//
74914	// OfferingId is a required field
74915	OfferingId *string `type:"string" required:"true"`
74916}
74917
74918// String returns the string representation
74919func (s PurchaseHostReservationInput) String() string {
74920	return awsutil.Prettify(s)
74921}
74922
74923// GoString returns the string representation
74924func (s PurchaseHostReservationInput) GoString() string {
74925	return s.String()
74926}
74927
74928// Validate inspects the fields of the type to determine if they are valid.
74929func (s *PurchaseHostReservationInput) Validate() error {
74930	invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
74931	if s.HostIdSet == nil {
74932		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
74933	}
74934	if s.OfferingId == nil {
74935		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
74936	}
74937
74938	if invalidParams.Len() > 0 {
74939		return invalidParams
74940	}
74941	return nil
74942}
74943
74944// SetClientToken sets the ClientToken field's value.
74945func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
74946	s.ClientToken = &v
74947	return s
74948}
74949
74950// SetCurrencyCode sets the CurrencyCode field's value.
74951func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
74952	s.CurrencyCode = &v
74953	return s
74954}
74955
74956// SetHostIdSet sets the HostIdSet field's value.
74957func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
74958	s.HostIdSet = v
74959	return s
74960}
74961
74962// SetLimitPrice sets the LimitPrice field's value.
74963func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
74964	s.LimitPrice = &v
74965	return s
74966}
74967
74968// SetOfferingId sets the OfferingId field's value.
74969func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
74970	s.OfferingId = &v
74971	return s
74972}
74973
74974type PurchaseHostReservationOutput struct {
74975	_ struct{} `type:"structure"`
74976
74977	// Unique, case-sensitive identifier you provide to ensure idempotency of the
74978	// request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
74979	// in the Amazon Elastic Compute Cloud User Guide.
74980	ClientToken *string `locationName:"clientToken" type:"string"`
74981
74982	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
74983	// are specified. At this time, the only supported currency is USD.
74984	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
74985
74986	// Describes the details of the purchase.
74987	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
74988
74989	// The total hourly price of the reservation calculated per hour.
74990	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
74991
74992	// The total amount charged to your account when you purchase the reservation.
74993	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
74994}
74995
74996// String returns the string representation
74997func (s PurchaseHostReservationOutput) String() string {
74998	return awsutil.Prettify(s)
74999}
75000
75001// GoString returns the string representation
75002func (s PurchaseHostReservationOutput) GoString() string {
75003	return s.String()
75004}
75005
75006// SetClientToken sets the ClientToken field's value.
75007func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
75008	s.ClientToken = &v
75009	return s
75010}
75011
75012// SetCurrencyCode sets the CurrencyCode field's value.
75013func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
75014	s.CurrencyCode = &v
75015	return s
75016}
75017
75018// SetPurchase sets the Purchase field's value.
75019func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
75020	s.Purchase = v
75021	return s
75022}
75023
75024// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
75025func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
75026	s.TotalHourlyPrice = &v
75027	return s
75028}
75029
75030// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
75031func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
75032	s.TotalUpfrontPrice = &v
75033	return s
75034}
75035
75036// Describes a request to purchase Scheduled Instances.
75037type PurchaseRequest struct {
75038	_ struct{} `type:"structure"`
75039
75040	// The number of instances.
75041	//
75042	// InstanceCount is a required field
75043	InstanceCount *int64 `type:"integer" required:"true"`
75044
75045	// The purchase token.
75046	//
75047	// PurchaseToken is a required field
75048	PurchaseToken *string `type:"string" required:"true"`
75049}
75050
75051// String returns the string representation
75052func (s PurchaseRequest) String() string {
75053	return awsutil.Prettify(s)
75054}
75055
75056// GoString returns the string representation
75057func (s PurchaseRequest) GoString() string {
75058	return s.String()
75059}
75060
75061// Validate inspects the fields of the type to determine if they are valid.
75062func (s *PurchaseRequest) Validate() error {
75063	invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
75064	if s.InstanceCount == nil {
75065		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
75066	}
75067	if s.PurchaseToken == nil {
75068		invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
75069	}
75070
75071	if invalidParams.Len() > 0 {
75072		return invalidParams
75073	}
75074	return nil
75075}
75076
75077// SetInstanceCount sets the InstanceCount field's value.
75078func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
75079	s.InstanceCount = &v
75080	return s
75081}
75082
75083// SetPurchaseToken sets the PurchaseToken field's value.
75084func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
75085	s.PurchaseToken = &v
75086	return s
75087}
75088
75089// Contains the parameters for PurchaseReservedInstancesOffering.
75090type PurchaseReservedInstancesOfferingInput struct {
75091	_ struct{} `type:"structure"`
75092
75093	// Checks whether you have the required permissions for the action, without
75094	// actually making the request, and provides an error response. If you have
75095	// the required permissions, the error response is DryRunOperation. Otherwise,
75096	// it is UnauthorizedOperation.
75097	DryRun *bool `locationName:"dryRun" type:"boolean"`
75098
75099	// The number of Reserved Instances to purchase.
75100	//
75101	// InstanceCount is a required field
75102	InstanceCount *int64 `type:"integer" required:"true"`
75103
75104	// Specified for Reserved Instance Marketplace offerings to limit the total
75105	// order and ensure that the Reserved Instances are not purchased at unexpected
75106	// prices.
75107	LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
75108
75109	// The ID of the Reserved Instance offering to purchase.
75110	//
75111	// ReservedInstancesOfferingId is a required field
75112	ReservedInstancesOfferingId *string `type:"string" required:"true"`
75113}
75114
75115// String returns the string representation
75116func (s PurchaseReservedInstancesOfferingInput) String() string {
75117	return awsutil.Prettify(s)
75118}
75119
75120// GoString returns the string representation
75121func (s PurchaseReservedInstancesOfferingInput) GoString() string {
75122	return s.String()
75123}
75124
75125// Validate inspects the fields of the type to determine if they are valid.
75126func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
75127	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
75128	if s.InstanceCount == nil {
75129		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
75130	}
75131	if s.ReservedInstancesOfferingId == nil {
75132		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
75133	}
75134
75135	if invalidParams.Len() > 0 {
75136		return invalidParams
75137	}
75138	return nil
75139}
75140
75141// SetDryRun sets the DryRun field's value.
75142func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
75143	s.DryRun = &v
75144	return s
75145}
75146
75147// SetInstanceCount sets the InstanceCount field's value.
75148func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
75149	s.InstanceCount = &v
75150	return s
75151}
75152
75153// SetLimitPrice sets the LimitPrice field's value.
75154func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
75155	s.LimitPrice = v
75156	return s
75157}
75158
75159// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
75160func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
75161	s.ReservedInstancesOfferingId = &v
75162	return s
75163}
75164
75165// Contains the output of PurchaseReservedInstancesOffering.
75166type PurchaseReservedInstancesOfferingOutput struct {
75167	_ struct{} `type:"structure"`
75168
75169	// The IDs of the purchased Reserved Instances.
75170	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
75171}
75172
75173// String returns the string representation
75174func (s PurchaseReservedInstancesOfferingOutput) String() string {
75175	return awsutil.Prettify(s)
75176}
75177
75178// GoString returns the string representation
75179func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
75180	return s.String()
75181}
75182
75183// SetReservedInstancesId sets the ReservedInstancesId field's value.
75184func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
75185	s.ReservedInstancesId = &v
75186	return s
75187}
75188
75189// Contains the parameters for PurchaseScheduledInstances.
75190type PurchaseScheduledInstancesInput struct {
75191	_ struct{} `type:"structure"`
75192
75193	// Unique, case-sensitive identifier that ensures the idempotency of the request.
75194	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
75195	ClientToken *string `type:"string" idempotencyToken:"true"`
75196
75197	// Checks whether you have the required permissions for the action, without
75198	// actually making the request, and provides an error response. If you have
75199	// the required permissions, the error response is DryRunOperation. Otherwise,
75200	// it is UnauthorizedOperation.
75201	DryRun *bool `type:"boolean"`
75202
75203	// The purchase requests.
75204	//
75205	// PurchaseRequests is a required field
75206	PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
75207}
75208
75209// String returns the string representation
75210func (s PurchaseScheduledInstancesInput) String() string {
75211	return awsutil.Prettify(s)
75212}
75213
75214// GoString returns the string representation
75215func (s PurchaseScheduledInstancesInput) GoString() string {
75216	return s.String()
75217}
75218
75219// Validate inspects the fields of the type to determine if they are valid.
75220func (s *PurchaseScheduledInstancesInput) Validate() error {
75221	invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
75222	if s.PurchaseRequests == nil {
75223		invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
75224	}
75225	if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
75226		invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
75227	}
75228	if s.PurchaseRequests != nil {
75229		for i, v := range s.PurchaseRequests {
75230			if v == nil {
75231				continue
75232			}
75233			if err := v.Validate(); err != nil {
75234				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
75235			}
75236		}
75237	}
75238
75239	if invalidParams.Len() > 0 {
75240		return invalidParams
75241	}
75242	return nil
75243}
75244
75245// SetClientToken sets the ClientToken field's value.
75246func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
75247	s.ClientToken = &v
75248	return s
75249}
75250
75251// SetDryRun sets the DryRun field's value.
75252func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
75253	s.DryRun = &v
75254	return s
75255}
75256
75257// SetPurchaseRequests sets the PurchaseRequests field's value.
75258func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
75259	s.PurchaseRequests = v
75260	return s
75261}
75262
75263// Contains the output of PurchaseScheduledInstances.
75264type PurchaseScheduledInstancesOutput struct {
75265	_ struct{} `type:"structure"`
75266
75267	// Information about the Scheduled Instances.
75268	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
75269}
75270
75271// String returns the string representation
75272func (s PurchaseScheduledInstancesOutput) String() string {
75273	return awsutil.Prettify(s)
75274}
75275
75276// GoString returns the string representation
75277func (s PurchaseScheduledInstancesOutput) GoString() string {
75278	return s.String()
75279}
75280
75281// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
75282func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
75283	s.ScheduledInstanceSet = v
75284	return s
75285}
75286
75287type RebootInstancesInput struct {
75288	_ struct{} `type:"structure"`
75289
75290	// Checks whether you have the required permissions for the action, without
75291	// actually making the request, and provides an error response. If you have
75292	// the required permissions, the error response is DryRunOperation. Otherwise,
75293	// it is UnauthorizedOperation.
75294	DryRun *bool `locationName:"dryRun" type:"boolean"`
75295
75296	// The instance IDs.
75297	//
75298	// InstanceIds is a required field
75299	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
75300}
75301
75302// String returns the string representation
75303func (s RebootInstancesInput) String() string {
75304	return awsutil.Prettify(s)
75305}
75306
75307// GoString returns the string representation
75308func (s RebootInstancesInput) GoString() string {
75309	return s.String()
75310}
75311
75312// Validate inspects the fields of the type to determine if they are valid.
75313func (s *RebootInstancesInput) Validate() error {
75314	invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
75315	if s.InstanceIds == nil {
75316		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
75317	}
75318
75319	if invalidParams.Len() > 0 {
75320		return invalidParams
75321	}
75322	return nil
75323}
75324
75325// SetDryRun sets the DryRun field's value.
75326func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
75327	s.DryRun = &v
75328	return s
75329}
75330
75331// SetInstanceIds sets the InstanceIds field's value.
75332func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
75333	s.InstanceIds = v
75334	return s
75335}
75336
75337type RebootInstancesOutput struct {
75338	_ struct{} `type:"structure"`
75339}
75340
75341// String returns the string representation
75342func (s RebootInstancesOutput) String() string {
75343	return awsutil.Prettify(s)
75344}
75345
75346// GoString returns the string representation
75347func (s RebootInstancesOutput) GoString() string {
75348	return s.String()
75349}
75350
75351// Describes a recurring charge.
75352type RecurringCharge struct {
75353	_ struct{} `type:"structure"`
75354
75355	// The amount of the recurring charge.
75356	Amount *float64 `locationName:"amount" type:"double"`
75357
75358	// The frequency of the recurring charge.
75359	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
75360}
75361
75362// String returns the string representation
75363func (s RecurringCharge) String() string {
75364	return awsutil.Prettify(s)
75365}
75366
75367// GoString returns the string representation
75368func (s RecurringCharge) GoString() string {
75369	return s.String()
75370}
75371
75372// SetAmount sets the Amount field's value.
75373func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
75374	s.Amount = &v
75375	return s
75376}
75377
75378// SetFrequency sets the Frequency field's value.
75379func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
75380	s.Frequency = &v
75381	return s
75382}
75383
75384// Describes a Region.
75385type Region struct {
75386	_ struct{} `type:"structure"`
75387
75388	// The Region service endpoint.
75389	Endpoint *string `locationName:"regionEndpoint" type:"string"`
75390
75391	// The name of the Region.
75392	RegionName *string `locationName:"regionName" type:"string"`
75393}
75394
75395// String returns the string representation
75396func (s Region) String() string {
75397	return awsutil.Prettify(s)
75398}
75399
75400// GoString returns the string representation
75401func (s Region) GoString() string {
75402	return s.String()
75403}
75404
75405// SetEndpoint sets the Endpoint field's value.
75406func (s *Region) SetEndpoint(v string) *Region {
75407	s.Endpoint = &v
75408	return s
75409}
75410
75411// SetRegionName sets the RegionName field's value.
75412func (s *Region) SetRegionName(v string) *Region {
75413	s.RegionName = &v
75414	return s
75415}
75416
75417// Contains the parameters for RegisterImage.
75418type RegisterImageInput struct {
75419	_ struct{} `type:"structure"`
75420
75421	// The architecture of the AMI.
75422	//
75423	// Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
75424	// the architecture specified in the manifest file.
75425	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
75426
75427	// The billing product codes. Your account must be authorized to specify billing
75428	// product codes. Otherwise, you can use the AWS Marketplace to bill for the
75429	// use of an AMI.
75430	BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
75431
75432	// The block device mapping entries.
75433	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
75434
75435	// A description for your AMI.
75436	Description *string `locationName:"description" type:"string"`
75437
75438	// Checks whether you have the required permissions for the action, without
75439	// actually making the request, and provides an error response. If you have
75440	// the required permissions, the error response is DryRunOperation. Otherwise,
75441	// it is UnauthorizedOperation.
75442	DryRun *bool `locationName:"dryRun" type:"boolean"`
75443
75444	// Set to true to enable enhanced networking with ENA for the AMI and any instances
75445	// that you launch from the AMI.
75446	//
75447	// This option is supported only for HVM AMIs. Specifying this option with a
75448	// PV AMI can make instances launched from the AMI unreachable.
75449	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
75450
75451	// The full path to your AMI manifest in Amazon S3 storage.
75452	ImageLocation *string `type:"string"`
75453
75454	// The ID of the kernel.
75455	KernelId *string `locationName:"kernelId" type:"string"`
75456
75457	// A name for your AMI.
75458	//
75459	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
75460	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
75461	// at-signs (@), or underscores(_)
75462	//
75463	// Name is a required field
75464	Name *string `locationName:"name" type:"string" required:"true"`
75465
75466	// The ID of the RAM disk.
75467	RamdiskId *string `locationName:"ramdiskId" type:"string"`
75468
75469	// The device name of the root device volume (for example, /dev/sda1).
75470	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
75471
75472	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
75473	// Function interface for the AMI and any instances that you launch from the
75474	// AMI.
75475	//
75476	// There is no way to disable sriovNetSupport at this time.
75477	//
75478	// This option is supported only for HVM AMIs. Specifying this option with a
75479	// PV AMI can make instances launched from the AMI unreachable.
75480	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
75481
75482	// The type of virtualization (hvm | paravirtual).
75483	//
75484	// Default: paravirtual
75485	VirtualizationType *string `locationName:"virtualizationType" type:"string"`
75486}
75487
75488// String returns the string representation
75489func (s RegisterImageInput) String() string {
75490	return awsutil.Prettify(s)
75491}
75492
75493// GoString returns the string representation
75494func (s RegisterImageInput) GoString() string {
75495	return s.String()
75496}
75497
75498// Validate inspects the fields of the type to determine if they are valid.
75499func (s *RegisterImageInput) Validate() error {
75500	invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
75501	if s.Name == nil {
75502		invalidParams.Add(request.NewErrParamRequired("Name"))
75503	}
75504
75505	if invalidParams.Len() > 0 {
75506		return invalidParams
75507	}
75508	return nil
75509}
75510
75511// SetArchitecture sets the Architecture field's value.
75512func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
75513	s.Architecture = &v
75514	return s
75515}
75516
75517// SetBillingProducts sets the BillingProducts field's value.
75518func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
75519	s.BillingProducts = v
75520	return s
75521}
75522
75523// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
75524func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
75525	s.BlockDeviceMappings = v
75526	return s
75527}
75528
75529// SetDescription sets the Description field's value.
75530func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
75531	s.Description = &v
75532	return s
75533}
75534
75535// SetDryRun sets the DryRun field's value.
75536func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
75537	s.DryRun = &v
75538	return s
75539}
75540
75541// SetEnaSupport sets the EnaSupport field's value.
75542func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
75543	s.EnaSupport = &v
75544	return s
75545}
75546
75547// SetImageLocation sets the ImageLocation field's value.
75548func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
75549	s.ImageLocation = &v
75550	return s
75551}
75552
75553// SetKernelId sets the KernelId field's value.
75554func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
75555	s.KernelId = &v
75556	return s
75557}
75558
75559// SetName sets the Name field's value.
75560func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
75561	s.Name = &v
75562	return s
75563}
75564
75565// SetRamdiskId sets the RamdiskId field's value.
75566func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
75567	s.RamdiskId = &v
75568	return s
75569}
75570
75571// SetRootDeviceName sets the RootDeviceName field's value.
75572func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
75573	s.RootDeviceName = &v
75574	return s
75575}
75576
75577// SetSriovNetSupport sets the SriovNetSupport field's value.
75578func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
75579	s.SriovNetSupport = &v
75580	return s
75581}
75582
75583// SetVirtualizationType sets the VirtualizationType field's value.
75584func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
75585	s.VirtualizationType = &v
75586	return s
75587}
75588
75589// Contains the output of RegisterImage.
75590type RegisterImageOutput struct {
75591	_ struct{} `type:"structure"`
75592
75593	// The ID of the newly registered AMI.
75594	ImageId *string `locationName:"imageId" type:"string"`
75595}
75596
75597// String returns the string representation
75598func (s RegisterImageOutput) String() string {
75599	return awsutil.Prettify(s)
75600}
75601
75602// GoString returns the string representation
75603func (s RegisterImageOutput) GoString() string {
75604	return s.String()
75605}
75606
75607// SetImageId sets the ImageId field's value.
75608func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
75609	s.ImageId = &v
75610	return s
75611}
75612
75613type RejectTransitGatewayVpcAttachmentInput struct {
75614	_ struct{} `type:"structure"`
75615
75616	// Checks whether you have the required permissions for the action, without
75617	// actually making the request, and provides an error response. If you have
75618	// the required permissions, the error response is DryRunOperation. Otherwise,
75619	// it is UnauthorizedOperation.
75620	DryRun *bool `type:"boolean"`
75621
75622	// The ID of the attachment.
75623	//
75624	// TransitGatewayAttachmentId is a required field
75625	TransitGatewayAttachmentId *string `type:"string" required:"true"`
75626}
75627
75628// String returns the string representation
75629func (s RejectTransitGatewayVpcAttachmentInput) String() string {
75630	return awsutil.Prettify(s)
75631}
75632
75633// GoString returns the string representation
75634func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
75635	return s.String()
75636}
75637
75638// Validate inspects the fields of the type to determine if they are valid.
75639func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
75640	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
75641	if s.TransitGatewayAttachmentId == nil {
75642		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
75643	}
75644
75645	if invalidParams.Len() > 0 {
75646		return invalidParams
75647	}
75648	return nil
75649}
75650
75651// SetDryRun sets the DryRun field's value.
75652func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
75653	s.DryRun = &v
75654	return s
75655}
75656
75657// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
75658func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
75659	s.TransitGatewayAttachmentId = &v
75660	return s
75661}
75662
75663type RejectTransitGatewayVpcAttachmentOutput struct {
75664	_ struct{} `type:"structure"`
75665
75666	// Information about the attachment.
75667	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
75668}
75669
75670// String returns the string representation
75671func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
75672	return awsutil.Prettify(s)
75673}
75674
75675// GoString returns the string representation
75676func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
75677	return s.String()
75678}
75679
75680// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
75681func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
75682	s.TransitGatewayVpcAttachment = v
75683	return s
75684}
75685
75686type RejectVpcEndpointConnectionsInput struct {
75687	_ struct{} `type:"structure"`
75688
75689	// Checks whether you have the required permissions for the action, without
75690	// actually making the request, and provides an error response. If you have
75691	// the required permissions, the error response is DryRunOperation. Otherwise,
75692	// it is UnauthorizedOperation.
75693	DryRun *bool `type:"boolean"`
75694
75695	// The ID of the service.
75696	//
75697	// ServiceId is a required field
75698	ServiceId *string `type:"string" required:"true"`
75699
75700	// The IDs of one or more VPC endpoints.
75701	//
75702	// VpcEndpointIds is a required field
75703	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
75704}
75705
75706// String returns the string representation
75707func (s RejectVpcEndpointConnectionsInput) String() string {
75708	return awsutil.Prettify(s)
75709}
75710
75711// GoString returns the string representation
75712func (s RejectVpcEndpointConnectionsInput) GoString() string {
75713	return s.String()
75714}
75715
75716// Validate inspects the fields of the type to determine if they are valid.
75717func (s *RejectVpcEndpointConnectionsInput) Validate() error {
75718	invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
75719	if s.ServiceId == nil {
75720		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
75721	}
75722	if s.VpcEndpointIds == nil {
75723		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
75724	}
75725
75726	if invalidParams.Len() > 0 {
75727		return invalidParams
75728	}
75729	return nil
75730}
75731
75732// SetDryRun sets the DryRun field's value.
75733func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
75734	s.DryRun = &v
75735	return s
75736}
75737
75738// SetServiceId sets the ServiceId field's value.
75739func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
75740	s.ServiceId = &v
75741	return s
75742}
75743
75744// SetVpcEndpointIds sets the VpcEndpointIds field's value.
75745func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
75746	s.VpcEndpointIds = v
75747	return s
75748}
75749
75750type RejectVpcEndpointConnectionsOutput struct {
75751	_ struct{} `type:"structure"`
75752
75753	// Information about the endpoints that were not rejected, if applicable.
75754	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
75755}
75756
75757// String returns the string representation
75758func (s RejectVpcEndpointConnectionsOutput) String() string {
75759	return awsutil.Prettify(s)
75760}
75761
75762// GoString returns the string representation
75763func (s RejectVpcEndpointConnectionsOutput) GoString() string {
75764	return s.String()
75765}
75766
75767// SetUnsuccessful sets the Unsuccessful field's value.
75768func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
75769	s.Unsuccessful = v
75770	return s
75771}
75772
75773type RejectVpcPeeringConnectionInput struct {
75774	_ struct{} `type:"structure"`
75775
75776	// Checks whether you have the required permissions for the action, without
75777	// actually making the request, and provides an error response. If you have
75778	// the required permissions, the error response is DryRunOperation. Otherwise,
75779	// it is UnauthorizedOperation.
75780	DryRun *bool `locationName:"dryRun" type:"boolean"`
75781
75782	// The ID of the VPC peering connection.
75783	//
75784	// VpcPeeringConnectionId is a required field
75785	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
75786}
75787
75788// String returns the string representation
75789func (s RejectVpcPeeringConnectionInput) String() string {
75790	return awsutil.Prettify(s)
75791}
75792
75793// GoString returns the string representation
75794func (s RejectVpcPeeringConnectionInput) GoString() string {
75795	return s.String()
75796}
75797
75798// Validate inspects the fields of the type to determine if they are valid.
75799func (s *RejectVpcPeeringConnectionInput) Validate() error {
75800	invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
75801	if s.VpcPeeringConnectionId == nil {
75802		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
75803	}
75804
75805	if invalidParams.Len() > 0 {
75806		return invalidParams
75807	}
75808	return nil
75809}
75810
75811// SetDryRun sets the DryRun field's value.
75812func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
75813	s.DryRun = &v
75814	return s
75815}
75816
75817// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
75818func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
75819	s.VpcPeeringConnectionId = &v
75820	return s
75821}
75822
75823type RejectVpcPeeringConnectionOutput struct {
75824	_ struct{} `type:"structure"`
75825
75826	// Returns true if the request succeeds; otherwise, it returns an error.
75827	Return *bool `locationName:"return" type:"boolean"`
75828}
75829
75830// String returns the string representation
75831func (s RejectVpcPeeringConnectionOutput) String() string {
75832	return awsutil.Prettify(s)
75833}
75834
75835// GoString returns the string representation
75836func (s RejectVpcPeeringConnectionOutput) GoString() string {
75837	return s.String()
75838}
75839
75840// SetReturn sets the Return field's value.
75841func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
75842	s.Return = &v
75843	return s
75844}
75845
75846type ReleaseAddressInput struct {
75847	_ struct{} `type:"structure"`
75848
75849	// [EC2-VPC] The allocation ID. Required for EC2-VPC.
75850	AllocationId *string `type:"string"`
75851
75852	// Checks whether you have the required permissions for the action, without
75853	// actually making the request, and provides an error response. If you have
75854	// the required permissions, the error response is DryRunOperation. Otherwise,
75855	// it is UnauthorizedOperation.
75856	DryRun *bool `locationName:"dryRun" type:"boolean"`
75857
75858	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
75859	PublicIp *string `type:"string"`
75860}
75861
75862// String returns the string representation
75863func (s ReleaseAddressInput) String() string {
75864	return awsutil.Prettify(s)
75865}
75866
75867// GoString returns the string representation
75868func (s ReleaseAddressInput) GoString() string {
75869	return s.String()
75870}
75871
75872// SetAllocationId sets the AllocationId field's value.
75873func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
75874	s.AllocationId = &v
75875	return s
75876}
75877
75878// SetDryRun sets the DryRun field's value.
75879func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
75880	s.DryRun = &v
75881	return s
75882}
75883
75884// SetPublicIp sets the PublicIp field's value.
75885func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
75886	s.PublicIp = &v
75887	return s
75888}
75889
75890type ReleaseAddressOutput struct {
75891	_ struct{} `type:"structure"`
75892}
75893
75894// String returns the string representation
75895func (s ReleaseAddressOutput) String() string {
75896	return awsutil.Prettify(s)
75897}
75898
75899// GoString returns the string representation
75900func (s ReleaseAddressOutput) GoString() string {
75901	return s.String()
75902}
75903
75904type ReleaseHostsInput struct {
75905	_ struct{} `type:"structure"`
75906
75907	// The IDs of the Dedicated Hosts to release.
75908	//
75909	// HostIds is a required field
75910	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
75911}
75912
75913// String returns the string representation
75914func (s ReleaseHostsInput) String() string {
75915	return awsutil.Prettify(s)
75916}
75917
75918// GoString returns the string representation
75919func (s ReleaseHostsInput) GoString() string {
75920	return s.String()
75921}
75922
75923// Validate inspects the fields of the type to determine if they are valid.
75924func (s *ReleaseHostsInput) Validate() error {
75925	invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
75926	if s.HostIds == nil {
75927		invalidParams.Add(request.NewErrParamRequired("HostIds"))
75928	}
75929
75930	if invalidParams.Len() > 0 {
75931		return invalidParams
75932	}
75933	return nil
75934}
75935
75936// SetHostIds sets the HostIds field's value.
75937func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
75938	s.HostIds = v
75939	return s
75940}
75941
75942type ReleaseHostsOutput struct {
75943	_ struct{} `type:"structure"`
75944
75945	// The IDs of the Dedicated Hosts that were successfully released.
75946	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
75947
75948	// The IDs of the Dedicated Hosts that could not be released, including an error
75949	// message.
75950	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
75951}
75952
75953// String returns the string representation
75954func (s ReleaseHostsOutput) String() string {
75955	return awsutil.Prettify(s)
75956}
75957
75958// GoString returns the string representation
75959func (s ReleaseHostsOutput) GoString() string {
75960	return s.String()
75961}
75962
75963// SetSuccessful sets the Successful field's value.
75964func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
75965	s.Successful = v
75966	return s
75967}
75968
75969// SetUnsuccessful sets the Unsuccessful field's value.
75970func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
75971	s.Unsuccessful = v
75972	return s
75973}
75974
75975type ReplaceIamInstanceProfileAssociationInput struct {
75976	_ struct{} `type:"structure"`
75977
75978	// The ID of the existing IAM instance profile association.
75979	//
75980	// AssociationId is a required field
75981	AssociationId *string `type:"string" required:"true"`
75982
75983	// The IAM instance profile.
75984	//
75985	// IamInstanceProfile is a required field
75986	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
75987}
75988
75989// String returns the string representation
75990func (s ReplaceIamInstanceProfileAssociationInput) String() string {
75991	return awsutil.Prettify(s)
75992}
75993
75994// GoString returns the string representation
75995func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
75996	return s.String()
75997}
75998
75999// Validate inspects the fields of the type to determine if they are valid.
76000func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
76001	invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
76002	if s.AssociationId == nil {
76003		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
76004	}
76005	if s.IamInstanceProfile == nil {
76006		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
76007	}
76008
76009	if invalidParams.Len() > 0 {
76010		return invalidParams
76011	}
76012	return nil
76013}
76014
76015// SetAssociationId sets the AssociationId field's value.
76016func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
76017	s.AssociationId = &v
76018	return s
76019}
76020
76021// SetIamInstanceProfile sets the IamInstanceProfile field's value.
76022func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
76023	s.IamInstanceProfile = v
76024	return s
76025}
76026
76027type ReplaceIamInstanceProfileAssociationOutput struct {
76028	_ struct{} `type:"structure"`
76029
76030	// Information about the IAM instance profile association.
76031	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
76032}
76033
76034// String returns the string representation
76035func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
76036	return awsutil.Prettify(s)
76037}
76038
76039// GoString returns the string representation
76040func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
76041	return s.String()
76042}
76043
76044// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
76045func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
76046	s.IamInstanceProfileAssociation = v
76047	return s
76048}
76049
76050type ReplaceNetworkAclAssociationInput struct {
76051	_ struct{} `type:"structure"`
76052
76053	// The ID of the current association between the original network ACL and the
76054	// subnet.
76055	//
76056	// AssociationId is a required field
76057	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
76058
76059	// Checks whether you have the required permissions for the action, without
76060	// actually making the request, and provides an error response. If you have
76061	// the required permissions, the error response is DryRunOperation. Otherwise,
76062	// it is UnauthorizedOperation.
76063	DryRun *bool `locationName:"dryRun" type:"boolean"`
76064
76065	// The ID of the new network ACL to associate with the subnet.
76066	//
76067	// NetworkAclId is a required field
76068	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
76069}
76070
76071// String returns the string representation
76072func (s ReplaceNetworkAclAssociationInput) String() string {
76073	return awsutil.Prettify(s)
76074}
76075
76076// GoString returns the string representation
76077func (s ReplaceNetworkAclAssociationInput) GoString() string {
76078	return s.String()
76079}
76080
76081// Validate inspects the fields of the type to determine if they are valid.
76082func (s *ReplaceNetworkAclAssociationInput) Validate() error {
76083	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
76084	if s.AssociationId == nil {
76085		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
76086	}
76087	if s.NetworkAclId == nil {
76088		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
76089	}
76090
76091	if invalidParams.Len() > 0 {
76092		return invalidParams
76093	}
76094	return nil
76095}
76096
76097// SetAssociationId sets the AssociationId field's value.
76098func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
76099	s.AssociationId = &v
76100	return s
76101}
76102
76103// SetDryRun sets the DryRun field's value.
76104func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
76105	s.DryRun = &v
76106	return s
76107}
76108
76109// SetNetworkAclId sets the NetworkAclId field's value.
76110func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
76111	s.NetworkAclId = &v
76112	return s
76113}
76114
76115type ReplaceNetworkAclAssociationOutput struct {
76116	_ struct{} `type:"structure"`
76117
76118	// The ID of the new association.
76119	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
76120}
76121
76122// String returns the string representation
76123func (s ReplaceNetworkAclAssociationOutput) String() string {
76124	return awsutil.Prettify(s)
76125}
76126
76127// GoString returns the string representation
76128func (s ReplaceNetworkAclAssociationOutput) GoString() string {
76129	return s.String()
76130}
76131
76132// SetNewAssociationId sets the NewAssociationId field's value.
76133func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
76134	s.NewAssociationId = &v
76135	return s
76136}
76137
76138type ReplaceNetworkAclEntryInput struct {
76139	_ struct{} `type:"structure"`
76140
76141	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
76142	CidrBlock *string `locationName:"cidrBlock" type:"string"`
76143
76144	// Checks whether you have the required permissions for the action, without
76145	// actually making the request, and provides an error response. If you have
76146	// the required permissions, the error response is DryRunOperation. Otherwise,
76147	// it is UnauthorizedOperation.
76148	DryRun *bool `locationName:"dryRun" type:"boolean"`
76149
76150	// Indicates whether to replace the egress rule.
76151	//
76152	// Default: If no value is specified, we replace the ingress rule.
76153	//
76154	// Egress is a required field
76155	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
76156
76157	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
76158	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
76159	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
76160
76161	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
76162	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
76163
76164	// The ID of the ACL.
76165	//
76166	// NetworkAclId is a required field
76167	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
76168
76169	// TCP or UDP protocols: The range of ports the rule applies to. Required if
76170	// specifying protocol 6 (TCP) or 17 (UDP).
76171	PortRange *PortRange `locationName:"portRange" type:"structure"`
76172
76173	// The protocol number. A value of "-1" means all protocols. If you specify
76174	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
76175	// traffic on all ports is allowed, regardless of any ports or ICMP types or
76176	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
76177	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
76178	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
76179	// an IPv6 CIDR block, you must specify an ICMP type and code.
76180	//
76181	// Protocol is a required field
76182	Protocol *string `locationName:"protocol" type:"string" required:"true"`
76183
76184	// Indicates whether to allow or deny the traffic that matches the rule.
76185	//
76186	// RuleAction is a required field
76187	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
76188
76189	// The rule number of the entry to replace.
76190	//
76191	// RuleNumber is a required field
76192	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
76193}
76194
76195// String returns the string representation
76196func (s ReplaceNetworkAclEntryInput) String() string {
76197	return awsutil.Prettify(s)
76198}
76199
76200// GoString returns the string representation
76201func (s ReplaceNetworkAclEntryInput) GoString() string {
76202	return s.String()
76203}
76204
76205// Validate inspects the fields of the type to determine if they are valid.
76206func (s *ReplaceNetworkAclEntryInput) Validate() error {
76207	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
76208	if s.Egress == nil {
76209		invalidParams.Add(request.NewErrParamRequired("Egress"))
76210	}
76211	if s.NetworkAclId == nil {
76212		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
76213	}
76214	if s.Protocol == nil {
76215		invalidParams.Add(request.NewErrParamRequired("Protocol"))
76216	}
76217	if s.RuleAction == nil {
76218		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
76219	}
76220	if s.RuleNumber == nil {
76221		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
76222	}
76223
76224	if invalidParams.Len() > 0 {
76225		return invalidParams
76226	}
76227	return nil
76228}
76229
76230// SetCidrBlock sets the CidrBlock field's value.
76231func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
76232	s.CidrBlock = &v
76233	return s
76234}
76235
76236// SetDryRun sets the DryRun field's value.
76237func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
76238	s.DryRun = &v
76239	return s
76240}
76241
76242// SetEgress sets the Egress field's value.
76243func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
76244	s.Egress = &v
76245	return s
76246}
76247
76248// SetIcmpTypeCode sets the IcmpTypeCode field's value.
76249func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
76250	s.IcmpTypeCode = v
76251	return s
76252}
76253
76254// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
76255func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
76256	s.Ipv6CidrBlock = &v
76257	return s
76258}
76259
76260// SetNetworkAclId sets the NetworkAclId field's value.
76261func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
76262	s.NetworkAclId = &v
76263	return s
76264}
76265
76266// SetPortRange sets the PortRange field's value.
76267func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
76268	s.PortRange = v
76269	return s
76270}
76271
76272// SetProtocol sets the Protocol field's value.
76273func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
76274	s.Protocol = &v
76275	return s
76276}
76277
76278// SetRuleAction sets the RuleAction field's value.
76279func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
76280	s.RuleAction = &v
76281	return s
76282}
76283
76284// SetRuleNumber sets the RuleNumber field's value.
76285func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
76286	s.RuleNumber = &v
76287	return s
76288}
76289
76290type ReplaceNetworkAclEntryOutput struct {
76291	_ struct{} `type:"structure"`
76292}
76293
76294// String returns the string representation
76295func (s ReplaceNetworkAclEntryOutput) String() string {
76296	return awsutil.Prettify(s)
76297}
76298
76299// GoString returns the string representation
76300func (s ReplaceNetworkAclEntryOutput) GoString() string {
76301	return s.String()
76302}
76303
76304type ReplaceRouteInput struct {
76305	_ struct{} `type:"structure"`
76306
76307	// The IPv4 CIDR address block used for the destination match. The value that
76308	// you provide must match the CIDR of an existing route in the table.
76309	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
76310
76311	// The IPv6 CIDR address block used for the destination match. The value that
76312	// you provide must match the CIDR of an existing route in the table.
76313	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
76314
76315	// Checks whether you have the required permissions for the action, without
76316	// actually making the request, and provides an error response. If you have
76317	// the required permissions, the error response is DryRunOperation. Otherwise,
76318	// it is UnauthorizedOperation.
76319	DryRun *bool `locationName:"dryRun" type:"boolean"`
76320
76321	// [IPv6 traffic only] The ID of an egress-only internet gateway.
76322	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
76323
76324	// The ID of an internet gateway or virtual private gateway.
76325	GatewayId *string `locationName:"gatewayId" type:"string"`
76326
76327	// The ID of a NAT instance in your VPC.
76328	InstanceId *string `locationName:"instanceId" type:"string"`
76329
76330	// [IPv4 traffic only] The ID of a NAT gateway.
76331	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
76332
76333	// The ID of a network interface.
76334	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
76335
76336	// The ID of the route table.
76337	//
76338	// RouteTableId is a required field
76339	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
76340
76341	// The ID of a transit gateway.
76342	TransitGatewayId *string `type:"string"`
76343
76344	// The ID of a VPC peering connection.
76345	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
76346}
76347
76348// String returns the string representation
76349func (s ReplaceRouteInput) String() string {
76350	return awsutil.Prettify(s)
76351}
76352
76353// GoString returns the string representation
76354func (s ReplaceRouteInput) GoString() string {
76355	return s.String()
76356}
76357
76358// Validate inspects the fields of the type to determine if they are valid.
76359func (s *ReplaceRouteInput) Validate() error {
76360	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
76361	if s.RouteTableId == nil {
76362		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
76363	}
76364
76365	if invalidParams.Len() > 0 {
76366		return invalidParams
76367	}
76368	return nil
76369}
76370
76371// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
76372func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
76373	s.DestinationCidrBlock = &v
76374	return s
76375}
76376
76377// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
76378func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
76379	s.DestinationIpv6CidrBlock = &v
76380	return s
76381}
76382
76383// SetDryRun sets the DryRun field's value.
76384func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
76385	s.DryRun = &v
76386	return s
76387}
76388
76389// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
76390func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
76391	s.EgressOnlyInternetGatewayId = &v
76392	return s
76393}
76394
76395// SetGatewayId sets the GatewayId field's value.
76396func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
76397	s.GatewayId = &v
76398	return s
76399}
76400
76401// SetInstanceId sets the InstanceId field's value.
76402func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
76403	s.InstanceId = &v
76404	return s
76405}
76406
76407// SetNatGatewayId sets the NatGatewayId field's value.
76408func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
76409	s.NatGatewayId = &v
76410	return s
76411}
76412
76413// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
76414func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
76415	s.NetworkInterfaceId = &v
76416	return s
76417}
76418
76419// SetRouteTableId sets the RouteTableId field's value.
76420func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
76421	s.RouteTableId = &v
76422	return s
76423}
76424
76425// SetTransitGatewayId sets the TransitGatewayId field's value.
76426func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
76427	s.TransitGatewayId = &v
76428	return s
76429}
76430
76431// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
76432func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
76433	s.VpcPeeringConnectionId = &v
76434	return s
76435}
76436
76437type ReplaceRouteOutput struct {
76438	_ struct{} `type:"structure"`
76439}
76440
76441// String returns the string representation
76442func (s ReplaceRouteOutput) String() string {
76443	return awsutil.Prettify(s)
76444}
76445
76446// GoString returns the string representation
76447func (s ReplaceRouteOutput) GoString() string {
76448	return s.String()
76449}
76450
76451type ReplaceRouteTableAssociationInput struct {
76452	_ struct{} `type:"structure"`
76453
76454	// The association ID.
76455	//
76456	// AssociationId is a required field
76457	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
76458
76459	// Checks whether you have the required permissions for the action, without
76460	// actually making the request, and provides an error response. If you have
76461	// the required permissions, the error response is DryRunOperation. Otherwise,
76462	// it is UnauthorizedOperation.
76463	DryRun *bool `locationName:"dryRun" type:"boolean"`
76464
76465	// The ID of the new route table to associate with the subnet.
76466	//
76467	// RouteTableId is a required field
76468	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
76469}
76470
76471// String returns the string representation
76472func (s ReplaceRouteTableAssociationInput) String() string {
76473	return awsutil.Prettify(s)
76474}
76475
76476// GoString returns the string representation
76477func (s ReplaceRouteTableAssociationInput) GoString() string {
76478	return s.String()
76479}
76480
76481// Validate inspects the fields of the type to determine if they are valid.
76482func (s *ReplaceRouteTableAssociationInput) Validate() error {
76483	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
76484	if s.AssociationId == nil {
76485		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
76486	}
76487	if s.RouteTableId == nil {
76488		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
76489	}
76490
76491	if invalidParams.Len() > 0 {
76492		return invalidParams
76493	}
76494	return nil
76495}
76496
76497// SetAssociationId sets the AssociationId field's value.
76498func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
76499	s.AssociationId = &v
76500	return s
76501}
76502
76503// SetDryRun sets the DryRun field's value.
76504func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
76505	s.DryRun = &v
76506	return s
76507}
76508
76509// SetRouteTableId sets the RouteTableId field's value.
76510func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
76511	s.RouteTableId = &v
76512	return s
76513}
76514
76515type ReplaceRouteTableAssociationOutput struct {
76516	_ struct{} `type:"structure"`
76517
76518	// The ID of the new association.
76519	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
76520}
76521
76522// String returns the string representation
76523func (s ReplaceRouteTableAssociationOutput) String() string {
76524	return awsutil.Prettify(s)
76525}
76526
76527// GoString returns the string representation
76528func (s ReplaceRouteTableAssociationOutput) GoString() string {
76529	return s.String()
76530}
76531
76532// SetNewAssociationId sets the NewAssociationId field's value.
76533func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
76534	s.NewAssociationId = &v
76535	return s
76536}
76537
76538type ReplaceTransitGatewayRouteInput struct {
76539	_ struct{} `type:"structure"`
76540
76541	// Indicates whether traffic matching this route is to be dropped.
76542	Blackhole *bool `type:"boolean"`
76543
76544	// The CIDR range used for the destination match. Routing decisions are based
76545	// on the most specific match.
76546	//
76547	// DestinationCidrBlock is a required field
76548	DestinationCidrBlock *string `type:"string" required:"true"`
76549
76550	// Checks whether you have the required permissions for the action, without
76551	// actually making the request, and provides an error response. If you have
76552	// the required permissions, the error response is DryRunOperation. Otherwise,
76553	// it is UnauthorizedOperation.
76554	DryRun *bool `type:"boolean"`
76555
76556	// The ID of the attachment.
76557	TransitGatewayAttachmentId *string `type:"string"`
76558
76559	// The ID of the route table.
76560	//
76561	// TransitGatewayRouteTableId is a required field
76562	TransitGatewayRouteTableId *string `type:"string" required:"true"`
76563}
76564
76565// String returns the string representation
76566func (s ReplaceTransitGatewayRouteInput) String() string {
76567	return awsutil.Prettify(s)
76568}
76569
76570// GoString returns the string representation
76571func (s ReplaceTransitGatewayRouteInput) GoString() string {
76572	return s.String()
76573}
76574
76575// Validate inspects the fields of the type to determine if they are valid.
76576func (s *ReplaceTransitGatewayRouteInput) Validate() error {
76577	invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
76578	if s.DestinationCidrBlock == nil {
76579		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
76580	}
76581	if s.TransitGatewayRouteTableId == nil {
76582		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
76583	}
76584
76585	if invalidParams.Len() > 0 {
76586		return invalidParams
76587	}
76588	return nil
76589}
76590
76591// SetBlackhole sets the Blackhole field's value.
76592func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
76593	s.Blackhole = &v
76594	return s
76595}
76596
76597// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
76598func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
76599	s.DestinationCidrBlock = &v
76600	return s
76601}
76602
76603// SetDryRun sets the DryRun field's value.
76604func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
76605	s.DryRun = &v
76606	return s
76607}
76608
76609// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
76610func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
76611	s.TransitGatewayAttachmentId = &v
76612	return s
76613}
76614
76615// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
76616func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
76617	s.TransitGatewayRouteTableId = &v
76618	return s
76619}
76620
76621type ReplaceTransitGatewayRouteOutput struct {
76622	_ struct{} `type:"structure"`
76623
76624	// Information about the modified route.
76625	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
76626}
76627
76628// String returns the string representation
76629func (s ReplaceTransitGatewayRouteOutput) String() string {
76630	return awsutil.Prettify(s)
76631}
76632
76633// GoString returns the string representation
76634func (s ReplaceTransitGatewayRouteOutput) GoString() string {
76635	return s.String()
76636}
76637
76638// SetRoute sets the Route field's value.
76639func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
76640	s.Route = v
76641	return s
76642}
76643
76644type ReportInstanceStatusInput struct {
76645	_ struct{} `type:"structure"`
76646
76647	// Descriptive text about the health state of your instance.
76648	Description *string `locationName:"description" type:"string"`
76649
76650	// Checks whether you have the required permissions for the action, without
76651	// actually making the request, and provides an error response. If you have
76652	// the required permissions, the error response is DryRunOperation. Otherwise,
76653	// it is UnauthorizedOperation.
76654	DryRun *bool `locationName:"dryRun" type:"boolean"`
76655
76656	// The time at which the reported instance health state ended.
76657	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
76658
76659	// The instances.
76660	//
76661	// Instances is a required field
76662	Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
76663
76664	// The reason codes that describe the health state of your instance.
76665	//
76666	//    * instance-stuck-in-state: My instance is stuck in a state.
76667	//
76668	//    * unresponsive: My instance is unresponsive.
76669	//
76670	//    * not-accepting-credentials: My instance is not accepting my credentials.
76671	//
76672	//    * password-not-available: A password is not available for my instance.
76673	//
76674	//    * performance-network: My instance is experiencing performance problems
76675	//    that I believe are network related.
76676	//
76677	//    * performance-instance-store: My instance is experiencing performance
76678	//    problems that I believe are related to the instance stores.
76679	//
76680	//    * performance-ebs-volume: My instance is experiencing performance problems
76681	//    that I believe are related to an EBS volume.
76682	//
76683	//    * performance-other: My instance is experiencing performance problems.
76684	//
76685	//    * other: [explain using the description parameter]
76686	//
76687	// ReasonCodes is a required field
76688	ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
76689
76690	// The time at which the reported instance health state began.
76691	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
76692
76693	// The status of all instances listed.
76694	//
76695	// Status is a required field
76696	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
76697}
76698
76699// String returns the string representation
76700func (s ReportInstanceStatusInput) String() string {
76701	return awsutil.Prettify(s)
76702}
76703
76704// GoString returns the string representation
76705func (s ReportInstanceStatusInput) GoString() string {
76706	return s.String()
76707}
76708
76709// Validate inspects the fields of the type to determine if they are valid.
76710func (s *ReportInstanceStatusInput) Validate() error {
76711	invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
76712	if s.Instances == nil {
76713		invalidParams.Add(request.NewErrParamRequired("Instances"))
76714	}
76715	if s.ReasonCodes == nil {
76716		invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
76717	}
76718	if s.Status == nil {
76719		invalidParams.Add(request.NewErrParamRequired("Status"))
76720	}
76721
76722	if invalidParams.Len() > 0 {
76723		return invalidParams
76724	}
76725	return nil
76726}
76727
76728// SetDescription sets the Description field's value.
76729func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
76730	s.Description = &v
76731	return s
76732}
76733
76734// SetDryRun sets the DryRun field's value.
76735func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
76736	s.DryRun = &v
76737	return s
76738}
76739
76740// SetEndTime sets the EndTime field's value.
76741func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
76742	s.EndTime = &v
76743	return s
76744}
76745
76746// SetInstances sets the Instances field's value.
76747func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
76748	s.Instances = v
76749	return s
76750}
76751
76752// SetReasonCodes sets the ReasonCodes field's value.
76753func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
76754	s.ReasonCodes = v
76755	return s
76756}
76757
76758// SetStartTime sets the StartTime field's value.
76759func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
76760	s.StartTime = &v
76761	return s
76762}
76763
76764// SetStatus sets the Status field's value.
76765func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
76766	s.Status = &v
76767	return s
76768}
76769
76770type ReportInstanceStatusOutput struct {
76771	_ struct{} `type:"structure"`
76772}
76773
76774// String returns the string representation
76775func (s ReportInstanceStatusOutput) String() string {
76776	return awsutil.Prettify(s)
76777}
76778
76779// GoString returns the string representation
76780func (s ReportInstanceStatusOutput) GoString() string {
76781	return s.String()
76782}
76783
76784// The information to include in the launch template.
76785type RequestLaunchTemplateData struct {
76786	_ struct{} `type:"structure"`
76787
76788	// The block device mapping.
76789	//
76790	// Supplying both a snapshot ID and an encryption value as arguments for block-device
76791	// mapping results in an error. This is because only blank volumes can be encrypted
76792	// on start, and these are not created from a snapshot. If a snapshot is the
76793	// basis for the volume, it contains data by definition and its encryption status
76794	// cannot be changed using this action.
76795	BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
76796
76797	// The Capacity Reservation targeting option. If you do not specify this parameter,
76798	// the instance's Capacity Reservation preference defaults to open, which enables
76799	// it to run in any open Capacity Reservation that has matching attributes (instance
76800	// type, platform, Availability Zone).
76801	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
76802
76803	// The CPU options for the instance. For more information, see Optimizing CPU
76804	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
76805	// in the Amazon Elastic Compute Cloud User Guide.
76806	CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
76807
76808	// The credit option for CPU usage of the instance. Valid for T2 or T3 instances
76809	// only.
76810	CreditSpecification *CreditSpecificationRequest `type:"structure"`
76811
76812	// If you set this parameter to true, you can't terminate the instance using
76813	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
76814	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
76815	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
76816	// you can terminate the instance by running the shutdown command from the instance.
76817	DisableApiTermination *bool `type:"boolean"`
76818
76819	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
76820	// provides dedicated throughput to Amazon EBS and an optimized configuration
76821	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
76822	// available with all instance types. Additional usage charges apply when using
76823	// an EBS-optimized instance.
76824	EbsOptimized *bool `type:"boolean"`
76825
76826	// An elastic GPU to associate with the instance.
76827	ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
76828
76829	// The elastic inference accelerator for the instance.
76830	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
76831
76832	// Indicates whether an instance is enabled for hibernation. This parameter
76833	// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
76834	// Hibernation is currently supported only for Amazon Linux. For more information,
76835	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
76836	// in the Amazon Elastic Compute Cloud User Guide.
76837	HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
76838
76839	// The IAM instance profile.
76840	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
76841
76842	// The ID of the AMI.
76843	ImageId *string `type:"string"`
76844
76845	// Indicates whether an instance stops or terminates when you initiate shutdown
76846	// from the instance (using the operating system command for system shutdown).
76847	//
76848	// Default: stop
76849	InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
76850
76851	// The market (purchasing) option for the instances.
76852	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
76853
76854	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
76855	// in the Amazon Elastic Compute Cloud User Guide.
76856	InstanceType *string `type:"string" enum:"InstanceType"`
76857
76858	// The ID of the kernel.
76859	//
76860	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
76861	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
76862	// in the Amazon Elastic Compute Cloud User Guide.
76863	KernelId *string `type:"string"`
76864
76865	// The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html)
76866	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
76867	//
76868	// If you do not specify a key pair, you can't connect to the instance unless
76869	// you choose an AMI that is configured to allow users another way to log in.
76870	KeyName *string `type:"string"`
76871
76872	// The license configurations.
76873	LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
76874
76875	// The monitoring for the instance.
76876	Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
76877
76878	// One or more network interfaces. If you specify a network interface, you must
76879	// specify any security groups as part of the network interface.
76880	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
76881
76882	// The placement for the instance.
76883	Placement *LaunchTemplatePlacementRequest `type:"structure"`
76884
76885	// The ID of the RAM disk.
76886	//
76887	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
76888	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
76889	// in the Amazon Elastic Compute Cloud User Guide.
76890	RamDiskId *string `type:"string"`
76891
76892	// One or more security group IDs. You can create a security group using CreateSecurityGroup
76893	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
76894	// You cannot specify both a security group ID and security name in the same
76895	// request.
76896	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
76897
76898	// [EC2-Classic, default VPC] One or more security group names. For a nondefault
76899	// VPC, you must use security group IDs instead. You cannot specify both a security
76900	// group ID and security name in the same request.
76901	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
76902
76903	// The tags to apply to the resources during launch. You can only tag instances
76904	// and volumes on launch. The specified tags are applied to all instances or
76905	// volumes that are created during launch. To tag a resource after it has been
76906	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
76907	TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
76908
76909	// The Base64-encoded user data to make available to the instance. For more
76910	// information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
76911	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
76912	// (Windows).
76913	UserData *string `type:"string"`
76914}
76915
76916// String returns the string representation
76917func (s RequestLaunchTemplateData) String() string {
76918	return awsutil.Prettify(s)
76919}
76920
76921// GoString returns the string representation
76922func (s RequestLaunchTemplateData) GoString() string {
76923	return s.String()
76924}
76925
76926// Validate inspects the fields of the type to determine if they are valid.
76927func (s *RequestLaunchTemplateData) Validate() error {
76928	invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
76929	if s.CreditSpecification != nil {
76930		if err := s.CreditSpecification.Validate(); err != nil {
76931			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
76932		}
76933	}
76934	if s.ElasticGpuSpecifications != nil {
76935		for i, v := range s.ElasticGpuSpecifications {
76936			if v == nil {
76937				continue
76938			}
76939			if err := v.Validate(); err != nil {
76940				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
76941			}
76942		}
76943	}
76944	if s.ElasticInferenceAccelerators != nil {
76945		for i, v := range s.ElasticInferenceAccelerators {
76946			if v == nil {
76947				continue
76948			}
76949			if err := v.Validate(); err != nil {
76950				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
76951			}
76952		}
76953	}
76954
76955	if invalidParams.Len() > 0 {
76956		return invalidParams
76957	}
76958	return nil
76959}
76960
76961// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
76962func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
76963	s.BlockDeviceMappings = v
76964	return s
76965}
76966
76967// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
76968func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
76969	s.CapacityReservationSpecification = v
76970	return s
76971}
76972
76973// SetCpuOptions sets the CpuOptions field's value.
76974func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
76975	s.CpuOptions = v
76976	return s
76977}
76978
76979// SetCreditSpecification sets the CreditSpecification field's value.
76980func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
76981	s.CreditSpecification = v
76982	return s
76983}
76984
76985// SetDisableApiTermination sets the DisableApiTermination field's value.
76986func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
76987	s.DisableApiTermination = &v
76988	return s
76989}
76990
76991// SetEbsOptimized sets the EbsOptimized field's value.
76992func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
76993	s.EbsOptimized = &v
76994	return s
76995}
76996
76997// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
76998func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
76999	s.ElasticGpuSpecifications = v
77000	return s
77001}
77002
77003// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
77004func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
77005	s.ElasticInferenceAccelerators = v
77006	return s
77007}
77008
77009// SetHibernationOptions sets the HibernationOptions field's value.
77010func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
77011	s.HibernationOptions = v
77012	return s
77013}
77014
77015// SetIamInstanceProfile sets the IamInstanceProfile field's value.
77016func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
77017	s.IamInstanceProfile = v
77018	return s
77019}
77020
77021// SetImageId sets the ImageId field's value.
77022func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
77023	s.ImageId = &v
77024	return s
77025}
77026
77027// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
77028func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
77029	s.InstanceInitiatedShutdownBehavior = &v
77030	return s
77031}
77032
77033// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
77034func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
77035	s.InstanceMarketOptions = v
77036	return s
77037}
77038
77039// SetInstanceType sets the InstanceType field's value.
77040func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
77041	s.InstanceType = &v
77042	return s
77043}
77044
77045// SetKernelId sets the KernelId field's value.
77046func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
77047	s.KernelId = &v
77048	return s
77049}
77050
77051// SetKeyName sets the KeyName field's value.
77052func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
77053	s.KeyName = &v
77054	return s
77055}
77056
77057// SetLicenseSpecifications sets the LicenseSpecifications field's value.
77058func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
77059	s.LicenseSpecifications = v
77060	return s
77061}
77062
77063// SetMonitoring sets the Monitoring field's value.
77064func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
77065	s.Monitoring = v
77066	return s
77067}
77068
77069// SetNetworkInterfaces sets the NetworkInterfaces field's value.
77070func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
77071	s.NetworkInterfaces = v
77072	return s
77073}
77074
77075// SetPlacement sets the Placement field's value.
77076func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
77077	s.Placement = v
77078	return s
77079}
77080
77081// SetRamDiskId sets the RamDiskId field's value.
77082func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
77083	s.RamDiskId = &v
77084	return s
77085}
77086
77087// SetSecurityGroupIds sets the SecurityGroupIds field's value.
77088func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
77089	s.SecurityGroupIds = v
77090	return s
77091}
77092
77093// SetSecurityGroups sets the SecurityGroups field's value.
77094func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
77095	s.SecurityGroups = v
77096	return s
77097}
77098
77099// SetTagSpecifications sets the TagSpecifications field's value.
77100func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
77101	s.TagSpecifications = v
77102	return s
77103}
77104
77105// SetUserData sets the UserData field's value.
77106func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
77107	s.UserData = &v
77108	return s
77109}
77110
77111// Contains the parameters for RequestSpotFleet.
77112type RequestSpotFleetInput struct {
77113	_ struct{} `type:"structure"`
77114
77115	// Checks whether you have the required permissions for the action, without
77116	// actually making the request, and provides an error response. If you have
77117	// the required permissions, the error response is DryRunOperation. Otherwise,
77118	// it is UnauthorizedOperation.
77119	DryRun *bool `locationName:"dryRun" type:"boolean"`
77120
77121	// The configuration for the Spot Fleet request.
77122	//
77123	// SpotFleetRequestConfig is a required field
77124	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
77125}
77126
77127// String returns the string representation
77128func (s RequestSpotFleetInput) String() string {
77129	return awsutil.Prettify(s)
77130}
77131
77132// GoString returns the string representation
77133func (s RequestSpotFleetInput) GoString() string {
77134	return s.String()
77135}
77136
77137// Validate inspects the fields of the type to determine if they are valid.
77138func (s *RequestSpotFleetInput) Validate() error {
77139	invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
77140	if s.SpotFleetRequestConfig == nil {
77141		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
77142	}
77143	if s.SpotFleetRequestConfig != nil {
77144		if err := s.SpotFleetRequestConfig.Validate(); err != nil {
77145			invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
77146		}
77147	}
77148
77149	if invalidParams.Len() > 0 {
77150		return invalidParams
77151	}
77152	return nil
77153}
77154
77155// SetDryRun sets the DryRun field's value.
77156func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
77157	s.DryRun = &v
77158	return s
77159}
77160
77161// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
77162func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
77163	s.SpotFleetRequestConfig = v
77164	return s
77165}
77166
77167// Contains the output of RequestSpotFleet.
77168type RequestSpotFleetOutput struct {
77169	_ struct{} `type:"structure"`
77170
77171	// The ID of the Spot Fleet request.
77172	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
77173}
77174
77175// String returns the string representation
77176func (s RequestSpotFleetOutput) String() string {
77177	return awsutil.Prettify(s)
77178}
77179
77180// GoString returns the string representation
77181func (s RequestSpotFleetOutput) GoString() string {
77182	return s.String()
77183}
77184
77185// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
77186func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
77187	s.SpotFleetRequestId = &v
77188	return s
77189}
77190
77191// Contains the parameters for RequestSpotInstances.
77192type RequestSpotInstancesInput struct {
77193	_ struct{} `type:"structure"`
77194
77195	// The user-specified name for a logical grouping of requests.
77196	//
77197	// When you specify an Availability Zone group in a Spot Instance request, all
77198	// Spot Instances in the request are launched in the same Availability Zone.
77199	// Instance proximity is maintained with this parameter, but the choice of Availability
77200	// Zone is not. The group applies only to requests for Spot Instances of the
77201	// same instance type. Any additional Spot Instance requests that are specified
77202	// with the same Availability Zone group name are launched in that same Availability
77203	// Zone, as long as at least one instance from the group is still active.
77204	//
77205	// If there is no active instance running in the Availability Zone group that
77206	// you specify for a new Spot Instance request (all instances are terminated,
77207	// the request is expired, or the maximum price you specified falls below current
77208	// Spot price), then Amazon EC2 launches the instance in any Availability Zone
77209	// where the constraint can be met. Consequently, the subsequent set of Spot
77210	// Instances could be placed in a different zone from the original request,
77211	// even if you specified the same Availability Zone group.
77212	//
77213	// Default: Instances are launched in any available Availability Zone.
77214	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
77215
77216	// The required duration for the Spot Instances (also known as Spot blocks),
77217	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
77218	// or 360).
77219	//
77220	// The duration period starts as soon as your Spot Instance receives its instance
77221	// ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
77222	// for termination and provides a Spot Instance termination notice, which gives
77223	// the instance a two-minute warning before it terminates.
77224	//
77225	// You can't specify an Availability Zone group or a launch group if you specify
77226	// a duration.
77227	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
77228
77229	// Unique, case-sensitive identifier that you provide to ensure the idempotency
77230	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
77231	// in the Amazon EC2 User Guide for Linux Instances.
77232	ClientToken *string `locationName:"clientToken" type:"string"`
77233
77234	// Checks whether you have the required permissions for the action, without
77235	// actually making the request, and provides an error response. If you have
77236	// the required permissions, the error response is DryRunOperation. Otherwise,
77237	// it is UnauthorizedOperation.
77238	DryRun *bool `locationName:"dryRun" type:"boolean"`
77239
77240	// The maximum number of Spot Instances to launch.
77241	//
77242	// Default: 1
77243	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
77244
77245	// The behavior when a Spot Instance is interrupted. The default is terminate.
77246	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
77247
77248	// The instance launch group. Launch groups are Spot Instances that launch together
77249	// and terminate together.
77250	//
77251	// Default: Instances are launched and terminated individually
77252	LaunchGroup *string `locationName:"launchGroup" type:"string"`
77253
77254	// The launch specification.
77255	LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
77256
77257	// The maximum price per hour that you are willing to pay for a Spot Instance.
77258	// The default is the On-Demand price.
77259	SpotPrice *string `locationName:"spotPrice" type:"string"`
77260
77261	// The Spot Instance request type.
77262	//
77263	// Default: one-time
77264	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
77265
77266	// The start date of the request. If this is a one-time request, the request
77267	// becomes active at this date and time and remains active until all instances
77268	// launch, the request expires, or the request is canceled. If the request is
77269	// persistent, the request becomes active at this date and time and remains
77270	// active until it expires or is canceled.
77271	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
77272
77273	// The end date of the request. If this is a one-time request, the request remains
77274	// active until all instances launch, the request is canceled, or this date
77275	// is reached. If the request is persistent, it remains active until it is canceled
77276	// or this date is reached. The default end date is 7 days from the current
77277	// date.
77278	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
77279}
77280
77281// String returns the string representation
77282func (s RequestSpotInstancesInput) String() string {
77283	return awsutil.Prettify(s)
77284}
77285
77286// GoString returns the string representation
77287func (s RequestSpotInstancesInput) GoString() string {
77288	return s.String()
77289}
77290
77291// Validate inspects the fields of the type to determine if they are valid.
77292func (s *RequestSpotInstancesInput) Validate() error {
77293	invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
77294	if s.LaunchSpecification != nil {
77295		if err := s.LaunchSpecification.Validate(); err != nil {
77296			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
77297		}
77298	}
77299
77300	if invalidParams.Len() > 0 {
77301		return invalidParams
77302	}
77303	return nil
77304}
77305
77306// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
77307func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
77308	s.AvailabilityZoneGroup = &v
77309	return s
77310}
77311
77312// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
77313func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
77314	s.BlockDurationMinutes = &v
77315	return s
77316}
77317
77318// SetClientToken sets the ClientToken field's value.
77319func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
77320	s.ClientToken = &v
77321	return s
77322}
77323
77324// SetDryRun sets the DryRun field's value.
77325func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
77326	s.DryRun = &v
77327	return s
77328}
77329
77330// SetInstanceCount sets the InstanceCount field's value.
77331func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
77332	s.InstanceCount = &v
77333	return s
77334}
77335
77336// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
77337func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
77338	s.InstanceInterruptionBehavior = &v
77339	return s
77340}
77341
77342// SetLaunchGroup sets the LaunchGroup field's value.
77343func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
77344	s.LaunchGroup = &v
77345	return s
77346}
77347
77348// SetLaunchSpecification sets the LaunchSpecification field's value.
77349func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
77350	s.LaunchSpecification = v
77351	return s
77352}
77353
77354// SetSpotPrice sets the SpotPrice field's value.
77355func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
77356	s.SpotPrice = &v
77357	return s
77358}
77359
77360// SetType sets the Type field's value.
77361func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
77362	s.Type = &v
77363	return s
77364}
77365
77366// SetValidFrom sets the ValidFrom field's value.
77367func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
77368	s.ValidFrom = &v
77369	return s
77370}
77371
77372// SetValidUntil sets the ValidUntil field's value.
77373func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
77374	s.ValidUntil = &v
77375	return s
77376}
77377
77378// Contains the output of RequestSpotInstances.
77379type RequestSpotInstancesOutput struct {
77380	_ struct{} `type:"structure"`
77381
77382	// One or more Spot Instance requests.
77383	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
77384}
77385
77386// String returns the string representation
77387func (s RequestSpotInstancesOutput) String() string {
77388	return awsutil.Prettify(s)
77389}
77390
77391// GoString returns the string representation
77392func (s RequestSpotInstancesOutput) GoString() string {
77393	return s.String()
77394}
77395
77396// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
77397func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
77398	s.SpotInstanceRequests = v
77399	return s
77400}
77401
77402// Describes the launch specification for an instance.
77403type RequestSpotLaunchSpecification struct {
77404	_ struct{} `type:"structure"`
77405
77406	// Deprecated.
77407	AddressingType *string `locationName:"addressingType" type:"string"`
77408
77409	// One or more block device mapping entries. You can't specify both a snapshot
77410	// ID and an encryption value. This is because only blank volumes can be encrypted
77411	// on creation. If a snapshot is the basis for a volume, it is not blank and
77412	// its encryption status is used for the volume encryption status.
77413	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
77414
77415	// Indicates whether the instance is optimized for EBS I/O. This optimization
77416	// provides dedicated throughput to Amazon EBS and an optimized configuration
77417	// stack to provide optimal EBS I/O performance. This optimization isn't available
77418	// with all instance types. Additional usage charges apply when using an EBS
77419	// Optimized instance.
77420	//
77421	// Default: false
77422	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
77423
77424	// The IAM instance profile.
77425	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
77426
77427	// The ID of the AMI.
77428	ImageId *string `locationName:"imageId" type:"string"`
77429
77430	// The instance type.
77431	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
77432
77433	// The ID of the kernel.
77434	KernelId *string `locationName:"kernelId" type:"string"`
77435
77436	// The name of the key pair.
77437	KeyName *string `locationName:"keyName" type:"string"`
77438
77439	// Indicates whether basic or detailed monitoring is enabled for the instance.
77440	//
77441	// Default: Disabled
77442	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
77443
77444	// One or more network interfaces. If you specify a network interface, you must
77445	// specify subnet IDs and security group IDs using the network interface.
77446	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
77447
77448	// The placement information for the instance.
77449	Placement *SpotPlacement `locationName:"placement" type:"structure"`
77450
77451	// The ID of the RAM disk.
77452	RamdiskId *string `locationName:"ramdiskId" type:"string"`
77453
77454	// One or more security group IDs.
77455	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
77456
77457	// One or more security groups. When requesting instances in a VPC, you must
77458	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
77459	// you can specify the names or the IDs of the security groups.
77460	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
77461
77462	// The ID of the subnet in which to launch the instance.
77463	SubnetId *string `locationName:"subnetId" type:"string"`
77464
77465	// The Base64-encoded user data for the instance. User data is limited to 16
77466	// KB.
77467	UserData *string `locationName:"userData" type:"string"`
77468}
77469
77470// String returns the string representation
77471func (s RequestSpotLaunchSpecification) String() string {
77472	return awsutil.Prettify(s)
77473}
77474
77475// GoString returns the string representation
77476func (s RequestSpotLaunchSpecification) GoString() string {
77477	return s.String()
77478}
77479
77480// Validate inspects the fields of the type to determine if they are valid.
77481func (s *RequestSpotLaunchSpecification) Validate() error {
77482	invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
77483	if s.Monitoring != nil {
77484		if err := s.Monitoring.Validate(); err != nil {
77485			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
77486		}
77487	}
77488
77489	if invalidParams.Len() > 0 {
77490		return invalidParams
77491	}
77492	return nil
77493}
77494
77495// SetAddressingType sets the AddressingType field's value.
77496func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
77497	s.AddressingType = &v
77498	return s
77499}
77500
77501// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
77502func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
77503	s.BlockDeviceMappings = v
77504	return s
77505}
77506
77507// SetEbsOptimized sets the EbsOptimized field's value.
77508func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
77509	s.EbsOptimized = &v
77510	return s
77511}
77512
77513// SetIamInstanceProfile sets the IamInstanceProfile field's value.
77514func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
77515	s.IamInstanceProfile = v
77516	return s
77517}
77518
77519// SetImageId sets the ImageId field's value.
77520func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
77521	s.ImageId = &v
77522	return s
77523}
77524
77525// SetInstanceType sets the InstanceType field's value.
77526func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
77527	s.InstanceType = &v
77528	return s
77529}
77530
77531// SetKernelId sets the KernelId field's value.
77532func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
77533	s.KernelId = &v
77534	return s
77535}
77536
77537// SetKeyName sets the KeyName field's value.
77538func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
77539	s.KeyName = &v
77540	return s
77541}
77542
77543// SetMonitoring sets the Monitoring field's value.
77544func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
77545	s.Monitoring = v
77546	return s
77547}
77548
77549// SetNetworkInterfaces sets the NetworkInterfaces field's value.
77550func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
77551	s.NetworkInterfaces = v
77552	return s
77553}
77554
77555// SetPlacement sets the Placement field's value.
77556func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
77557	s.Placement = v
77558	return s
77559}
77560
77561// SetRamdiskId sets the RamdiskId field's value.
77562func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
77563	s.RamdiskId = &v
77564	return s
77565}
77566
77567// SetSecurityGroupIds sets the SecurityGroupIds field's value.
77568func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
77569	s.SecurityGroupIds = v
77570	return s
77571}
77572
77573// SetSecurityGroups sets the SecurityGroups field's value.
77574func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
77575	s.SecurityGroups = v
77576	return s
77577}
77578
77579// SetSubnetId sets the SubnetId field's value.
77580func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
77581	s.SubnetId = &v
77582	return s
77583}
77584
77585// SetUserData sets the UserData field's value.
77586func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
77587	s.UserData = &v
77588	return s
77589}
77590
77591// Describes a reservation.
77592type Reservation struct {
77593	_ struct{} `type:"structure"`
77594
77595	// [EC2-Classic only] The security groups.
77596	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
77597
77598	// The instances.
77599	Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
77600
77601	// The ID of the AWS account that owns the reservation.
77602	OwnerId *string `locationName:"ownerId" type:"string"`
77603
77604	// The ID of the requester that launched the instances on your behalf (for example,
77605	// AWS Management Console or Auto Scaling).
77606	RequesterId *string `locationName:"requesterId" type:"string"`
77607
77608	// The ID of the reservation.
77609	ReservationId *string `locationName:"reservationId" type:"string"`
77610}
77611
77612// String returns the string representation
77613func (s Reservation) String() string {
77614	return awsutil.Prettify(s)
77615}
77616
77617// GoString returns the string representation
77618func (s Reservation) GoString() string {
77619	return s.String()
77620}
77621
77622// SetGroups sets the Groups field's value.
77623func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
77624	s.Groups = v
77625	return s
77626}
77627
77628// SetInstances sets the Instances field's value.
77629func (s *Reservation) SetInstances(v []*Instance) *Reservation {
77630	s.Instances = v
77631	return s
77632}
77633
77634// SetOwnerId sets the OwnerId field's value.
77635func (s *Reservation) SetOwnerId(v string) *Reservation {
77636	s.OwnerId = &v
77637	return s
77638}
77639
77640// SetRequesterId sets the RequesterId field's value.
77641func (s *Reservation) SetRequesterId(v string) *Reservation {
77642	s.RequesterId = &v
77643	return s
77644}
77645
77646// SetReservationId sets the ReservationId field's value.
77647func (s *Reservation) SetReservationId(v string) *Reservation {
77648	s.ReservationId = &v
77649	return s
77650}
77651
77652// The cost associated with the Reserved Instance.
77653type ReservationValue struct {
77654	_ struct{} `type:"structure"`
77655
77656	// The hourly rate of the reservation.
77657	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
77658
77659	// The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
77660	// * number of hours remaining).
77661	RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
77662
77663	// The remaining upfront cost of the reservation.
77664	RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
77665}
77666
77667// String returns the string representation
77668func (s ReservationValue) String() string {
77669	return awsutil.Prettify(s)
77670}
77671
77672// GoString returns the string representation
77673func (s ReservationValue) GoString() string {
77674	return s.String()
77675}
77676
77677// SetHourlyPrice sets the HourlyPrice field's value.
77678func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
77679	s.HourlyPrice = &v
77680	return s
77681}
77682
77683// SetRemainingTotalValue sets the RemainingTotalValue field's value.
77684func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
77685	s.RemainingTotalValue = &v
77686	return s
77687}
77688
77689// SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
77690func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
77691	s.RemainingUpfrontValue = &v
77692	return s
77693}
77694
77695// Describes the limit price of a Reserved Instance offering.
77696type ReservedInstanceLimitPrice struct {
77697	_ struct{} `type:"structure"`
77698
77699	// Used for Reserved Instance Marketplace offerings. Specifies the limit price
77700	// on the total order (instanceCount * price).
77701	Amount *float64 `locationName:"amount" type:"double"`
77702
77703	// The currency in which the limitPrice amount is specified. At this time, the
77704	// only supported currency is USD.
77705	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
77706}
77707
77708// String returns the string representation
77709func (s ReservedInstanceLimitPrice) String() string {
77710	return awsutil.Prettify(s)
77711}
77712
77713// GoString returns the string representation
77714func (s ReservedInstanceLimitPrice) GoString() string {
77715	return s.String()
77716}
77717
77718// SetAmount sets the Amount field's value.
77719func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
77720	s.Amount = &v
77721	return s
77722}
77723
77724// SetCurrencyCode sets the CurrencyCode field's value.
77725func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
77726	s.CurrencyCode = &v
77727	return s
77728}
77729
77730// The total value of the Convertible Reserved Instance.
77731type ReservedInstanceReservationValue struct {
77732	_ struct{} `type:"structure"`
77733
77734	// The total value of the Convertible Reserved Instance that you are exchanging.
77735	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
77736
77737	// The ID of the Convertible Reserved Instance that you are exchanging.
77738	ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
77739}
77740
77741// String returns the string representation
77742func (s ReservedInstanceReservationValue) String() string {
77743	return awsutil.Prettify(s)
77744}
77745
77746// GoString returns the string representation
77747func (s ReservedInstanceReservationValue) GoString() string {
77748	return s.String()
77749}
77750
77751// SetReservationValue sets the ReservationValue field's value.
77752func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
77753	s.ReservationValue = v
77754	return s
77755}
77756
77757// SetReservedInstanceId sets the ReservedInstanceId field's value.
77758func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
77759	s.ReservedInstanceId = &v
77760	return s
77761}
77762
77763// Describes a Reserved Instance.
77764type ReservedInstances struct {
77765	_ struct{} `type:"structure"`
77766
77767	// The Availability Zone in which the Reserved Instance can be used.
77768	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
77769
77770	// The currency of the Reserved Instance. It's specified using ISO 4217 standard
77771	// currency codes. At this time, the only supported currency is USD.
77772	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
77773
77774	// The duration of the Reserved Instance, in seconds.
77775	Duration *int64 `locationName:"duration" type:"long"`
77776
77777	// The time when the Reserved Instance expires.
77778	End *time.Time `locationName:"end" type:"timestamp"`
77779
77780	// The purchase price of the Reserved Instance.
77781	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
77782
77783	// The number of reservations purchased.
77784	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
77785
77786	// The tenancy of the instance.
77787	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
77788
77789	// The instance type on which the Reserved Instance can be used.
77790	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
77791
77792	// The offering class of the Reserved Instance.
77793	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
77794
77795	// The Reserved Instance offering type.
77796	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
77797
77798	// The Reserved Instance product platform description.
77799	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
77800
77801	// The recurring charge tag assigned to the resource.
77802	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
77803
77804	// The ID of the Reserved Instance.
77805	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
77806
77807	// The scope of the Reserved Instance.
77808	Scope *string `locationName:"scope" type:"string" enum:"scope"`
77809
77810	// The date and time the Reserved Instance started.
77811	Start *time.Time `locationName:"start" type:"timestamp"`
77812
77813	// The state of the Reserved Instance purchase.
77814	State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
77815
77816	// Any tags assigned to the resource.
77817	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
77818
77819	// The usage price of the Reserved Instance, per hour.
77820	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
77821}
77822
77823// String returns the string representation
77824func (s ReservedInstances) String() string {
77825	return awsutil.Prettify(s)
77826}
77827
77828// GoString returns the string representation
77829func (s ReservedInstances) GoString() string {
77830	return s.String()
77831}
77832
77833// SetAvailabilityZone sets the AvailabilityZone field's value.
77834func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
77835	s.AvailabilityZone = &v
77836	return s
77837}
77838
77839// SetCurrencyCode sets the CurrencyCode field's value.
77840func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
77841	s.CurrencyCode = &v
77842	return s
77843}
77844
77845// SetDuration sets the Duration field's value.
77846func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
77847	s.Duration = &v
77848	return s
77849}
77850
77851// SetEnd sets the End field's value.
77852func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
77853	s.End = &v
77854	return s
77855}
77856
77857// SetFixedPrice sets the FixedPrice field's value.
77858func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
77859	s.FixedPrice = &v
77860	return s
77861}
77862
77863// SetInstanceCount sets the InstanceCount field's value.
77864func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
77865	s.InstanceCount = &v
77866	return s
77867}
77868
77869// SetInstanceTenancy sets the InstanceTenancy field's value.
77870func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
77871	s.InstanceTenancy = &v
77872	return s
77873}
77874
77875// SetInstanceType sets the InstanceType field's value.
77876func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
77877	s.InstanceType = &v
77878	return s
77879}
77880
77881// SetOfferingClass sets the OfferingClass field's value.
77882func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
77883	s.OfferingClass = &v
77884	return s
77885}
77886
77887// SetOfferingType sets the OfferingType field's value.
77888func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
77889	s.OfferingType = &v
77890	return s
77891}
77892
77893// SetProductDescription sets the ProductDescription field's value.
77894func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
77895	s.ProductDescription = &v
77896	return s
77897}
77898
77899// SetRecurringCharges sets the RecurringCharges field's value.
77900func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
77901	s.RecurringCharges = v
77902	return s
77903}
77904
77905// SetReservedInstancesId sets the ReservedInstancesId field's value.
77906func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
77907	s.ReservedInstancesId = &v
77908	return s
77909}
77910
77911// SetScope sets the Scope field's value.
77912func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
77913	s.Scope = &v
77914	return s
77915}
77916
77917// SetStart sets the Start field's value.
77918func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
77919	s.Start = &v
77920	return s
77921}
77922
77923// SetState sets the State field's value.
77924func (s *ReservedInstances) SetState(v string) *ReservedInstances {
77925	s.State = &v
77926	return s
77927}
77928
77929// SetTags sets the Tags field's value.
77930func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
77931	s.Tags = v
77932	return s
77933}
77934
77935// SetUsagePrice sets the UsagePrice field's value.
77936func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
77937	s.UsagePrice = &v
77938	return s
77939}
77940
77941// Describes the configuration settings for the modified Reserved Instances.
77942type ReservedInstancesConfiguration struct {
77943	_ struct{} `type:"structure"`
77944
77945	// The Availability Zone for the modified Reserved Instances.
77946	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
77947
77948	// The number of modified Reserved Instances.
77949	//
77950	// This is a required field for a request.
77951	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
77952
77953	// The instance type for the modified Reserved Instances.
77954	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
77955
77956	// The network platform of the modified Reserved Instances, which is either
77957	// EC2-Classic or EC2-VPC.
77958	Platform *string `locationName:"platform" type:"string"`
77959
77960	// Whether the Reserved Instance is applied to instances in a Region or instances
77961	// in a specific Availability Zone.
77962	Scope *string `locationName:"scope" type:"string" enum:"scope"`
77963}
77964
77965// String returns the string representation
77966func (s ReservedInstancesConfiguration) String() string {
77967	return awsutil.Prettify(s)
77968}
77969
77970// GoString returns the string representation
77971func (s ReservedInstancesConfiguration) GoString() string {
77972	return s.String()
77973}
77974
77975// SetAvailabilityZone sets the AvailabilityZone field's value.
77976func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
77977	s.AvailabilityZone = &v
77978	return s
77979}
77980
77981// SetInstanceCount sets the InstanceCount field's value.
77982func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
77983	s.InstanceCount = &v
77984	return s
77985}
77986
77987// SetInstanceType sets the InstanceType field's value.
77988func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
77989	s.InstanceType = &v
77990	return s
77991}
77992
77993// SetPlatform sets the Platform field's value.
77994func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
77995	s.Platform = &v
77996	return s
77997}
77998
77999// SetScope sets the Scope field's value.
78000func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
78001	s.Scope = &v
78002	return s
78003}
78004
78005// Describes the ID of a Reserved Instance.
78006type ReservedInstancesId struct {
78007	_ struct{} `type:"structure"`
78008
78009	// The ID of the Reserved Instance.
78010	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
78011}
78012
78013// String returns the string representation
78014func (s ReservedInstancesId) String() string {
78015	return awsutil.Prettify(s)
78016}
78017
78018// GoString returns the string representation
78019func (s ReservedInstancesId) GoString() string {
78020	return s.String()
78021}
78022
78023// SetReservedInstancesId sets the ReservedInstancesId field's value.
78024func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
78025	s.ReservedInstancesId = &v
78026	return s
78027}
78028
78029// Describes a Reserved Instance listing.
78030type ReservedInstancesListing struct {
78031	_ struct{} `type:"structure"`
78032
78033	// A unique, case-sensitive key supplied by the client to ensure that the request
78034	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
78035	ClientToken *string `locationName:"clientToken" type:"string"`
78036
78037	// The time the listing was created.
78038	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
78039
78040	// The number of instances in this state.
78041	InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
78042
78043	// The price of the Reserved Instance listing.
78044	PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
78045
78046	// The ID of the Reserved Instance.
78047	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
78048
78049	// The ID of the Reserved Instance listing.
78050	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
78051
78052	// The status of the Reserved Instance listing.
78053	Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
78054
78055	// The reason for the current status of the Reserved Instance listing. The response
78056	// can be blank.
78057	StatusMessage *string `locationName:"statusMessage" type:"string"`
78058
78059	// Any tags assigned to the resource.
78060	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
78061
78062	// The last modified timestamp of the listing.
78063	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
78064}
78065
78066// String returns the string representation
78067func (s ReservedInstancesListing) String() string {
78068	return awsutil.Prettify(s)
78069}
78070
78071// GoString returns the string representation
78072func (s ReservedInstancesListing) GoString() string {
78073	return s.String()
78074}
78075
78076// SetClientToken sets the ClientToken field's value.
78077func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
78078	s.ClientToken = &v
78079	return s
78080}
78081
78082// SetCreateDate sets the CreateDate field's value.
78083func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
78084	s.CreateDate = &v
78085	return s
78086}
78087
78088// SetInstanceCounts sets the InstanceCounts field's value.
78089func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
78090	s.InstanceCounts = v
78091	return s
78092}
78093
78094// SetPriceSchedules sets the PriceSchedules field's value.
78095func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
78096	s.PriceSchedules = v
78097	return s
78098}
78099
78100// SetReservedInstancesId sets the ReservedInstancesId field's value.
78101func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
78102	s.ReservedInstancesId = &v
78103	return s
78104}
78105
78106// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
78107func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
78108	s.ReservedInstancesListingId = &v
78109	return s
78110}
78111
78112// SetStatus sets the Status field's value.
78113func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
78114	s.Status = &v
78115	return s
78116}
78117
78118// SetStatusMessage sets the StatusMessage field's value.
78119func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
78120	s.StatusMessage = &v
78121	return s
78122}
78123
78124// SetTags sets the Tags field's value.
78125func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
78126	s.Tags = v
78127	return s
78128}
78129
78130// SetUpdateDate sets the UpdateDate field's value.
78131func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
78132	s.UpdateDate = &v
78133	return s
78134}
78135
78136// Describes a Reserved Instance modification.
78137type ReservedInstancesModification struct {
78138	_ struct{} `type:"structure"`
78139
78140	// A unique, case-sensitive key supplied by the client to ensure that the request
78141	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
78142	ClientToken *string `locationName:"clientToken" type:"string"`
78143
78144	// The time when the modification request was created.
78145	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
78146
78147	// The time for the modification to become effective.
78148	EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
78149
78150	// Contains target configurations along with their corresponding new Reserved
78151	// Instance IDs.
78152	ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
78153
78154	// The IDs of one or more Reserved Instances.
78155	ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
78156
78157	// A unique ID for the Reserved Instance modification.
78158	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
78159
78160	// The status of the Reserved Instances modification request.
78161	Status *string `locationName:"status" type:"string"`
78162
78163	// The reason for the status.
78164	StatusMessage *string `locationName:"statusMessage" type:"string"`
78165
78166	// The time when the modification request was last updated.
78167	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
78168}
78169
78170// String returns the string representation
78171func (s ReservedInstancesModification) String() string {
78172	return awsutil.Prettify(s)
78173}
78174
78175// GoString returns the string representation
78176func (s ReservedInstancesModification) GoString() string {
78177	return s.String()
78178}
78179
78180// SetClientToken sets the ClientToken field's value.
78181func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
78182	s.ClientToken = &v
78183	return s
78184}
78185
78186// SetCreateDate sets the CreateDate field's value.
78187func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
78188	s.CreateDate = &v
78189	return s
78190}
78191
78192// SetEffectiveDate sets the EffectiveDate field's value.
78193func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
78194	s.EffectiveDate = &v
78195	return s
78196}
78197
78198// SetModificationResults sets the ModificationResults field's value.
78199func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
78200	s.ModificationResults = v
78201	return s
78202}
78203
78204// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
78205func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
78206	s.ReservedInstancesIds = v
78207	return s
78208}
78209
78210// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
78211func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
78212	s.ReservedInstancesModificationId = &v
78213	return s
78214}
78215
78216// SetStatus sets the Status field's value.
78217func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
78218	s.Status = &v
78219	return s
78220}
78221
78222// SetStatusMessage sets the StatusMessage field's value.
78223func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
78224	s.StatusMessage = &v
78225	return s
78226}
78227
78228// SetUpdateDate sets the UpdateDate field's value.
78229func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
78230	s.UpdateDate = &v
78231	return s
78232}
78233
78234// Describes the modification request/s.
78235type ReservedInstancesModificationResult struct {
78236	_ struct{} `type:"structure"`
78237
78238	// The ID for the Reserved Instances that were created as part of the modification
78239	// request. This field is only available when the modification is fulfilled.
78240	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
78241
78242	// The target Reserved Instances configurations supplied as part of the modification
78243	// request.
78244	TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
78245}
78246
78247// String returns the string representation
78248func (s ReservedInstancesModificationResult) String() string {
78249	return awsutil.Prettify(s)
78250}
78251
78252// GoString returns the string representation
78253func (s ReservedInstancesModificationResult) GoString() string {
78254	return s.String()
78255}
78256
78257// SetReservedInstancesId sets the ReservedInstancesId field's value.
78258func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
78259	s.ReservedInstancesId = &v
78260	return s
78261}
78262
78263// SetTargetConfiguration sets the TargetConfiguration field's value.
78264func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
78265	s.TargetConfiguration = v
78266	return s
78267}
78268
78269// Describes a Reserved Instance offering.
78270type ReservedInstancesOffering struct {
78271	_ struct{} `type:"structure"`
78272
78273	// The Availability Zone in which the Reserved Instance can be used.
78274	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
78275
78276	// The currency of the Reserved Instance offering you are purchasing. It's specified
78277	// using ISO 4217 standard currency codes. At this time, the only supported
78278	// currency is USD.
78279	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
78280
78281	// The duration of the Reserved Instance, in seconds.
78282	Duration *int64 `locationName:"duration" type:"long"`
78283
78284	// The purchase price of the Reserved Instance.
78285	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
78286
78287	// The tenancy of the instance.
78288	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
78289
78290	// The instance type on which the Reserved Instance can be used.
78291	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
78292
78293	// Indicates whether the offering is available through the Reserved Instance
78294	// Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
78295	// this is true.
78296	Marketplace *bool `locationName:"marketplace" type:"boolean"`
78297
78298	// If convertible it can be exchanged for Reserved Instances of the same or
78299	// higher monetary value, with different configurations. If standard, it is
78300	// not possible to perform an exchange.
78301	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
78302
78303	// The Reserved Instance offering type.
78304	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
78305
78306	// The pricing details of the Reserved Instance offering.
78307	PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
78308
78309	// The Reserved Instance product platform description.
78310	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
78311
78312	// The recurring charge tag assigned to the resource.
78313	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
78314
78315	// The ID of the Reserved Instance offering. This is the offering ID used in
78316	// GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
78317	ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
78318
78319	// Whether the Reserved Instance is applied to instances in a Region or an Availability
78320	// Zone.
78321	Scope *string `locationName:"scope" type:"string" enum:"scope"`
78322
78323	// The usage price of the Reserved Instance, per hour.
78324	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
78325}
78326
78327// String returns the string representation
78328func (s ReservedInstancesOffering) String() string {
78329	return awsutil.Prettify(s)
78330}
78331
78332// GoString returns the string representation
78333func (s ReservedInstancesOffering) GoString() string {
78334	return s.String()
78335}
78336
78337// SetAvailabilityZone sets the AvailabilityZone field's value.
78338func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
78339	s.AvailabilityZone = &v
78340	return s
78341}
78342
78343// SetCurrencyCode sets the CurrencyCode field's value.
78344func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
78345	s.CurrencyCode = &v
78346	return s
78347}
78348
78349// SetDuration sets the Duration field's value.
78350func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
78351	s.Duration = &v
78352	return s
78353}
78354
78355// SetFixedPrice sets the FixedPrice field's value.
78356func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
78357	s.FixedPrice = &v
78358	return s
78359}
78360
78361// SetInstanceTenancy sets the InstanceTenancy field's value.
78362func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
78363	s.InstanceTenancy = &v
78364	return s
78365}
78366
78367// SetInstanceType sets the InstanceType field's value.
78368func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
78369	s.InstanceType = &v
78370	return s
78371}
78372
78373// SetMarketplace sets the Marketplace field's value.
78374func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
78375	s.Marketplace = &v
78376	return s
78377}
78378
78379// SetOfferingClass sets the OfferingClass field's value.
78380func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
78381	s.OfferingClass = &v
78382	return s
78383}
78384
78385// SetOfferingType sets the OfferingType field's value.
78386func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
78387	s.OfferingType = &v
78388	return s
78389}
78390
78391// SetPricingDetails sets the PricingDetails field's value.
78392func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
78393	s.PricingDetails = v
78394	return s
78395}
78396
78397// SetProductDescription sets the ProductDescription field's value.
78398func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
78399	s.ProductDescription = &v
78400	return s
78401}
78402
78403// SetRecurringCharges sets the RecurringCharges field's value.
78404func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
78405	s.RecurringCharges = v
78406	return s
78407}
78408
78409// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
78410func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
78411	s.ReservedInstancesOfferingId = &v
78412	return s
78413}
78414
78415// SetScope sets the Scope field's value.
78416func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
78417	s.Scope = &v
78418	return s
78419}
78420
78421// SetUsagePrice sets the UsagePrice field's value.
78422func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
78423	s.UsagePrice = &v
78424	return s
78425}
78426
78427type ResetEbsDefaultKmsKeyIdInput struct {
78428	_ struct{} `type:"structure"`
78429
78430	// Checks whether you have the required permissions for the action, without
78431	// actually making the request, and provides an error response. If you have
78432	// the required permissions, the error response is DryRunOperation. Otherwise,
78433	// it is UnauthorizedOperation.
78434	DryRun *bool `type:"boolean"`
78435}
78436
78437// String returns the string representation
78438func (s ResetEbsDefaultKmsKeyIdInput) String() string {
78439	return awsutil.Prettify(s)
78440}
78441
78442// GoString returns the string representation
78443func (s ResetEbsDefaultKmsKeyIdInput) GoString() string {
78444	return s.String()
78445}
78446
78447// SetDryRun sets the DryRun field's value.
78448func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput {
78449	s.DryRun = &v
78450	return s
78451}
78452
78453type ResetEbsDefaultKmsKeyIdOutput struct {
78454	_ struct{} `type:"structure"`
78455
78456	// The full ARN of the default CMK that your account uses to encrypt an EBS
78457	// volume when no CMK is specified in the API call that creates the volume.
78458	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
78459}
78460
78461// String returns the string representation
78462func (s ResetEbsDefaultKmsKeyIdOutput) String() string {
78463	return awsutil.Prettify(s)
78464}
78465
78466// GoString returns the string representation
78467func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string {
78468	return s.String()
78469}
78470
78471// SetKmsKeyId sets the KmsKeyId field's value.
78472func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput {
78473	s.KmsKeyId = &v
78474	return s
78475}
78476
78477type ResetFpgaImageAttributeInput struct {
78478	_ struct{} `type:"structure"`
78479
78480	// The attribute.
78481	Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
78482
78483	// Checks whether you have the required permissions for the action, without
78484	// actually making the request, and provides an error response. If you have
78485	// the required permissions, the error response is DryRunOperation. Otherwise,
78486	// it is UnauthorizedOperation.
78487	DryRun *bool `type:"boolean"`
78488
78489	// The ID of the AFI.
78490	//
78491	// FpgaImageId is a required field
78492	FpgaImageId *string `type:"string" required:"true"`
78493}
78494
78495// String returns the string representation
78496func (s ResetFpgaImageAttributeInput) String() string {
78497	return awsutil.Prettify(s)
78498}
78499
78500// GoString returns the string representation
78501func (s ResetFpgaImageAttributeInput) GoString() string {
78502	return s.String()
78503}
78504
78505// Validate inspects the fields of the type to determine if they are valid.
78506func (s *ResetFpgaImageAttributeInput) Validate() error {
78507	invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
78508	if s.FpgaImageId == nil {
78509		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
78510	}
78511
78512	if invalidParams.Len() > 0 {
78513		return invalidParams
78514	}
78515	return nil
78516}
78517
78518// SetAttribute sets the Attribute field's value.
78519func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
78520	s.Attribute = &v
78521	return s
78522}
78523
78524// SetDryRun sets the DryRun field's value.
78525func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
78526	s.DryRun = &v
78527	return s
78528}
78529
78530// SetFpgaImageId sets the FpgaImageId field's value.
78531func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
78532	s.FpgaImageId = &v
78533	return s
78534}
78535
78536type ResetFpgaImageAttributeOutput struct {
78537	_ struct{} `type:"structure"`
78538
78539	// Is true if the request succeeds, and an error otherwise.
78540	Return *bool `locationName:"return" type:"boolean"`
78541}
78542
78543// String returns the string representation
78544func (s ResetFpgaImageAttributeOutput) String() string {
78545	return awsutil.Prettify(s)
78546}
78547
78548// GoString returns the string representation
78549func (s ResetFpgaImageAttributeOutput) GoString() string {
78550	return s.String()
78551}
78552
78553// SetReturn sets the Return field's value.
78554func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
78555	s.Return = &v
78556	return s
78557}
78558
78559// Contains the parameters for ResetImageAttribute.
78560type ResetImageAttributeInput struct {
78561	_ struct{} `type:"structure"`
78562
78563	// The attribute to reset (currently you can only reset the launch permission
78564	// attribute).
78565	//
78566	// Attribute is a required field
78567	Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
78568
78569	// Checks whether you have the required permissions for the action, without
78570	// actually making the request, and provides an error response. If you have
78571	// the required permissions, the error response is DryRunOperation. Otherwise,
78572	// it is UnauthorizedOperation.
78573	DryRun *bool `locationName:"dryRun" type:"boolean"`
78574
78575	// The ID of the AMI.
78576	//
78577	// ImageId is a required field
78578	ImageId *string `type:"string" required:"true"`
78579}
78580
78581// String returns the string representation
78582func (s ResetImageAttributeInput) String() string {
78583	return awsutil.Prettify(s)
78584}
78585
78586// GoString returns the string representation
78587func (s ResetImageAttributeInput) GoString() string {
78588	return s.String()
78589}
78590
78591// Validate inspects the fields of the type to determine if they are valid.
78592func (s *ResetImageAttributeInput) Validate() error {
78593	invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
78594	if s.Attribute == nil {
78595		invalidParams.Add(request.NewErrParamRequired("Attribute"))
78596	}
78597	if s.ImageId == nil {
78598		invalidParams.Add(request.NewErrParamRequired("ImageId"))
78599	}
78600
78601	if invalidParams.Len() > 0 {
78602		return invalidParams
78603	}
78604	return nil
78605}
78606
78607// SetAttribute sets the Attribute field's value.
78608func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
78609	s.Attribute = &v
78610	return s
78611}
78612
78613// SetDryRun sets the DryRun field's value.
78614func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
78615	s.DryRun = &v
78616	return s
78617}
78618
78619// SetImageId sets the ImageId field's value.
78620func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
78621	s.ImageId = &v
78622	return s
78623}
78624
78625type ResetImageAttributeOutput struct {
78626	_ struct{} `type:"structure"`
78627}
78628
78629// String returns the string representation
78630func (s ResetImageAttributeOutput) String() string {
78631	return awsutil.Prettify(s)
78632}
78633
78634// GoString returns the string representation
78635func (s ResetImageAttributeOutput) GoString() string {
78636	return s.String()
78637}
78638
78639type ResetInstanceAttributeInput struct {
78640	_ struct{} `type:"structure"`
78641
78642	// The attribute to reset.
78643	//
78644	// You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
78645	// To change an instance attribute, use ModifyInstanceAttribute.
78646	//
78647	// Attribute is a required field
78648	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
78649
78650	// Checks whether you have the required permissions for the action, without
78651	// actually making the request, and provides an error response. If you have
78652	// the required permissions, the error response is DryRunOperation. Otherwise,
78653	// it is UnauthorizedOperation.
78654	DryRun *bool `locationName:"dryRun" type:"boolean"`
78655
78656	// The ID of the instance.
78657	//
78658	// InstanceId is a required field
78659	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
78660}
78661
78662// String returns the string representation
78663func (s ResetInstanceAttributeInput) String() string {
78664	return awsutil.Prettify(s)
78665}
78666
78667// GoString returns the string representation
78668func (s ResetInstanceAttributeInput) GoString() string {
78669	return s.String()
78670}
78671
78672// Validate inspects the fields of the type to determine if they are valid.
78673func (s *ResetInstanceAttributeInput) Validate() error {
78674	invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
78675	if s.Attribute == nil {
78676		invalidParams.Add(request.NewErrParamRequired("Attribute"))
78677	}
78678	if s.InstanceId == nil {
78679		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
78680	}
78681
78682	if invalidParams.Len() > 0 {
78683		return invalidParams
78684	}
78685	return nil
78686}
78687
78688// SetAttribute sets the Attribute field's value.
78689func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
78690	s.Attribute = &v
78691	return s
78692}
78693
78694// SetDryRun sets the DryRun field's value.
78695func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
78696	s.DryRun = &v
78697	return s
78698}
78699
78700// SetInstanceId sets the InstanceId field's value.
78701func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
78702	s.InstanceId = &v
78703	return s
78704}
78705
78706type ResetInstanceAttributeOutput struct {
78707	_ struct{} `type:"structure"`
78708}
78709
78710// String returns the string representation
78711func (s ResetInstanceAttributeOutput) String() string {
78712	return awsutil.Prettify(s)
78713}
78714
78715// GoString returns the string representation
78716func (s ResetInstanceAttributeOutput) GoString() string {
78717	return s.String()
78718}
78719
78720// Contains the parameters for ResetNetworkInterfaceAttribute.
78721type ResetNetworkInterfaceAttributeInput struct {
78722	_ struct{} `type:"structure"`
78723
78724	// Checks whether you have the required permissions for the action, without
78725	// actually making the request, and provides an error response. If you have
78726	// the required permissions, the error response is DryRunOperation. Otherwise,
78727	// it is UnauthorizedOperation.
78728	DryRun *bool `locationName:"dryRun" type:"boolean"`
78729
78730	// The ID of the network interface.
78731	//
78732	// NetworkInterfaceId is a required field
78733	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
78734
78735	// The source/destination checking attribute. Resets the value to true.
78736	SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
78737}
78738
78739// String returns the string representation
78740func (s ResetNetworkInterfaceAttributeInput) String() string {
78741	return awsutil.Prettify(s)
78742}
78743
78744// GoString returns the string representation
78745func (s ResetNetworkInterfaceAttributeInput) GoString() string {
78746	return s.String()
78747}
78748
78749// Validate inspects the fields of the type to determine if they are valid.
78750func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
78751	invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
78752	if s.NetworkInterfaceId == nil {
78753		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
78754	}
78755
78756	if invalidParams.Len() > 0 {
78757		return invalidParams
78758	}
78759	return nil
78760}
78761
78762// SetDryRun sets the DryRun field's value.
78763func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
78764	s.DryRun = &v
78765	return s
78766}
78767
78768// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
78769func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
78770	s.NetworkInterfaceId = &v
78771	return s
78772}
78773
78774// SetSourceDestCheck sets the SourceDestCheck field's value.
78775func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
78776	s.SourceDestCheck = &v
78777	return s
78778}
78779
78780type ResetNetworkInterfaceAttributeOutput struct {
78781	_ struct{} `type:"structure"`
78782}
78783
78784// String returns the string representation
78785func (s ResetNetworkInterfaceAttributeOutput) String() string {
78786	return awsutil.Prettify(s)
78787}
78788
78789// GoString returns the string representation
78790func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
78791	return s.String()
78792}
78793
78794// Contains the parameters for ResetSnapshotAttribute.
78795type ResetSnapshotAttributeInput struct {
78796	_ struct{} `type:"structure"`
78797
78798	// The attribute to reset. Currently, only the attribute for permission to create
78799	// volumes can be reset.
78800	//
78801	// Attribute is a required field
78802	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
78803
78804	// Checks whether you have the required permissions for the action, without
78805	// actually making the request, and provides an error response. If you have
78806	// the required permissions, the error response is DryRunOperation. Otherwise,
78807	// it is UnauthorizedOperation.
78808	DryRun *bool `locationName:"dryRun" type:"boolean"`
78809
78810	// The ID of the snapshot.
78811	//
78812	// SnapshotId is a required field
78813	SnapshotId *string `type:"string" required:"true"`
78814}
78815
78816// String returns the string representation
78817func (s ResetSnapshotAttributeInput) String() string {
78818	return awsutil.Prettify(s)
78819}
78820
78821// GoString returns the string representation
78822func (s ResetSnapshotAttributeInput) GoString() string {
78823	return s.String()
78824}
78825
78826// Validate inspects the fields of the type to determine if they are valid.
78827func (s *ResetSnapshotAttributeInput) Validate() error {
78828	invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
78829	if s.Attribute == nil {
78830		invalidParams.Add(request.NewErrParamRequired("Attribute"))
78831	}
78832	if s.SnapshotId == nil {
78833		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
78834	}
78835
78836	if invalidParams.Len() > 0 {
78837		return invalidParams
78838	}
78839	return nil
78840}
78841
78842// SetAttribute sets the Attribute field's value.
78843func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
78844	s.Attribute = &v
78845	return s
78846}
78847
78848// SetDryRun sets the DryRun field's value.
78849func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
78850	s.DryRun = &v
78851	return s
78852}
78853
78854// SetSnapshotId sets the SnapshotId field's value.
78855func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
78856	s.SnapshotId = &v
78857	return s
78858}
78859
78860type ResetSnapshotAttributeOutput struct {
78861	_ struct{} `type:"structure"`
78862}
78863
78864// String returns the string representation
78865func (s ResetSnapshotAttributeOutput) String() string {
78866	return awsutil.Prettify(s)
78867}
78868
78869// GoString returns the string representation
78870func (s ResetSnapshotAttributeOutput) GoString() string {
78871	return s.String()
78872}
78873
78874// Describes the error that's returned when you cannot delete a launch template
78875// version.
78876type ResponseError struct {
78877	_ struct{} `type:"structure"`
78878
78879	// The error code.
78880	Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
78881
78882	// The error message, if applicable.
78883	Message *string `locationName:"message" type:"string"`
78884}
78885
78886// String returns the string representation
78887func (s ResponseError) String() string {
78888	return awsutil.Prettify(s)
78889}
78890
78891// GoString returns the string representation
78892func (s ResponseError) GoString() string {
78893	return s.String()
78894}
78895
78896// SetCode sets the Code field's value.
78897func (s *ResponseError) SetCode(v string) *ResponseError {
78898	s.Code = &v
78899	return s
78900}
78901
78902// SetMessage sets the Message field's value.
78903func (s *ResponseError) SetMessage(v string) *ResponseError {
78904	s.Message = &v
78905	return s
78906}
78907
78908// The information for a launch template.
78909type ResponseLaunchTemplateData struct {
78910	_ struct{} `type:"structure"`
78911
78912	// The block device mappings.
78913	BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
78914
78915	// Information about the Capacity Reservation targeting option.
78916	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
78917
78918	// The CPU options for the instance. For more information, see Optimizing CPU
78919	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
78920	// in the Amazon Elastic Compute Cloud User Guide.
78921	CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
78922
78923	// The credit option for CPU usage of the instance.
78924	CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
78925
78926	// If set to true, indicates that the instance cannot be terminated using the
78927	// Amazon EC2 console, command line tool, or API.
78928	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
78929
78930	// Indicates whether the instance is optimized for Amazon EBS I/O.
78931	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
78932
78933	// The elastic GPU specification.
78934	ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
78935
78936	// The elastic inference accelerator for the instance.
78937	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
78938
78939	// Indicates whether an instance is configured for hibernation. For more information,
78940	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
78941	// in the Amazon Elastic Compute Cloud User Guide.
78942	HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
78943
78944	// The IAM instance profile.
78945	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
78946
78947	// The ID of the AMI that was used to launch the instance.
78948	ImageId *string `locationName:"imageId" type:"string"`
78949
78950	// Indicates whether an instance stops or terminates when you initiate shutdown
78951	// from the instance (using the operating system command for system shutdown).
78952	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
78953
78954	// The market (purchasing) option for the instances.
78955	InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
78956
78957	// The instance type.
78958	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
78959
78960	// The ID of the kernel, if applicable.
78961	KernelId *string `locationName:"kernelId" type:"string"`
78962
78963	// The name of the key pair.
78964	KeyName *string `locationName:"keyName" type:"string"`
78965
78966	// The license configurations.
78967	LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
78968
78969	// The monitoring for the instance.
78970	Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
78971
78972	// The network interfaces.
78973	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
78974
78975	// The placement of the instance.
78976	Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
78977
78978	// The ID of the RAM disk, if applicable.
78979	RamDiskId *string `locationName:"ramDiskId" type:"string"`
78980
78981	// The security group IDs.
78982	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
78983
78984	// The security group names.
78985	SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
78986
78987	// The tags.
78988	TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
78989
78990	// The user data for the instance.
78991	UserData *string `locationName:"userData" type:"string"`
78992}
78993
78994// String returns the string representation
78995func (s ResponseLaunchTemplateData) String() string {
78996	return awsutil.Prettify(s)
78997}
78998
78999// GoString returns the string representation
79000func (s ResponseLaunchTemplateData) GoString() string {
79001	return s.String()
79002}
79003
79004// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
79005func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
79006	s.BlockDeviceMappings = v
79007	return s
79008}
79009
79010// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
79011func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
79012	s.CapacityReservationSpecification = v
79013	return s
79014}
79015
79016// SetCpuOptions sets the CpuOptions field's value.
79017func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
79018	s.CpuOptions = v
79019	return s
79020}
79021
79022// SetCreditSpecification sets the CreditSpecification field's value.
79023func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
79024	s.CreditSpecification = v
79025	return s
79026}
79027
79028// SetDisableApiTermination sets the DisableApiTermination field's value.
79029func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
79030	s.DisableApiTermination = &v
79031	return s
79032}
79033
79034// SetEbsOptimized sets the EbsOptimized field's value.
79035func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
79036	s.EbsOptimized = &v
79037	return s
79038}
79039
79040// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
79041func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
79042	s.ElasticGpuSpecifications = v
79043	return s
79044}
79045
79046// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
79047func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
79048	s.ElasticInferenceAccelerators = v
79049	return s
79050}
79051
79052// SetHibernationOptions sets the HibernationOptions field's value.
79053func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
79054	s.HibernationOptions = v
79055	return s
79056}
79057
79058// SetIamInstanceProfile sets the IamInstanceProfile field's value.
79059func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
79060	s.IamInstanceProfile = v
79061	return s
79062}
79063
79064// SetImageId sets the ImageId field's value.
79065func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
79066	s.ImageId = &v
79067	return s
79068}
79069
79070// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
79071func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
79072	s.InstanceInitiatedShutdownBehavior = &v
79073	return s
79074}
79075
79076// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
79077func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
79078	s.InstanceMarketOptions = v
79079	return s
79080}
79081
79082// SetInstanceType sets the InstanceType field's value.
79083func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
79084	s.InstanceType = &v
79085	return s
79086}
79087
79088// SetKernelId sets the KernelId field's value.
79089func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
79090	s.KernelId = &v
79091	return s
79092}
79093
79094// SetKeyName sets the KeyName field's value.
79095func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
79096	s.KeyName = &v
79097	return s
79098}
79099
79100// SetLicenseSpecifications sets the LicenseSpecifications field's value.
79101func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
79102	s.LicenseSpecifications = v
79103	return s
79104}
79105
79106// SetMonitoring sets the Monitoring field's value.
79107func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
79108	s.Monitoring = v
79109	return s
79110}
79111
79112// SetNetworkInterfaces sets the NetworkInterfaces field's value.
79113func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
79114	s.NetworkInterfaces = v
79115	return s
79116}
79117
79118// SetPlacement sets the Placement field's value.
79119func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
79120	s.Placement = v
79121	return s
79122}
79123
79124// SetRamDiskId sets the RamDiskId field's value.
79125func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
79126	s.RamDiskId = &v
79127	return s
79128}
79129
79130// SetSecurityGroupIds sets the SecurityGroupIds field's value.
79131func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
79132	s.SecurityGroupIds = v
79133	return s
79134}
79135
79136// SetSecurityGroups sets the SecurityGroups field's value.
79137func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
79138	s.SecurityGroups = v
79139	return s
79140}
79141
79142// SetTagSpecifications sets the TagSpecifications field's value.
79143func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
79144	s.TagSpecifications = v
79145	return s
79146}
79147
79148// SetUserData sets the UserData field's value.
79149func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
79150	s.UserData = &v
79151	return s
79152}
79153
79154type RestoreAddressToClassicInput struct {
79155	_ struct{} `type:"structure"`
79156
79157	// Checks whether you have the required permissions for the action, without
79158	// actually making the request, and provides an error response. If you have
79159	// the required permissions, the error response is DryRunOperation. Otherwise,
79160	// it is UnauthorizedOperation.
79161	DryRun *bool `locationName:"dryRun" type:"boolean"`
79162
79163	// The Elastic IP address.
79164	//
79165	// PublicIp is a required field
79166	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
79167}
79168
79169// String returns the string representation
79170func (s RestoreAddressToClassicInput) String() string {
79171	return awsutil.Prettify(s)
79172}
79173
79174// GoString returns the string representation
79175func (s RestoreAddressToClassicInput) GoString() string {
79176	return s.String()
79177}
79178
79179// Validate inspects the fields of the type to determine if they are valid.
79180func (s *RestoreAddressToClassicInput) Validate() error {
79181	invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
79182	if s.PublicIp == nil {
79183		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
79184	}
79185
79186	if invalidParams.Len() > 0 {
79187		return invalidParams
79188	}
79189	return nil
79190}
79191
79192// SetDryRun sets the DryRun field's value.
79193func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
79194	s.DryRun = &v
79195	return s
79196}
79197
79198// SetPublicIp sets the PublicIp field's value.
79199func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
79200	s.PublicIp = &v
79201	return s
79202}
79203
79204type RestoreAddressToClassicOutput struct {
79205	_ struct{} `type:"structure"`
79206
79207	// The Elastic IP address.
79208	PublicIp *string `locationName:"publicIp" type:"string"`
79209
79210	// The move status for the IP address.
79211	Status *string `locationName:"status" type:"string" enum:"Status"`
79212}
79213
79214// String returns the string representation
79215func (s RestoreAddressToClassicOutput) String() string {
79216	return awsutil.Prettify(s)
79217}
79218
79219// GoString returns the string representation
79220func (s RestoreAddressToClassicOutput) GoString() string {
79221	return s.String()
79222}
79223
79224// SetPublicIp sets the PublicIp field's value.
79225func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
79226	s.PublicIp = &v
79227	return s
79228}
79229
79230// SetStatus sets the Status field's value.
79231func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
79232	s.Status = &v
79233	return s
79234}
79235
79236type RevokeClientVpnIngressInput struct {
79237	_ struct{} `type:"structure"`
79238
79239	// The ID of the Active Directory group for which to revoke access.
79240	AccessGroupId *string `type:"string"`
79241
79242	// The ID of the Client VPN endpoint with which the authorization rule is associated.
79243	//
79244	// ClientVpnEndpointId is a required field
79245	ClientVpnEndpointId *string `type:"string" required:"true"`
79246
79247	// Checks whether you have the required permissions for the action, without
79248	// actually making the request, and provides an error response. If you have
79249	// the required permissions, the error response is DryRunOperation. Otherwise,
79250	// it is UnauthorizedOperation.
79251	DryRun *bool `type:"boolean"`
79252
79253	// Indicates whether access should be revoked for all clients.
79254	RevokeAllGroups *bool `type:"boolean"`
79255
79256	// The IPv4 address range, in CIDR notation, of the network for which access
79257	// is being removed.
79258	//
79259	// TargetNetworkCidr is a required field
79260	TargetNetworkCidr *string `type:"string" required:"true"`
79261}
79262
79263// String returns the string representation
79264func (s RevokeClientVpnIngressInput) String() string {
79265	return awsutil.Prettify(s)
79266}
79267
79268// GoString returns the string representation
79269func (s RevokeClientVpnIngressInput) GoString() string {
79270	return s.String()
79271}
79272
79273// Validate inspects the fields of the type to determine if they are valid.
79274func (s *RevokeClientVpnIngressInput) Validate() error {
79275	invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
79276	if s.ClientVpnEndpointId == nil {
79277		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
79278	}
79279	if s.TargetNetworkCidr == nil {
79280		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
79281	}
79282
79283	if invalidParams.Len() > 0 {
79284		return invalidParams
79285	}
79286	return nil
79287}
79288
79289// SetAccessGroupId sets the AccessGroupId field's value.
79290func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
79291	s.AccessGroupId = &v
79292	return s
79293}
79294
79295// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
79296func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
79297	s.ClientVpnEndpointId = &v
79298	return s
79299}
79300
79301// SetDryRun sets the DryRun field's value.
79302func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
79303	s.DryRun = &v
79304	return s
79305}
79306
79307// SetRevokeAllGroups sets the RevokeAllGroups field's value.
79308func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
79309	s.RevokeAllGroups = &v
79310	return s
79311}
79312
79313// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
79314func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
79315	s.TargetNetworkCidr = &v
79316	return s
79317}
79318
79319type RevokeClientVpnIngressOutput struct {
79320	_ struct{} `type:"structure"`
79321
79322	// The current state of the authorization rule.
79323	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
79324}
79325
79326// String returns the string representation
79327func (s RevokeClientVpnIngressOutput) String() string {
79328	return awsutil.Prettify(s)
79329}
79330
79331// GoString returns the string representation
79332func (s RevokeClientVpnIngressOutput) GoString() string {
79333	return s.String()
79334}
79335
79336// SetStatus sets the Status field's value.
79337func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
79338	s.Status = v
79339	return s
79340}
79341
79342type RevokeSecurityGroupEgressInput struct {
79343	_ struct{} `type:"structure"`
79344
79345	// Not supported. Use a set of IP permissions to specify the CIDR.
79346	CidrIp *string `locationName:"cidrIp" type:"string"`
79347
79348	// Checks whether you have the required permissions for the action, without
79349	// actually making the request, and provides an error response. If you have
79350	// the required permissions, the error response is DryRunOperation. Otherwise,
79351	// it is UnauthorizedOperation.
79352	DryRun *bool `locationName:"dryRun" type:"boolean"`
79353
79354	// Not supported. Use a set of IP permissions to specify the port.
79355	FromPort *int64 `locationName:"fromPort" type:"integer"`
79356
79357	// The ID of the security group.
79358	//
79359	// GroupId is a required field
79360	GroupId *string `locationName:"groupId" type:"string" required:"true"`
79361
79362	// The sets of IP permissions. You can't specify a destination security group
79363	// and a CIDR IP address range in the same set of permissions.
79364	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
79365
79366	// Not supported. Use a set of IP permissions to specify the protocol name or
79367	// number.
79368	IpProtocol *string `locationName:"ipProtocol" type:"string"`
79369
79370	// Not supported. Use a set of IP permissions to specify a destination security
79371	// group.
79372	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
79373
79374	// Not supported. Use a set of IP permissions to specify a destination security
79375	// group.
79376	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
79377
79378	// Not supported. Use a set of IP permissions to specify the port.
79379	ToPort *int64 `locationName:"toPort" type:"integer"`
79380}
79381
79382// String returns the string representation
79383func (s RevokeSecurityGroupEgressInput) String() string {
79384	return awsutil.Prettify(s)
79385}
79386
79387// GoString returns the string representation
79388func (s RevokeSecurityGroupEgressInput) GoString() string {
79389	return s.String()
79390}
79391
79392// Validate inspects the fields of the type to determine if they are valid.
79393func (s *RevokeSecurityGroupEgressInput) Validate() error {
79394	invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
79395	if s.GroupId == nil {
79396		invalidParams.Add(request.NewErrParamRequired("GroupId"))
79397	}
79398
79399	if invalidParams.Len() > 0 {
79400		return invalidParams
79401	}
79402	return nil
79403}
79404
79405// SetCidrIp sets the CidrIp field's value.
79406func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
79407	s.CidrIp = &v
79408	return s
79409}
79410
79411// SetDryRun sets the DryRun field's value.
79412func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
79413	s.DryRun = &v
79414	return s
79415}
79416
79417// SetFromPort sets the FromPort field's value.
79418func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
79419	s.FromPort = &v
79420	return s
79421}
79422
79423// SetGroupId sets the GroupId field's value.
79424func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
79425	s.GroupId = &v
79426	return s
79427}
79428
79429// SetIpPermissions sets the IpPermissions field's value.
79430func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
79431	s.IpPermissions = v
79432	return s
79433}
79434
79435// SetIpProtocol sets the IpProtocol field's value.
79436func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
79437	s.IpProtocol = &v
79438	return s
79439}
79440
79441// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
79442func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
79443	s.SourceSecurityGroupName = &v
79444	return s
79445}
79446
79447// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
79448func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
79449	s.SourceSecurityGroupOwnerId = &v
79450	return s
79451}
79452
79453// SetToPort sets the ToPort field's value.
79454func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
79455	s.ToPort = &v
79456	return s
79457}
79458
79459type RevokeSecurityGroupEgressOutput struct {
79460	_ struct{} `type:"structure"`
79461}
79462
79463// String returns the string representation
79464func (s RevokeSecurityGroupEgressOutput) String() string {
79465	return awsutil.Prettify(s)
79466}
79467
79468// GoString returns the string representation
79469func (s RevokeSecurityGroupEgressOutput) GoString() string {
79470	return s.String()
79471}
79472
79473type RevokeSecurityGroupIngressInput struct {
79474	_ struct{} `type:"structure"`
79475
79476	// The CIDR IP address range. You can't specify this parameter when specifying
79477	// a source security group.
79478	CidrIp *string `type:"string"`
79479
79480	// Checks whether you have the required permissions for the action, without
79481	// actually making the request, and provides an error response. If you have
79482	// the required permissions, the error response is DryRunOperation. Otherwise,
79483	// it is UnauthorizedOperation.
79484	DryRun *bool `locationName:"dryRun" type:"boolean"`
79485
79486	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
79487	// For the ICMP type number, use -1 to specify all ICMP types.
79488	FromPort *int64 `type:"integer"`
79489
79490	// The ID of the security group. You must specify either the security group
79491	// ID or the security group name in the request. For security groups in a nondefault
79492	// VPC, you must specify the security group ID.
79493	GroupId *string `type:"string"`
79494
79495	// [EC2-Classic, default VPC] The name of the security group. You must specify
79496	// either the security group ID or the security group name in the request.
79497	GroupName *string `type:"string"`
79498
79499	// The sets of IP permissions. You can't specify a source security group and
79500	// a CIDR IP address range in the same set of permissions.
79501	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
79502
79503	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
79504	// Use -1 to specify all.
79505	IpProtocol *string `type:"string"`
79506
79507	// [EC2-Classic, default VPC] The name of the source security group. You can't
79508	// specify this parameter in combination with the following parameters: the
79509	// CIDR IP address range, the start of the port range, the IP protocol, and
79510	// the end of the port range. For EC2-VPC, the source security group must be
79511	// in the same VPC. To revoke a specific rule for an IP protocol and port range,
79512	// use a set of IP permissions instead.
79513	SourceSecurityGroupName *string `type:"string"`
79514
79515	// [EC2-Classic] The AWS account ID of the source security group, if the source
79516	// security group is in a different account. You can't specify this parameter
79517	// in combination with the following parameters: the CIDR IP address range,
79518	// the IP protocol, the start of the port range, and the end of the port range.
79519	// To revoke a specific rule for an IP protocol and port range, use a set of
79520	// IP permissions instead.
79521	SourceSecurityGroupOwnerId *string `type:"string"`
79522
79523	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
79524	// For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
79525	ToPort *int64 `type:"integer"`
79526}
79527
79528// String returns the string representation
79529func (s RevokeSecurityGroupIngressInput) String() string {
79530	return awsutil.Prettify(s)
79531}
79532
79533// GoString returns the string representation
79534func (s RevokeSecurityGroupIngressInput) GoString() string {
79535	return s.String()
79536}
79537
79538// SetCidrIp sets the CidrIp field's value.
79539func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
79540	s.CidrIp = &v
79541	return s
79542}
79543
79544// SetDryRun sets the DryRun field's value.
79545func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
79546	s.DryRun = &v
79547	return s
79548}
79549
79550// SetFromPort sets the FromPort field's value.
79551func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
79552	s.FromPort = &v
79553	return s
79554}
79555
79556// SetGroupId sets the GroupId field's value.
79557func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
79558	s.GroupId = &v
79559	return s
79560}
79561
79562// SetGroupName sets the GroupName field's value.
79563func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
79564	s.GroupName = &v
79565	return s
79566}
79567
79568// SetIpPermissions sets the IpPermissions field's value.
79569func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
79570	s.IpPermissions = v
79571	return s
79572}
79573
79574// SetIpProtocol sets the IpProtocol field's value.
79575func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
79576	s.IpProtocol = &v
79577	return s
79578}
79579
79580// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
79581func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
79582	s.SourceSecurityGroupName = &v
79583	return s
79584}
79585
79586// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
79587func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
79588	s.SourceSecurityGroupOwnerId = &v
79589	return s
79590}
79591
79592// SetToPort sets the ToPort field's value.
79593func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
79594	s.ToPort = &v
79595	return s
79596}
79597
79598type RevokeSecurityGroupIngressOutput struct {
79599	_ struct{} `type:"structure"`
79600}
79601
79602// String returns the string representation
79603func (s RevokeSecurityGroupIngressOutput) String() string {
79604	return awsutil.Prettify(s)
79605}
79606
79607// GoString returns the string representation
79608func (s RevokeSecurityGroupIngressOutput) GoString() string {
79609	return s.String()
79610}
79611
79612// Describes a route in a route table.
79613type Route struct {
79614	_ struct{} `type:"structure"`
79615
79616	// The IPv4 CIDR block used for the destination match.
79617	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
79618
79619	// The IPv6 CIDR block used for the destination match.
79620	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
79621
79622	// The prefix of the AWS service.
79623	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
79624
79625	// The ID of the egress-only internet gateway.
79626	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
79627
79628	// The ID of a gateway attached to your VPC.
79629	GatewayId *string `locationName:"gatewayId" type:"string"`
79630
79631	// The ID of a NAT instance in your VPC.
79632	InstanceId *string `locationName:"instanceId" type:"string"`
79633
79634	// The AWS account ID of the owner of the instance.
79635	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
79636
79637	// The ID of a NAT gateway.
79638	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
79639
79640	// The ID of the network interface.
79641	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
79642
79643	// Describes how the route was created.
79644	//
79645	//    * CreateRouteTable - The route was automatically created when the route
79646	//    table was created.
79647	//
79648	//    * CreateRoute - The route was manually added to the route table.
79649	//
79650	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
79651	Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
79652
79653	// The state of the route. The blackhole state indicates that the route's target
79654	// isn't available (for example, the specified gateway isn't attached to the
79655	// VPC, or the specified NAT instance has been terminated).
79656	State *string `locationName:"state" type:"string" enum:"RouteState"`
79657
79658	// The ID of a transit gateway.
79659	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
79660
79661	// The ID of a VPC peering connection.
79662	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
79663}
79664
79665// String returns the string representation
79666func (s Route) String() string {
79667	return awsutil.Prettify(s)
79668}
79669
79670// GoString returns the string representation
79671func (s Route) GoString() string {
79672	return s.String()
79673}
79674
79675// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
79676func (s *Route) SetDestinationCidrBlock(v string) *Route {
79677	s.DestinationCidrBlock = &v
79678	return s
79679}
79680
79681// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
79682func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
79683	s.DestinationIpv6CidrBlock = &v
79684	return s
79685}
79686
79687// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
79688func (s *Route) SetDestinationPrefixListId(v string) *Route {
79689	s.DestinationPrefixListId = &v
79690	return s
79691}
79692
79693// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
79694func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
79695	s.EgressOnlyInternetGatewayId = &v
79696	return s
79697}
79698
79699// SetGatewayId sets the GatewayId field's value.
79700func (s *Route) SetGatewayId(v string) *Route {
79701	s.GatewayId = &v
79702	return s
79703}
79704
79705// SetInstanceId sets the InstanceId field's value.
79706func (s *Route) SetInstanceId(v string) *Route {
79707	s.InstanceId = &v
79708	return s
79709}
79710
79711// SetInstanceOwnerId sets the InstanceOwnerId field's value.
79712func (s *Route) SetInstanceOwnerId(v string) *Route {
79713	s.InstanceOwnerId = &v
79714	return s
79715}
79716
79717// SetNatGatewayId sets the NatGatewayId field's value.
79718func (s *Route) SetNatGatewayId(v string) *Route {
79719	s.NatGatewayId = &v
79720	return s
79721}
79722
79723// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
79724func (s *Route) SetNetworkInterfaceId(v string) *Route {
79725	s.NetworkInterfaceId = &v
79726	return s
79727}
79728
79729// SetOrigin sets the Origin field's value.
79730func (s *Route) SetOrigin(v string) *Route {
79731	s.Origin = &v
79732	return s
79733}
79734
79735// SetState sets the State field's value.
79736func (s *Route) SetState(v string) *Route {
79737	s.State = &v
79738	return s
79739}
79740
79741// SetTransitGatewayId sets the TransitGatewayId field's value.
79742func (s *Route) SetTransitGatewayId(v string) *Route {
79743	s.TransitGatewayId = &v
79744	return s
79745}
79746
79747// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
79748func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
79749	s.VpcPeeringConnectionId = &v
79750	return s
79751}
79752
79753// Describes a route table.
79754type RouteTable struct {
79755	_ struct{} `type:"structure"`
79756
79757	// The associations between the route table and one or more subnets.
79758	Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
79759
79760	// The ID of the AWS account that owns the route table.
79761	OwnerId *string `locationName:"ownerId" type:"string"`
79762
79763	// Any virtual private gateway (VGW) propagating routes.
79764	PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
79765
79766	// The ID of the route table.
79767	RouteTableId *string `locationName:"routeTableId" type:"string"`
79768
79769	// The routes in the route table.
79770	Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
79771
79772	// Any tags assigned to the route table.
79773	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
79774
79775	// The ID of the VPC.
79776	VpcId *string `locationName:"vpcId" type:"string"`
79777}
79778
79779// String returns the string representation
79780func (s RouteTable) String() string {
79781	return awsutil.Prettify(s)
79782}
79783
79784// GoString returns the string representation
79785func (s RouteTable) GoString() string {
79786	return s.String()
79787}
79788
79789// SetAssociations sets the Associations field's value.
79790func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
79791	s.Associations = v
79792	return s
79793}
79794
79795// SetOwnerId sets the OwnerId field's value.
79796func (s *RouteTable) SetOwnerId(v string) *RouteTable {
79797	s.OwnerId = &v
79798	return s
79799}
79800
79801// SetPropagatingVgws sets the PropagatingVgws field's value.
79802func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
79803	s.PropagatingVgws = v
79804	return s
79805}
79806
79807// SetRouteTableId sets the RouteTableId field's value.
79808func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
79809	s.RouteTableId = &v
79810	return s
79811}
79812
79813// SetRoutes sets the Routes field's value.
79814func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
79815	s.Routes = v
79816	return s
79817}
79818
79819// SetTags sets the Tags field's value.
79820func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
79821	s.Tags = v
79822	return s
79823}
79824
79825// SetVpcId sets the VpcId field's value.
79826func (s *RouteTable) SetVpcId(v string) *RouteTable {
79827	s.VpcId = &v
79828	return s
79829}
79830
79831// Describes an association between a route table and a subnet.
79832type RouteTableAssociation struct {
79833	_ struct{} `type:"structure"`
79834
79835	// Indicates whether this is the main route table.
79836	Main *bool `locationName:"main" type:"boolean"`
79837
79838	// The ID of the association between a route table and a subnet.
79839	RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
79840
79841	// The ID of the route table.
79842	RouteTableId *string `locationName:"routeTableId" type:"string"`
79843
79844	// The ID of the subnet. A subnet ID is not returned for an implicit association.
79845	SubnetId *string `locationName:"subnetId" type:"string"`
79846}
79847
79848// String returns the string representation
79849func (s RouteTableAssociation) String() string {
79850	return awsutil.Prettify(s)
79851}
79852
79853// GoString returns the string representation
79854func (s RouteTableAssociation) GoString() string {
79855	return s.String()
79856}
79857
79858// SetMain sets the Main field's value.
79859func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
79860	s.Main = &v
79861	return s
79862}
79863
79864// SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
79865func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
79866	s.RouteTableAssociationId = &v
79867	return s
79868}
79869
79870// SetRouteTableId sets the RouteTableId field's value.
79871func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
79872	s.RouteTableId = &v
79873	return s
79874}
79875
79876// SetSubnetId sets the SubnetId field's value.
79877func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
79878	s.SubnetId = &v
79879	return s
79880}
79881
79882type RunInstancesInput struct {
79883	_ struct{} `type:"structure"`
79884
79885	// Reserved.
79886	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
79887
79888	// The block device mapping entries. You can't specify both a snapshot ID and
79889	// an encryption value. This is because only blank volumes can be encrypted
79890	// on creation. If a snapshot is the basis for a volume, it is not blank and
79891	// its encryption status is used for the volume encryption status.
79892	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
79893
79894	// Information about the Capacity Reservation targeting option. If you do not
79895	// specify this parameter, the instance's Capacity Reservation preference defaults
79896	// to open, which enables it to run in any open Capacity Reservation that has
79897	// matching attributes (instance type, platform, Availability Zone).
79898	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
79899
79900	// Unique, case-sensitive identifier you provide to ensure the idempotency of
79901	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
79902	//
79903	// Constraints: Maximum 64 ASCII characters
79904	ClientToken *string `locationName:"clientToken" type:"string"`
79905
79906	// The CPU options for the instance. For more information, see Optimizing CPU
79907	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
79908	// in the Amazon Elastic Compute Cloud User Guide.
79909	CpuOptions *CpuOptionsRequest `type:"structure"`
79910
79911	// The credit option for CPU usage of the T2 or T3 instance. Valid values are
79912	// standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification
79913	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
79914	// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
79915	// in the Amazon Elastic Compute Cloud User Guide.
79916	//
79917	// Default: standard (T2 instances) or unlimited (T3 instances)
79918	CreditSpecification *CreditSpecificationRequest `type:"structure"`
79919
79920	// If you set this parameter to true, you can't terminate the instance using
79921	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
79922	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
79923	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
79924	// you can terminate the instance by running the shutdown command from the instance.
79925	//
79926	// Default: false
79927	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
79928
79929	// Checks whether you have the required permissions for the action, without
79930	// actually making the request, and provides an error response. If you have
79931	// the required permissions, the error response is DryRunOperation. Otherwise,
79932	// it is UnauthorizedOperation.
79933	DryRun *bool `locationName:"dryRun" type:"boolean"`
79934
79935	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
79936	// provides dedicated throughput to Amazon EBS and an optimized configuration
79937	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
79938	// available with all instance types. Additional usage charges apply when using
79939	// an EBS-optimized instance.
79940	//
79941	// Default: false
79942	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
79943
79944	// An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
79945	// that you can attach to your Windows instance to accelerate the graphics performance
79946	// of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
79947	// in the Amazon Elastic Compute Cloud User Guide.
79948	ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
79949
79950	// An elastic inference accelerator to associate with the instance. Elastic
79951	// inference accelerators are a resource you can attach to your Amazon EC2 instances
79952	// to accelerate your Deep Learning (DL) inference workloads.
79953	ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
79954
79955	// Indicates whether an instance is enabled for hibernation. For more information,
79956	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
79957	// in the Amazon Elastic Compute Cloud User Guide.
79958	HibernationOptions *HibernationOptionsRequest `type:"structure"`
79959
79960	// The IAM instance profile.
79961	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
79962
79963	// The ID of the AMI. An AMI ID is required to launch an instance and must be
79964	// specified here or in a launch template.
79965	ImageId *string `type:"string"`
79966
79967	// Indicates whether an instance stops or terminates when you initiate shutdown
79968	// from the instance (using the operating system command for system shutdown).
79969	//
79970	// Default: stop
79971	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
79972
79973	// The market (purchasing) option for the instances.
79974	//
79975	// For RunInstances, persistent Spot Instance requests are only supported when
79976	// InstanceInterruptionBehavior is set to either hibernate or stop.
79977	InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
79978
79979	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
79980	// in the Amazon Elastic Compute Cloud User Guide.
79981	//
79982	// Default: m1.small
79983	InstanceType *string `type:"string" enum:"InstanceType"`
79984
79985	// [EC2-VPC] The number of IPv6 addresses to associate with the primary network
79986	// interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
79987	// You cannot specify this option and the option to assign specific IPv6 addresses
79988	// in the same request. You can specify this option if you've specified a minimum
79989	// number of instances to launch.
79990	//
79991	// You cannot specify this option and the network interfaces option in the same
79992	// request.
79993	Ipv6AddressCount *int64 `type:"integer"`
79994
79995	// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
79996	// the primary network interface. You cannot specify this option and the option
79997	// to assign a number of IPv6 addresses in the same request. You cannot specify
79998	// this option if you've specified a minimum number of instances to launch.
79999	//
80000	// You cannot specify this option and the network interfaces option in the same
80001	// request.
80002	Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
80003
80004	// The ID of the kernel.
80005	//
80006	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
80007	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
80008	// in the Amazon Elastic Compute Cloud User Guide.
80009	KernelId *string `type:"string"`
80010
80011	// The name of the key pair. You can create a key pair using CreateKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html)
80012	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
80013	//
80014	// If you do not specify a key pair, you can't connect to the instance unless
80015	// you choose an AMI that is configured to allow users another way to log in.
80016	KeyName *string `type:"string"`
80017
80018	// The launch template to use to launch the instances. Any parameters that you
80019	// specify in RunInstances override the same parameters in the launch template.
80020	// You can specify either the name or ID of a launch template, but not both.
80021	LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
80022
80023	// The license configurations.
80024	LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
80025
80026	// The maximum number of instances to launch. If you specify more instances
80027	// than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
80028	// the largest possible number of instances above MinCount.
80029	//
80030	// Constraints: Between 1 and the maximum number you're allowed for the specified
80031	// instance type. For more information about the default limits, and how to
80032	// request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
80033	// in the Amazon EC2 FAQ.
80034	//
80035	// MaxCount is a required field
80036	MaxCount *int64 `type:"integer" required:"true"`
80037
80038	// The minimum number of instances to launch. If you specify a minimum that
80039	// is more instances than Amazon EC2 can launch in the target Availability Zone,
80040	// Amazon EC2 launches no instances.
80041	//
80042	// Constraints: Between 1 and the maximum number you're allowed for the specified
80043	// instance type. For more information about the default limits, and how to
80044	// request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
80045	// in the Amazon EC2 General FAQ.
80046	//
80047	// MinCount is a required field
80048	MinCount *int64 `type:"integer" required:"true"`
80049
80050	// Specifies whether detailed monitoring is enabled for the instance.
80051	Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
80052
80053	// The network interfaces to associate with the instance. If you specify a network
80054	// interface, you must specify any security groups as part of the network interface.
80055	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
80056
80057	// The placement for the instance.
80058	Placement *Placement `type:"structure"`
80059
80060	// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
80061	// address range of the subnet.
80062	//
80063	// Only one private IP address can be designated as primary. You can't specify
80064	// this option if you've specified the option to designate a private IP address
80065	// as the primary IP address in a network interface specification. You cannot
80066	// specify this option if you're launching more than one instance in the request.
80067	//
80068	// You cannot specify this option and the network interfaces option in the same
80069	// request.
80070	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
80071
80072	// The ID of the RAM disk to select. Some kernels require additional drivers
80073	// at launch. Check the kernel requirements for information about whether you
80074	// need to specify a RAM disk. To find kernel requirements, go to the AWS Resource
80075	// Center and search for the kernel ID.
80076	//
80077	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
80078	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
80079	// in the Amazon Elastic Compute Cloud User Guide.
80080	RamdiskId *string `type:"string"`
80081
80082	// The IDs of the security groups. You can create a security group using CreateSecurityGroup
80083	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
80084	//
80085	// If you specify a network interface, you must specify any security groups
80086	// as part of the network interface.
80087	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
80088
80089	// [EC2-Classic, default VPC] The names of the security groups. For a nondefault
80090	// VPC, you must use security group IDs instead.
80091	//
80092	// If you specify a network interface, you must specify any security groups
80093	// as part of the network interface.
80094	//
80095	// Default: Amazon EC2 uses the default security group.
80096	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
80097
80098	// [EC2-VPC] The ID of the subnet to launch the instance into.
80099	//
80100	// You cannot specify this option and the network interfaces option in the same
80101	// request.
80102	SubnetId *string `type:"string"`
80103
80104	// The tags to apply to the resources during launch. You can only tag instances
80105	// and volumes on launch. The specified tags are applied to all instances or
80106	// volumes that are created during launch. To tag a resource after it has been
80107	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
80108	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
80109
80110	// The user data to make available to the instance. For more information, see
80111	// Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
80112	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
80113	// (Windows). If you are using a command line tool, base64-encoding is performed
80114	// for you, and you can load the text from a file. Otherwise, you must provide
80115	// base64-encoded text. User data is limited to 16 KB.
80116	UserData *string `type:"string"`
80117}
80118
80119// String returns the string representation
80120func (s RunInstancesInput) String() string {
80121	return awsutil.Prettify(s)
80122}
80123
80124// GoString returns the string representation
80125func (s RunInstancesInput) GoString() string {
80126	return s.String()
80127}
80128
80129// Validate inspects the fields of the type to determine if they are valid.
80130func (s *RunInstancesInput) Validate() error {
80131	invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
80132	if s.MaxCount == nil {
80133		invalidParams.Add(request.NewErrParamRequired("MaxCount"))
80134	}
80135	if s.MinCount == nil {
80136		invalidParams.Add(request.NewErrParamRequired("MinCount"))
80137	}
80138	if s.CreditSpecification != nil {
80139		if err := s.CreditSpecification.Validate(); err != nil {
80140			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
80141		}
80142	}
80143	if s.ElasticGpuSpecification != nil {
80144		for i, v := range s.ElasticGpuSpecification {
80145			if v == nil {
80146				continue
80147			}
80148			if err := v.Validate(); err != nil {
80149				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
80150			}
80151		}
80152	}
80153	if s.ElasticInferenceAccelerators != nil {
80154		for i, v := range s.ElasticInferenceAccelerators {
80155			if v == nil {
80156				continue
80157			}
80158			if err := v.Validate(); err != nil {
80159				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
80160			}
80161		}
80162	}
80163	if s.Monitoring != nil {
80164		if err := s.Monitoring.Validate(); err != nil {
80165			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
80166		}
80167	}
80168
80169	if invalidParams.Len() > 0 {
80170		return invalidParams
80171	}
80172	return nil
80173}
80174
80175// SetAdditionalInfo sets the AdditionalInfo field's value.
80176func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
80177	s.AdditionalInfo = &v
80178	return s
80179}
80180
80181// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
80182func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
80183	s.BlockDeviceMappings = v
80184	return s
80185}
80186
80187// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
80188func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
80189	s.CapacityReservationSpecification = v
80190	return s
80191}
80192
80193// SetClientToken sets the ClientToken field's value.
80194func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
80195	s.ClientToken = &v
80196	return s
80197}
80198
80199// SetCpuOptions sets the CpuOptions field's value.
80200func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
80201	s.CpuOptions = v
80202	return s
80203}
80204
80205// SetCreditSpecification sets the CreditSpecification field's value.
80206func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
80207	s.CreditSpecification = v
80208	return s
80209}
80210
80211// SetDisableApiTermination sets the DisableApiTermination field's value.
80212func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
80213	s.DisableApiTermination = &v
80214	return s
80215}
80216
80217// SetDryRun sets the DryRun field's value.
80218func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
80219	s.DryRun = &v
80220	return s
80221}
80222
80223// SetEbsOptimized sets the EbsOptimized field's value.
80224func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
80225	s.EbsOptimized = &v
80226	return s
80227}
80228
80229// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
80230func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
80231	s.ElasticGpuSpecification = v
80232	return s
80233}
80234
80235// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
80236func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
80237	s.ElasticInferenceAccelerators = v
80238	return s
80239}
80240
80241// SetHibernationOptions sets the HibernationOptions field's value.
80242func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
80243	s.HibernationOptions = v
80244	return s
80245}
80246
80247// SetIamInstanceProfile sets the IamInstanceProfile field's value.
80248func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
80249	s.IamInstanceProfile = v
80250	return s
80251}
80252
80253// SetImageId sets the ImageId field's value.
80254func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
80255	s.ImageId = &v
80256	return s
80257}
80258
80259// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
80260func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
80261	s.InstanceInitiatedShutdownBehavior = &v
80262	return s
80263}
80264
80265// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
80266func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
80267	s.InstanceMarketOptions = v
80268	return s
80269}
80270
80271// SetInstanceType sets the InstanceType field's value.
80272func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
80273	s.InstanceType = &v
80274	return s
80275}
80276
80277// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
80278func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
80279	s.Ipv6AddressCount = &v
80280	return s
80281}
80282
80283// SetIpv6Addresses sets the Ipv6Addresses field's value.
80284func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
80285	s.Ipv6Addresses = v
80286	return s
80287}
80288
80289// SetKernelId sets the KernelId field's value.
80290func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
80291	s.KernelId = &v
80292	return s
80293}
80294
80295// SetKeyName sets the KeyName field's value.
80296func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
80297	s.KeyName = &v
80298	return s
80299}
80300
80301// SetLaunchTemplate sets the LaunchTemplate field's value.
80302func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
80303	s.LaunchTemplate = v
80304	return s
80305}
80306
80307// SetLicenseSpecifications sets the LicenseSpecifications field's value.
80308func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
80309	s.LicenseSpecifications = v
80310	return s
80311}
80312
80313// SetMaxCount sets the MaxCount field's value.
80314func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
80315	s.MaxCount = &v
80316	return s
80317}
80318
80319// SetMinCount sets the MinCount field's value.
80320func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
80321	s.MinCount = &v
80322	return s
80323}
80324
80325// SetMonitoring sets the Monitoring field's value.
80326func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
80327	s.Monitoring = v
80328	return s
80329}
80330
80331// SetNetworkInterfaces sets the NetworkInterfaces field's value.
80332func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
80333	s.NetworkInterfaces = v
80334	return s
80335}
80336
80337// SetPlacement sets the Placement field's value.
80338func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
80339	s.Placement = v
80340	return s
80341}
80342
80343// SetPrivateIpAddress sets the PrivateIpAddress field's value.
80344func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
80345	s.PrivateIpAddress = &v
80346	return s
80347}
80348
80349// SetRamdiskId sets the RamdiskId field's value.
80350func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
80351	s.RamdiskId = &v
80352	return s
80353}
80354
80355// SetSecurityGroupIds sets the SecurityGroupIds field's value.
80356func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
80357	s.SecurityGroupIds = v
80358	return s
80359}
80360
80361// SetSecurityGroups sets the SecurityGroups field's value.
80362func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
80363	s.SecurityGroups = v
80364	return s
80365}
80366
80367// SetSubnetId sets the SubnetId field's value.
80368func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
80369	s.SubnetId = &v
80370	return s
80371}
80372
80373// SetTagSpecifications sets the TagSpecifications field's value.
80374func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
80375	s.TagSpecifications = v
80376	return s
80377}
80378
80379// SetUserData sets the UserData field's value.
80380func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
80381	s.UserData = &v
80382	return s
80383}
80384
80385// Describes the monitoring of an instance.
80386type RunInstancesMonitoringEnabled struct {
80387	_ struct{} `type:"structure"`
80388
80389	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
80390	// is enabled.
80391	//
80392	// Enabled is a required field
80393	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
80394}
80395
80396// String returns the string representation
80397func (s RunInstancesMonitoringEnabled) String() string {
80398	return awsutil.Prettify(s)
80399}
80400
80401// GoString returns the string representation
80402func (s RunInstancesMonitoringEnabled) GoString() string {
80403	return s.String()
80404}
80405
80406// Validate inspects the fields of the type to determine if they are valid.
80407func (s *RunInstancesMonitoringEnabled) Validate() error {
80408	invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
80409	if s.Enabled == nil {
80410		invalidParams.Add(request.NewErrParamRequired("Enabled"))
80411	}
80412
80413	if invalidParams.Len() > 0 {
80414		return invalidParams
80415	}
80416	return nil
80417}
80418
80419// SetEnabled sets the Enabled field's value.
80420func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
80421	s.Enabled = &v
80422	return s
80423}
80424
80425// Contains the parameters for RunScheduledInstances.
80426type RunScheduledInstancesInput struct {
80427	_ struct{} `type:"structure"`
80428
80429	// Unique, case-sensitive identifier that ensures the idempotency of the request.
80430	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
80431	ClientToken *string `type:"string" idempotencyToken:"true"`
80432
80433	// Checks whether you have the required permissions for the action, without
80434	// actually making the request, and provides an error response. If you have
80435	// the required permissions, the error response is DryRunOperation. Otherwise,
80436	// it is UnauthorizedOperation.
80437	DryRun *bool `type:"boolean"`
80438
80439	// The number of instances.
80440	//
80441	// Default: 1
80442	InstanceCount *int64 `type:"integer"`
80443
80444	// The launch specification. You must match the instance type, Availability
80445	// Zone, network, and platform of the schedule that you purchased.
80446	//
80447	// LaunchSpecification is a required field
80448	LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
80449
80450	// The Scheduled Instance ID.
80451	//
80452	// ScheduledInstanceId is a required field
80453	ScheduledInstanceId *string `type:"string" required:"true"`
80454}
80455
80456// String returns the string representation
80457func (s RunScheduledInstancesInput) String() string {
80458	return awsutil.Prettify(s)
80459}
80460
80461// GoString returns the string representation
80462func (s RunScheduledInstancesInput) GoString() string {
80463	return s.String()
80464}
80465
80466// Validate inspects the fields of the type to determine if they are valid.
80467func (s *RunScheduledInstancesInput) Validate() error {
80468	invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
80469	if s.LaunchSpecification == nil {
80470		invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
80471	}
80472	if s.ScheduledInstanceId == nil {
80473		invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
80474	}
80475	if s.LaunchSpecification != nil {
80476		if err := s.LaunchSpecification.Validate(); err != nil {
80477			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
80478		}
80479	}
80480
80481	if invalidParams.Len() > 0 {
80482		return invalidParams
80483	}
80484	return nil
80485}
80486
80487// SetClientToken sets the ClientToken field's value.
80488func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
80489	s.ClientToken = &v
80490	return s
80491}
80492
80493// SetDryRun sets the DryRun field's value.
80494func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
80495	s.DryRun = &v
80496	return s
80497}
80498
80499// SetInstanceCount sets the InstanceCount field's value.
80500func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
80501	s.InstanceCount = &v
80502	return s
80503}
80504
80505// SetLaunchSpecification sets the LaunchSpecification field's value.
80506func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
80507	s.LaunchSpecification = v
80508	return s
80509}
80510
80511// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
80512func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
80513	s.ScheduledInstanceId = &v
80514	return s
80515}
80516
80517// Contains the output of RunScheduledInstances.
80518type RunScheduledInstancesOutput struct {
80519	_ struct{} `type:"structure"`
80520
80521	// The IDs of the newly launched instances.
80522	InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
80523}
80524
80525// String returns the string representation
80526func (s RunScheduledInstancesOutput) String() string {
80527	return awsutil.Prettify(s)
80528}
80529
80530// GoString returns the string representation
80531func (s RunScheduledInstancesOutput) GoString() string {
80532	return s.String()
80533}
80534
80535// SetInstanceIdSet sets the InstanceIdSet field's value.
80536func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
80537	s.InstanceIdSet = v
80538	return s
80539}
80540
80541// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
80542// AMI.
80543type S3Storage struct {
80544	_ struct{} `type:"structure"`
80545
80546	// The access key ID of the owner of the bucket. Before you specify a value
80547	// for your access key ID, review and follow the guidance in Best Practices
80548	// for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
80549	AWSAccessKeyId *string `type:"string"`
80550
80551	// The bucket in which to store the AMI. You can specify a bucket that you already
80552	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
80553	// a bucket that belongs to someone else, Amazon EC2 returns an error.
80554	Bucket *string `locationName:"bucket" type:"string"`
80555
80556	// The beginning of the file name of the AMI.
80557	Prefix *string `locationName:"prefix" type:"string"`
80558
80559	// An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
80560	// into Amazon S3 on your behalf.
80561	//
80562	// UploadPolicy is automatically base64 encoded/decoded by the SDK.
80563	UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
80564
80565	// The signature of the JSON document.
80566	UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
80567}
80568
80569// String returns the string representation
80570func (s S3Storage) String() string {
80571	return awsutil.Prettify(s)
80572}
80573
80574// GoString returns the string representation
80575func (s S3Storage) GoString() string {
80576	return s.String()
80577}
80578
80579// SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
80580func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
80581	s.AWSAccessKeyId = &v
80582	return s
80583}
80584
80585// SetBucket sets the Bucket field's value.
80586func (s *S3Storage) SetBucket(v string) *S3Storage {
80587	s.Bucket = &v
80588	return s
80589}
80590
80591// SetPrefix sets the Prefix field's value.
80592func (s *S3Storage) SetPrefix(v string) *S3Storage {
80593	s.Prefix = &v
80594	return s
80595}
80596
80597// SetUploadPolicy sets the UploadPolicy field's value.
80598func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
80599	s.UploadPolicy = v
80600	return s
80601}
80602
80603// SetUploadPolicySignature sets the UploadPolicySignature field's value.
80604func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
80605	s.UploadPolicySignature = &v
80606	return s
80607}
80608
80609// Describes a Scheduled Instance.
80610type ScheduledInstance struct {
80611	_ struct{} `type:"structure"`
80612
80613	// The Availability Zone.
80614	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
80615
80616	// The date when the Scheduled Instance was purchased.
80617	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
80618
80619	// The hourly price for a single instance.
80620	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
80621
80622	// The number of instances.
80623	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
80624
80625	// The instance type.
80626	InstanceType *string `locationName:"instanceType" type:"string"`
80627
80628	// The network platform (EC2-Classic or EC2-VPC).
80629	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
80630
80631	// The time for the next schedule to start.
80632	NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
80633
80634	// The platform (Linux/UNIX or Windows).
80635	Platform *string `locationName:"platform" type:"string"`
80636
80637	// The time that the previous schedule ended or will end.
80638	PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
80639
80640	// The schedule recurrence.
80641	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
80642
80643	// The Scheduled Instance ID.
80644	ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
80645
80646	// The number of hours in the schedule.
80647	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
80648
80649	// The end date for the Scheduled Instance.
80650	TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
80651
80652	// The start date for the Scheduled Instance.
80653	TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
80654
80655	// The total number of hours for a single instance for the entire term.
80656	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
80657}
80658
80659// String returns the string representation
80660func (s ScheduledInstance) String() string {
80661	return awsutil.Prettify(s)
80662}
80663
80664// GoString returns the string representation
80665func (s ScheduledInstance) GoString() string {
80666	return s.String()
80667}
80668
80669// SetAvailabilityZone sets the AvailabilityZone field's value.
80670func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
80671	s.AvailabilityZone = &v
80672	return s
80673}
80674
80675// SetCreateDate sets the CreateDate field's value.
80676func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
80677	s.CreateDate = &v
80678	return s
80679}
80680
80681// SetHourlyPrice sets the HourlyPrice field's value.
80682func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
80683	s.HourlyPrice = &v
80684	return s
80685}
80686
80687// SetInstanceCount sets the InstanceCount field's value.
80688func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
80689	s.InstanceCount = &v
80690	return s
80691}
80692
80693// SetInstanceType sets the InstanceType field's value.
80694func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
80695	s.InstanceType = &v
80696	return s
80697}
80698
80699// SetNetworkPlatform sets the NetworkPlatform field's value.
80700func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
80701	s.NetworkPlatform = &v
80702	return s
80703}
80704
80705// SetNextSlotStartTime sets the NextSlotStartTime field's value.
80706func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
80707	s.NextSlotStartTime = &v
80708	return s
80709}
80710
80711// SetPlatform sets the Platform field's value.
80712func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
80713	s.Platform = &v
80714	return s
80715}
80716
80717// SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
80718func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
80719	s.PreviousSlotEndTime = &v
80720	return s
80721}
80722
80723// SetRecurrence sets the Recurrence field's value.
80724func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
80725	s.Recurrence = v
80726	return s
80727}
80728
80729// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
80730func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
80731	s.ScheduledInstanceId = &v
80732	return s
80733}
80734
80735// SetSlotDurationInHours sets the SlotDurationInHours field's value.
80736func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
80737	s.SlotDurationInHours = &v
80738	return s
80739}
80740
80741// SetTermEndDate sets the TermEndDate field's value.
80742func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
80743	s.TermEndDate = &v
80744	return s
80745}
80746
80747// SetTermStartDate sets the TermStartDate field's value.
80748func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
80749	s.TermStartDate = &v
80750	return s
80751}
80752
80753// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
80754func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
80755	s.TotalScheduledInstanceHours = &v
80756	return s
80757}
80758
80759// Describes a schedule that is available for your Scheduled Instances.
80760type ScheduledInstanceAvailability struct {
80761	_ struct{} `type:"structure"`
80762
80763	// The Availability Zone.
80764	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
80765
80766	// The number of available instances.
80767	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
80768
80769	// The time period for the first schedule to start.
80770	FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
80771
80772	// The hourly price for a single instance.
80773	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
80774
80775	// The instance type. You can specify one of the C3, C4, M4, or R3 instance
80776	// types.
80777	InstanceType *string `locationName:"instanceType" type:"string"`
80778
80779	// The maximum term. The only possible value is 365 days.
80780	MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
80781
80782	// The minimum term. The only possible value is 365 days.
80783	MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
80784
80785	// The network platform (EC2-Classic or EC2-VPC).
80786	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
80787
80788	// The platform (Linux/UNIX or Windows).
80789	Platform *string `locationName:"platform" type:"string"`
80790
80791	// The purchase token. This token expires in two hours.
80792	PurchaseToken *string `locationName:"purchaseToken" type:"string"`
80793
80794	// The schedule recurrence.
80795	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
80796
80797	// The number of hours in the schedule.
80798	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
80799
80800	// The total number of hours for a single instance for the entire term.
80801	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
80802}
80803
80804// String returns the string representation
80805func (s ScheduledInstanceAvailability) String() string {
80806	return awsutil.Prettify(s)
80807}
80808
80809// GoString returns the string representation
80810func (s ScheduledInstanceAvailability) GoString() string {
80811	return s.String()
80812}
80813
80814// SetAvailabilityZone sets the AvailabilityZone field's value.
80815func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
80816	s.AvailabilityZone = &v
80817	return s
80818}
80819
80820// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
80821func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
80822	s.AvailableInstanceCount = &v
80823	return s
80824}
80825
80826// SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
80827func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
80828	s.FirstSlotStartTime = &v
80829	return s
80830}
80831
80832// SetHourlyPrice sets the HourlyPrice field's value.
80833func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
80834	s.HourlyPrice = &v
80835	return s
80836}
80837
80838// SetInstanceType sets the InstanceType field's value.
80839func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
80840	s.InstanceType = &v
80841	return s
80842}
80843
80844// SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
80845func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
80846	s.MaxTermDurationInDays = &v
80847	return s
80848}
80849
80850// SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
80851func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
80852	s.MinTermDurationInDays = &v
80853	return s
80854}
80855
80856// SetNetworkPlatform sets the NetworkPlatform field's value.
80857func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
80858	s.NetworkPlatform = &v
80859	return s
80860}
80861
80862// SetPlatform sets the Platform field's value.
80863func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
80864	s.Platform = &v
80865	return s
80866}
80867
80868// SetPurchaseToken sets the PurchaseToken field's value.
80869func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
80870	s.PurchaseToken = &v
80871	return s
80872}
80873
80874// SetRecurrence sets the Recurrence field's value.
80875func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
80876	s.Recurrence = v
80877	return s
80878}
80879
80880// SetSlotDurationInHours sets the SlotDurationInHours field's value.
80881func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
80882	s.SlotDurationInHours = &v
80883	return s
80884}
80885
80886// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
80887func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
80888	s.TotalScheduledInstanceHours = &v
80889	return s
80890}
80891
80892// Describes the recurring schedule for a Scheduled Instance.
80893type ScheduledInstanceRecurrence struct {
80894	_ struct{} `type:"structure"`
80895
80896	// The frequency (Daily, Weekly, or Monthly).
80897	Frequency *string `locationName:"frequency" type:"string"`
80898
80899	// The interval quantity. The interval unit depends on the value of frequency.
80900	// For example, every 2 weeks or every 2 months.
80901	Interval *int64 `locationName:"interval" type:"integer"`
80902
80903	// The days. For a monthly schedule, this is one or more days of the month (1-31).
80904	// For a weekly schedule, this is one or more days of the week (1-7, where 1
80905	// is Sunday).
80906	OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
80907
80908	// Indicates whether the occurrence is relative to the end of the specified
80909	// week or month.
80910	OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
80911
80912	// The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
80913	OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
80914}
80915
80916// String returns the string representation
80917func (s ScheduledInstanceRecurrence) String() string {
80918	return awsutil.Prettify(s)
80919}
80920
80921// GoString returns the string representation
80922func (s ScheduledInstanceRecurrence) GoString() string {
80923	return s.String()
80924}
80925
80926// SetFrequency sets the Frequency field's value.
80927func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
80928	s.Frequency = &v
80929	return s
80930}
80931
80932// SetInterval sets the Interval field's value.
80933func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
80934	s.Interval = &v
80935	return s
80936}
80937
80938// SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
80939func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
80940	s.OccurrenceDaySet = v
80941	return s
80942}
80943
80944// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
80945func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
80946	s.OccurrenceRelativeToEnd = &v
80947	return s
80948}
80949
80950// SetOccurrenceUnit sets the OccurrenceUnit field's value.
80951func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
80952	s.OccurrenceUnit = &v
80953	return s
80954}
80955
80956// Describes the recurring schedule for a Scheduled Instance.
80957type ScheduledInstanceRecurrenceRequest struct {
80958	_ struct{} `type:"structure"`
80959
80960	// The frequency (Daily, Weekly, or Monthly).
80961	Frequency *string `type:"string"`
80962
80963	// The interval quantity. The interval unit depends on the value of Frequency.
80964	// For example, every 2 weeks or every 2 months.
80965	Interval *int64 `type:"integer"`
80966
80967	// The days. For a monthly schedule, this is one or more days of the month (1-31).
80968	// For a weekly schedule, this is one or more days of the week (1-7, where 1
80969	// is Sunday). You can't specify this value with a daily schedule. If the occurrence
80970	// is relative to the end of the month, you can specify only a single day.
80971	OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
80972
80973	// Indicates whether the occurrence is relative to the end of the specified
80974	// week or month. You can't specify this value with a daily schedule.
80975	OccurrenceRelativeToEnd *bool `type:"boolean"`
80976
80977	// The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
80978	// for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
80979	// You can't specify this value with a daily schedule.
80980	OccurrenceUnit *string `type:"string"`
80981}
80982
80983// String returns the string representation
80984func (s ScheduledInstanceRecurrenceRequest) String() string {
80985	return awsutil.Prettify(s)
80986}
80987
80988// GoString returns the string representation
80989func (s ScheduledInstanceRecurrenceRequest) GoString() string {
80990	return s.String()
80991}
80992
80993// SetFrequency sets the Frequency field's value.
80994func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
80995	s.Frequency = &v
80996	return s
80997}
80998
80999// SetInterval sets the Interval field's value.
81000func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
81001	s.Interval = &v
81002	return s
81003}
81004
81005// SetOccurrenceDays sets the OccurrenceDays field's value.
81006func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
81007	s.OccurrenceDays = v
81008	return s
81009}
81010
81011// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
81012func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
81013	s.OccurrenceRelativeToEnd = &v
81014	return s
81015}
81016
81017// SetOccurrenceUnit sets the OccurrenceUnit field's value.
81018func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
81019	s.OccurrenceUnit = &v
81020	return s
81021}
81022
81023// Describes a block device mapping for a Scheduled Instance.
81024type ScheduledInstancesBlockDeviceMapping struct {
81025	_ struct{} `type:"structure"`
81026
81027	// The device name (for example, /dev/sdh or xvdh).
81028	DeviceName *string `type:"string"`
81029
81030	// Parameters used to set up EBS volumes automatically when the instance is
81031	// launched.
81032	Ebs *ScheduledInstancesEbs `type:"structure"`
81033
81034	// Suppresses the specified device included in the block device mapping of the
81035	// AMI.
81036	NoDevice *string `type:"string"`
81037
81038	// The virtual device name (ephemeralN). Instance store volumes are numbered
81039	// starting from 0. An instance type with two available instance store volumes
81040	// can specify mappings for ephemeral0 and ephemeral1. The number of available
81041	// instance store volumes depends on the instance type. After you connect to
81042	// the instance, you must mount the volume.
81043	//
81044	// Constraints: For M3 instances, you must specify instance store volumes in
81045	// the block device mapping for the instance. When you launch an M3 instance,
81046	// we ignore any instance store volumes specified in the block device mapping
81047	// for the AMI.
81048	VirtualName *string `type:"string"`
81049}
81050
81051// String returns the string representation
81052func (s ScheduledInstancesBlockDeviceMapping) String() string {
81053	return awsutil.Prettify(s)
81054}
81055
81056// GoString returns the string representation
81057func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
81058	return s.String()
81059}
81060
81061// SetDeviceName sets the DeviceName field's value.
81062func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
81063	s.DeviceName = &v
81064	return s
81065}
81066
81067// SetEbs sets the Ebs field's value.
81068func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
81069	s.Ebs = v
81070	return s
81071}
81072
81073// SetNoDevice sets the NoDevice field's value.
81074func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
81075	s.NoDevice = &v
81076	return s
81077}
81078
81079// SetVirtualName sets the VirtualName field's value.
81080func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
81081	s.VirtualName = &v
81082	return s
81083}
81084
81085// Describes an EBS volume for a Scheduled Instance.
81086type ScheduledInstancesEbs struct {
81087	_ struct{} `type:"structure"`
81088
81089	// Indicates whether the volume is deleted on instance termination.
81090	DeleteOnTermination *bool `type:"boolean"`
81091
81092	// Indicates whether the volume is encrypted. You can attached encrypted volumes
81093	// only to instances that support them.
81094	Encrypted *bool `type:"boolean"`
81095
81096	// The number of I/O operations per second (IOPS) that the volume supports.
81097	// For io1 volumes, this represents the number of IOPS that are provisioned
81098	// for the volume. For gp2 volumes, this represents the baseline performance
81099	// of the volume and the rate at which the volume accumulates I/O credits for
81100	// bursting. For more information about gp2 baseline performance, I/O credits,
81101	// and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
81102	// in the Amazon Elastic Compute Cloud User Guide.
81103	//
81104	// Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
81105	// gp2 volumes.
81106	//
81107	// Condition: This parameter is required for requests to create io1volumes;
81108	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
81109	Iops *int64 `type:"integer"`
81110
81111	// The ID of the snapshot.
81112	SnapshotId *string `type:"string"`
81113
81114	// The size of the volume, in GiB.
81115	//
81116	// Default: If you're creating the volume from a snapshot and don't specify
81117	// a volume size, the default is the snapshot size.
81118	VolumeSize *int64 `type:"integer"`
81119
81120	// The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
81121	// Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
81122	//
81123	// Default: standard
81124	VolumeType *string `type:"string"`
81125}
81126
81127// String returns the string representation
81128func (s ScheduledInstancesEbs) String() string {
81129	return awsutil.Prettify(s)
81130}
81131
81132// GoString returns the string representation
81133func (s ScheduledInstancesEbs) GoString() string {
81134	return s.String()
81135}
81136
81137// SetDeleteOnTermination sets the DeleteOnTermination field's value.
81138func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
81139	s.DeleteOnTermination = &v
81140	return s
81141}
81142
81143// SetEncrypted sets the Encrypted field's value.
81144func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
81145	s.Encrypted = &v
81146	return s
81147}
81148
81149// SetIops sets the Iops field's value.
81150func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
81151	s.Iops = &v
81152	return s
81153}
81154
81155// SetSnapshotId sets the SnapshotId field's value.
81156func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
81157	s.SnapshotId = &v
81158	return s
81159}
81160
81161// SetVolumeSize sets the VolumeSize field's value.
81162func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
81163	s.VolumeSize = &v
81164	return s
81165}
81166
81167// SetVolumeType sets the VolumeType field's value.
81168func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
81169	s.VolumeType = &v
81170	return s
81171}
81172
81173// Describes an IAM instance profile for a Scheduled Instance.
81174type ScheduledInstancesIamInstanceProfile struct {
81175	_ struct{} `type:"structure"`
81176
81177	// The Amazon Resource Name (ARN).
81178	Arn *string `type:"string"`
81179
81180	// The name.
81181	Name *string `type:"string"`
81182}
81183
81184// String returns the string representation
81185func (s ScheduledInstancesIamInstanceProfile) String() string {
81186	return awsutil.Prettify(s)
81187}
81188
81189// GoString returns the string representation
81190func (s ScheduledInstancesIamInstanceProfile) GoString() string {
81191	return s.String()
81192}
81193
81194// SetArn sets the Arn field's value.
81195func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
81196	s.Arn = &v
81197	return s
81198}
81199
81200// SetName sets the Name field's value.
81201func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
81202	s.Name = &v
81203	return s
81204}
81205
81206// Describes an IPv6 address.
81207type ScheduledInstancesIpv6Address struct {
81208	_ struct{} `type:"structure"`
81209
81210	// The IPv6 address.
81211	Ipv6Address *string `type:"string"`
81212}
81213
81214// String returns the string representation
81215func (s ScheduledInstancesIpv6Address) String() string {
81216	return awsutil.Prettify(s)
81217}
81218
81219// GoString returns the string representation
81220func (s ScheduledInstancesIpv6Address) GoString() string {
81221	return s.String()
81222}
81223
81224// SetIpv6Address sets the Ipv6Address field's value.
81225func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
81226	s.Ipv6Address = &v
81227	return s
81228}
81229
81230// Describes the launch specification for a Scheduled Instance.
81231//
81232// If you are launching the Scheduled Instance in EC2-VPC, you must specify
81233// the ID of the subnet. You can specify the subnet using either SubnetId or
81234// NetworkInterface.
81235type ScheduledInstancesLaunchSpecification struct {
81236	_ struct{} `type:"structure"`
81237
81238	// The block device mapping entries.
81239	BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
81240
81241	// Indicates whether the instances are optimized for EBS I/O. This optimization
81242	// provides dedicated throughput to Amazon EBS and an optimized configuration
81243	// stack to provide optimal EBS I/O performance. This optimization isn't available
81244	// with all instance types. Additional usage charges apply when using an EBS-optimized
81245	// instance.
81246	//
81247	// Default: false
81248	EbsOptimized *bool `type:"boolean"`
81249
81250	// The IAM instance profile.
81251	IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
81252
81253	// The ID of the Amazon Machine Image (AMI).
81254	//
81255	// ImageId is a required field
81256	ImageId *string `type:"string" required:"true"`
81257
81258	// The instance type.
81259	InstanceType *string `type:"string"`
81260
81261	// The ID of the kernel.
81262	KernelId *string `type:"string"`
81263
81264	// The name of the key pair.
81265	KeyName *string `type:"string"`
81266
81267	// Enable or disable monitoring for the instances.
81268	Monitoring *ScheduledInstancesMonitoring `type:"structure"`
81269
81270	// The network interfaces.
81271	NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
81272
81273	// The placement information.
81274	Placement *ScheduledInstancesPlacement `type:"structure"`
81275
81276	// The ID of the RAM disk.
81277	RamdiskId *string `type:"string"`
81278
81279	// The IDs of the security groups.
81280	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
81281
81282	// The ID of the subnet in which to launch the instances.
81283	SubnetId *string `type:"string"`
81284
81285	// The base64-encoded MIME user data.
81286	UserData *string `type:"string"`
81287}
81288
81289// String returns the string representation
81290func (s ScheduledInstancesLaunchSpecification) String() string {
81291	return awsutil.Prettify(s)
81292}
81293
81294// GoString returns the string representation
81295func (s ScheduledInstancesLaunchSpecification) GoString() string {
81296	return s.String()
81297}
81298
81299// Validate inspects the fields of the type to determine if they are valid.
81300func (s *ScheduledInstancesLaunchSpecification) Validate() error {
81301	invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
81302	if s.ImageId == nil {
81303		invalidParams.Add(request.NewErrParamRequired("ImageId"))
81304	}
81305
81306	if invalidParams.Len() > 0 {
81307		return invalidParams
81308	}
81309	return nil
81310}
81311
81312// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
81313func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
81314	s.BlockDeviceMappings = v
81315	return s
81316}
81317
81318// SetEbsOptimized sets the EbsOptimized field's value.
81319func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
81320	s.EbsOptimized = &v
81321	return s
81322}
81323
81324// SetIamInstanceProfile sets the IamInstanceProfile field's value.
81325func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
81326	s.IamInstanceProfile = v
81327	return s
81328}
81329
81330// SetImageId sets the ImageId field's value.
81331func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
81332	s.ImageId = &v
81333	return s
81334}
81335
81336// SetInstanceType sets the InstanceType field's value.
81337func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
81338	s.InstanceType = &v
81339	return s
81340}
81341
81342// SetKernelId sets the KernelId field's value.
81343func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
81344	s.KernelId = &v
81345	return s
81346}
81347
81348// SetKeyName sets the KeyName field's value.
81349func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
81350	s.KeyName = &v
81351	return s
81352}
81353
81354// SetMonitoring sets the Monitoring field's value.
81355func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
81356	s.Monitoring = v
81357	return s
81358}
81359
81360// SetNetworkInterfaces sets the NetworkInterfaces field's value.
81361func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
81362	s.NetworkInterfaces = v
81363	return s
81364}
81365
81366// SetPlacement sets the Placement field's value.
81367func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
81368	s.Placement = v
81369	return s
81370}
81371
81372// SetRamdiskId sets the RamdiskId field's value.
81373func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
81374	s.RamdiskId = &v
81375	return s
81376}
81377
81378// SetSecurityGroupIds sets the SecurityGroupIds field's value.
81379func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
81380	s.SecurityGroupIds = v
81381	return s
81382}
81383
81384// SetSubnetId sets the SubnetId field's value.
81385func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
81386	s.SubnetId = &v
81387	return s
81388}
81389
81390// SetUserData sets the UserData field's value.
81391func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
81392	s.UserData = &v
81393	return s
81394}
81395
81396// Describes whether monitoring is enabled for a Scheduled Instance.
81397type ScheduledInstancesMonitoring struct {
81398	_ struct{} `type:"structure"`
81399
81400	// Indicates whether monitoring is enabled.
81401	Enabled *bool `type:"boolean"`
81402}
81403
81404// String returns the string representation
81405func (s ScheduledInstancesMonitoring) String() string {
81406	return awsutil.Prettify(s)
81407}
81408
81409// GoString returns the string representation
81410func (s ScheduledInstancesMonitoring) GoString() string {
81411	return s.String()
81412}
81413
81414// SetEnabled sets the Enabled field's value.
81415func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
81416	s.Enabled = &v
81417	return s
81418}
81419
81420// Describes a network interface for a Scheduled Instance.
81421type ScheduledInstancesNetworkInterface struct {
81422	_ struct{} `type:"structure"`
81423
81424	// Indicates whether to assign a public IPv4 address to instances launched in
81425	// a VPC. The public IPv4 address can only be assigned to a network interface
81426	// for eth0, and can only be assigned to a new network interface, not an existing
81427	// one. You cannot specify more than one network interface in the request. If
81428	// launching into a default subnet, the default value is true.
81429	AssociatePublicIpAddress *bool `type:"boolean"`
81430
81431	// Indicates whether to delete the interface when the instance is terminated.
81432	DeleteOnTermination *bool `type:"boolean"`
81433
81434	// The description.
81435	Description *string `type:"string"`
81436
81437	// The index of the device for the network interface attachment.
81438	DeviceIndex *int64 `type:"integer"`
81439
81440	// The IDs of the security groups.
81441	Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
81442
81443	// The number of IPv6 addresses to assign to the network interface. The IPv6
81444	// addresses are automatically selected from the subnet range.
81445	Ipv6AddressCount *int64 `type:"integer"`
81446
81447	// The specific IPv6 addresses from the subnet range.
81448	Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
81449
81450	// The ID of the network interface.
81451	NetworkInterfaceId *string `type:"string"`
81452
81453	// The IPv4 address of the network interface within the subnet.
81454	PrivateIpAddress *string `type:"string"`
81455
81456	// The private IPv4 addresses.
81457	PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
81458
81459	// The number of secondary private IPv4 addresses.
81460	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
81461
81462	// The ID of the subnet.
81463	SubnetId *string `type:"string"`
81464}
81465
81466// String returns the string representation
81467func (s ScheduledInstancesNetworkInterface) String() string {
81468	return awsutil.Prettify(s)
81469}
81470
81471// GoString returns the string representation
81472func (s ScheduledInstancesNetworkInterface) GoString() string {
81473	return s.String()
81474}
81475
81476// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
81477func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
81478	s.AssociatePublicIpAddress = &v
81479	return s
81480}
81481
81482// SetDeleteOnTermination sets the DeleteOnTermination field's value.
81483func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
81484	s.DeleteOnTermination = &v
81485	return s
81486}
81487
81488// SetDescription sets the Description field's value.
81489func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
81490	s.Description = &v
81491	return s
81492}
81493
81494// SetDeviceIndex sets the DeviceIndex field's value.
81495func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
81496	s.DeviceIndex = &v
81497	return s
81498}
81499
81500// SetGroups sets the Groups field's value.
81501func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
81502	s.Groups = v
81503	return s
81504}
81505
81506// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
81507func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
81508	s.Ipv6AddressCount = &v
81509	return s
81510}
81511
81512// SetIpv6Addresses sets the Ipv6Addresses field's value.
81513func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
81514	s.Ipv6Addresses = v
81515	return s
81516}
81517
81518// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
81519func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
81520	s.NetworkInterfaceId = &v
81521	return s
81522}
81523
81524// SetPrivateIpAddress sets the PrivateIpAddress field's value.
81525func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
81526	s.PrivateIpAddress = &v
81527	return s
81528}
81529
81530// SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
81531func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
81532	s.PrivateIpAddressConfigs = v
81533	return s
81534}
81535
81536// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
81537func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
81538	s.SecondaryPrivateIpAddressCount = &v
81539	return s
81540}
81541
81542// SetSubnetId sets the SubnetId field's value.
81543func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
81544	s.SubnetId = &v
81545	return s
81546}
81547
81548// Describes the placement for a Scheduled Instance.
81549type ScheduledInstancesPlacement struct {
81550	_ struct{} `type:"structure"`
81551
81552	// The Availability Zone.
81553	AvailabilityZone *string `type:"string"`
81554
81555	// The name of the placement group.
81556	GroupName *string `type:"string"`
81557}
81558
81559// String returns the string representation
81560func (s ScheduledInstancesPlacement) String() string {
81561	return awsutil.Prettify(s)
81562}
81563
81564// GoString returns the string representation
81565func (s ScheduledInstancesPlacement) GoString() string {
81566	return s.String()
81567}
81568
81569// SetAvailabilityZone sets the AvailabilityZone field's value.
81570func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
81571	s.AvailabilityZone = &v
81572	return s
81573}
81574
81575// SetGroupName sets the GroupName field's value.
81576func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
81577	s.GroupName = &v
81578	return s
81579}
81580
81581// Describes a private IPv4 address for a Scheduled Instance.
81582type ScheduledInstancesPrivateIpAddressConfig struct {
81583	_ struct{} `type:"structure"`
81584
81585	// Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
81586	// IPv4 address.
81587	Primary *bool `type:"boolean"`
81588
81589	// The IPv4 address.
81590	PrivateIpAddress *string `type:"string"`
81591}
81592
81593// String returns the string representation
81594func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
81595	return awsutil.Prettify(s)
81596}
81597
81598// GoString returns the string representation
81599func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
81600	return s.String()
81601}
81602
81603// SetPrimary sets the Primary field's value.
81604func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
81605	s.Primary = &v
81606	return s
81607}
81608
81609// SetPrivateIpAddress sets the PrivateIpAddress field's value.
81610func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
81611	s.PrivateIpAddress = &v
81612	return s
81613}
81614
81615type SearchTransitGatewayRoutesInput struct {
81616	_ struct{} `type:"structure"`
81617
81618	// Checks whether you have the required permissions for the action, without
81619	// actually making the request, and provides an error response. If you have
81620	// the required permissions, the error response is DryRunOperation. Otherwise,
81621	// it is UnauthorizedOperation.
81622	DryRun *bool `type:"boolean"`
81623
81624	// One or more filters. The possible values are:
81625	//
81626	//    * attachment.transit-gateway-attachment-id- The id of the transit gateway
81627	//    attachment.
81628	//
81629	//    * attachment.resource-id - The resource id of the transit gateway attachment.
81630	//
81631	//    * attachment.resource-type - The attachment resource type (vpc | vpn).
81632	//
81633	//    * route-search.exact-match - The exact match of the specified filter.
81634	//
81635	//    * route-search.longest-prefix-match - The longest prefix that matches
81636	//    the route.
81637	//
81638	//    * route-search.subnet-of-match - The routes with a subnet that match the
81639	//    specified CIDR filter.
81640	//
81641	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
81642	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
81643	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
81644	//    then the result returns 10.0.1.0/29.
81645	//
81646	//    * state - The state of the attachment (available | deleted | deleting
81647	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
81648	//    | rejecting).
81649	//
81650	//    * type - The type of roue (active | blackhole).
81651	//
81652	// Filters is a required field
81653	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
81654
81655	// The maximum number of routes to return.
81656	MaxResults *int64 `min:"5" type:"integer"`
81657
81658	// The ID of the transit gateway route table.
81659	//
81660	// TransitGatewayRouteTableId is a required field
81661	TransitGatewayRouteTableId *string `type:"string" required:"true"`
81662}
81663
81664// String returns the string representation
81665func (s SearchTransitGatewayRoutesInput) String() string {
81666	return awsutil.Prettify(s)
81667}
81668
81669// GoString returns the string representation
81670func (s SearchTransitGatewayRoutesInput) GoString() string {
81671	return s.String()
81672}
81673
81674// Validate inspects the fields of the type to determine if they are valid.
81675func (s *SearchTransitGatewayRoutesInput) Validate() error {
81676	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
81677	if s.Filters == nil {
81678		invalidParams.Add(request.NewErrParamRequired("Filters"))
81679	}
81680	if s.MaxResults != nil && *s.MaxResults < 5 {
81681		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
81682	}
81683	if s.TransitGatewayRouteTableId == nil {
81684		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
81685	}
81686
81687	if invalidParams.Len() > 0 {
81688		return invalidParams
81689	}
81690	return nil
81691}
81692
81693// SetDryRun sets the DryRun field's value.
81694func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
81695	s.DryRun = &v
81696	return s
81697}
81698
81699// SetFilters sets the Filters field's value.
81700func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
81701	s.Filters = v
81702	return s
81703}
81704
81705// SetMaxResults sets the MaxResults field's value.
81706func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
81707	s.MaxResults = &v
81708	return s
81709}
81710
81711// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
81712func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
81713	s.TransitGatewayRouteTableId = &v
81714	return s
81715}
81716
81717type SearchTransitGatewayRoutesOutput struct {
81718	_ struct{} `type:"structure"`
81719
81720	// Indicates whether there are additional routes available.
81721	AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
81722
81723	// Information about the routes.
81724	Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
81725}
81726
81727// String returns the string representation
81728func (s SearchTransitGatewayRoutesOutput) String() string {
81729	return awsutil.Prettify(s)
81730}
81731
81732// GoString returns the string representation
81733func (s SearchTransitGatewayRoutesOutput) GoString() string {
81734	return s.String()
81735}
81736
81737// SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
81738func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
81739	s.AdditionalRoutesAvailable = &v
81740	return s
81741}
81742
81743// SetRoutes sets the Routes field's value.
81744func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
81745	s.Routes = v
81746	return s
81747}
81748
81749// Describes a security group
81750type SecurityGroup struct {
81751	_ struct{} `type:"structure"`
81752
81753	// A description of the security group.
81754	Description *string `locationName:"groupDescription" type:"string"`
81755
81756	// The ID of the security group.
81757	GroupId *string `locationName:"groupId" type:"string"`
81758
81759	// The name of the security group.
81760	GroupName *string `locationName:"groupName" type:"string"`
81761
81762	// The inbound rules associated with the security group.
81763	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
81764
81765	// [VPC only] The outbound rules associated with the security group.
81766	IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
81767
81768	// The AWS account ID of the owner of the security group.
81769	OwnerId *string `locationName:"ownerId" type:"string"`
81770
81771	// Any tags assigned to the security group.
81772	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81773
81774	// [VPC only] The ID of the VPC for the security group.
81775	VpcId *string `locationName:"vpcId" type:"string"`
81776}
81777
81778// String returns the string representation
81779func (s SecurityGroup) String() string {
81780	return awsutil.Prettify(s)
81781}
81782
81783// GoString returns the string representation
81784func (s SecurityGroup) GoString() string {
81785	return s.String()
81786}
81787
81788// SetDescription sets the Description field's value.
81789func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
81790	s.Description = &v
81791	return s
81792}
81793
81794// SetGroupId sets the GroupId field's value.
81795func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
81796	s.GroupId = &v
81797	return s
81798}
81799
81800// SetGroupName sets the GroupName field's value.
81801func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
81802	s.GroupName = &v
81803	return s
81804}
81805
81806// SetIpPermissions sets the IpPermissions field's value.
81807func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
81808	s.IpPermissions = v
81809	return s
81810}
81811
81812// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
81813func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
81814	s.IpPermissionsEgress = v
81815	return s
81816}
81817
81818// SetOwnerId sets the OwnerId field's value.
81819func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
81820	s.OwnerId = &v
81821	return s
81822}
81823
81824// SetTags sets the Tags field's value.
81825func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
81826	s.Tags = v
81827	return s
81828}
81829
81830// SetVpcId sets the VpcId field's value.
81831func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
81832	s.VpcId = &v
81833	return s
81834}
81835
81836// Describes a security group.
81837type SecurityGroupIdentifier struct {
81838	_ struct{} `type:"structure"`
81839
81840	// The ID of the security group.
81841	GroupId *string `locationName:"groupId" type:"string"`
81842
81843	// The name of the security group.
81844	GroupName *string `locationName:"groupName" type:"string"`
81845}
81846
81847// String returns the string representation
81848func (s SecurityGroupIdentifier) String() string {
81849	return awsutil.Prettify(s)
81850}
81851
81852// GoString returns the string representation
81853func (s SecurityGroupIdentifier) GoString() string {
81854	return s.String()
81855}
81856
81857// SetGroupId sets the GroupId field's value.
81858func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
81859	s.GroupId = &v
81860	return s
81861}
81862
81863// SetGroupName sets the GroupName field's value.
81864func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
81865	s.GroupName = &v
81866	return s
81867}
81868
81869// Describes a VPC with a security group that references your security group.
81870type SecurityGroupReference struct {
81871	_ struct{} `type:"structure"`
81872
81873	// The ID of your security group.
81874	GroupId *string `locationName:"groupId" type:"string"`
81875
81876	// The ID of the VPC with the referencing security group.
81877	ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
81878
81879	// The ID of the VPC peering connection.
81880	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
81881}
81882
81883// String returns the string representation
81884func (s SecurityGroupReference) String() string {
81885	return awsutil.Prettify(s)
81886}
81887
81888// GoString returns the string representation
81889func (s SecurityGroupReference) GoString() string {
81890	return s.String()
81891}
81892
81893// SetGroupId sets the GroupId field's value.
81894func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
81895	s.GroupId = &v
81896	return s
81897}
81898
81899// SetReferencingVpcId sets the ReferencingVpcId field's value.
81900func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
81901	s.ReferencingVpcId = &v
81902	return s
81903}
81904
81905// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
81906func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
81907	s.VpcPeeringConnectionId = &v
81908	return s
81909}
81910
81911// Describes a service configuration for a VPC endpoint service.
81912type ServiceConfiguration struct {
81913	_ struct{} `type:"structure"`
81914
81915	// Indicates whether requests from other AWS accounts to create an endpoint
81916	// to the service must first be accepted.
81917	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
81918
81919	// In the Availability Zones in which the service is available.
81920	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
81921
81922	// The DNS names for the service.
81923	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
81924
81925	// Indicates whether the service manages it's VPC endpoints. Management of the
81926	// service VPC endpoints using the VPC endpoint API is restricted.
81927	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
81928
81929	// The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
81930	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
81931
81932	// The private DNS name for the service.
81933	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
81934
81935	// The ID of the service.
81936	ServiceId *string `locationName:"serviceId" type:"string"`
81937
81938	// The name of the service.
81939	ServiceName *string `locationName:"serviceName" type:"string"`
81940
81941	// The service state.
81942	ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
81943
81944	// The type of service.
81945	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
81946
81947	// Any tags assigned to the service.
81948	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81949}
81950
81951// String returns the string representation
81952func (s ServiceConfiguration) String() string {
81953	return awsutil.Prettify(s)
81954}
81955
81956// GoString returns the string representation
81957func (s ServiceConfiguration) GoString() string {
81958	return s.String()
81959}
81960
81961// SetAcceptanceRequired sets the AcceptanceRequired field's value.
81962func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
81963	s.AcceptanceRequired = &v
81964	return s
81965}
81966
81967// SetAvailabilityZones sets the AvailabilityZones field's value.
81968func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
81969	s.AvailabilityZones = v
81970	return s
81971}
81972
81973// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
81974func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
81975	s.BaseEndpointDnsNames = v
81976	return s
81977}
81978
81979// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
81980func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
81981	s.ManagesVpcEndpoints = &v
81982	return s
81983}
81984
81985// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
81986func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
81987	s.NetworkLoadBalancerArns = v
81988	return s
81989}
81990
81991// SetPrivateDnsName sets the PrivateDnsName field's value.
81992func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
81993	s.PrivateDnsName = &v
81994	return s
81995}
81996
81997// SetServiceId sets the ServiceId field's value.
81998func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
81999	s.ServiceId = &v
82000	return s
82001}
82002
82003// SetServiceName sets the ServiceName field's value.
82004func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
82005	s.ServiceName = &v
82006	return s
82007}
82008
82009// SetServiceState sets the ServiceState field's value.
82010func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
82011	s.ServiceState = &v
82012	return s
82013}
82014
82015// SetServiceType sets the ServiceType field's value.
82016func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
82017	s.ServiceType = v
82018	return s
82019}
82020
82021// SetTags sets the Tags field's value.
82022func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration {
82023	s.Tags = v
82024	return s
82025}
82026
82027// Describes a VPC endpoint service.
82028type ServiceDetail struct {
82029	_ struct{} `type:"structure"`
82030
82031	// Indicates whether VPC endpoint connection requests to the service must be
82032	// accepted by the service owner.
82033	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
82034
82035	// The Availability Zones in which the service is available.
82036	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
82037
82038	// The DNS names for the service.
82039	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
82040
82041	// Indicates whether the service manages it's VPC endpoints. Management of the
82042	// service VPC endpoints using the VPC endpoint API is restricted.
82043	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
82044
82045	// The AWS account ID of the service owner.
82046	Owner *string `locationName:"owner" type:"string"`
82047
82048	// The private DNS name for the service.
82049	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
82050
82051	// The ID of the endpoint service.
82052	ServiceId *string `locationName:"serviceId" type:"string"`
82053
82054	// The Amazon Resource Name (ARN) of the service.
82055	ServiceName *string `locationName:"serviceName" type:"string"`
82056
82057	// The type of service.
82058	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
82059
82060	// Any tags assigned to the service.
82061	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
82062
82063	// Indicates whether the service supports endpoint policies.
82064	VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
82065}
82066
82067// String returns the string representation
82068func (s ServiceDetail) String() string {
82069	return awsutil.Prettify(s)
82070}
82071
82072// GoString returns the string representation
82073func (s ServiceDetail) GoString() string {
82074	return s.String()
82075}
82076
82077// SetAcceptanceRequired sets the AcceptanceRequired field's value.
82078func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
82079	s.AcceptanceRequired = &v
82080	return s
82081}
82082
82083// SetAvailabilityZones sets the AvailabilityZones field's value.
82084func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
82085	s.AvailabilityZones = v
82086	return s
82087}
82088
82089// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
82090func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
82091	s.BaseEndpointDnsNames = v
82092	return s
82093}
82094
82095// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
82096func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail {
82097	s.ManagesVpcEndpoints = &v
82098	return s
82099}
82100
82101// SetOwner sets the Owner field's value.
82102func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
82103	s.Owner = &v
82104	return s
82105}
82106
82107// SetPrivateDnsName sets the PrivateDnsName field's value.
82108func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
82109	s.PrivateDnsName = &v
82110	return s
82111}
82112
82113// SetServiceId sets the ServiceId field's value.
82114func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail {
82115	s.ServiceId = &v
82116	return s
82117}
82118
82119// SetServiceName sets the ServiceName field's value.
82120func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
82121	s.ServiceName = &v
82122	return s
82123}
82124
82125// SetServiceType sets the ServiceType field's value.
82126func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
82127	s.ServiceType = v
82128	return s
82129}
82130
82131// SetTags sets the Tags field's value.
82132func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail {
82133	s.Tags = v
82134	return s
82135}
82136
82137// SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
82138func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
82139	s.VpcEndpointPolicySupported = &v
82140	return s
82141}
82142
82143// Describes the type of service for a VPC endpoint.
82144type ServiceTypeDetail struct {
82145	_ struct{} `type:"structure"`
82146
82147	// The type of service.
82148	ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
82149}
82150
82151// String returns the string representation
82152func (s ServiceTypeDetail) String() string {
82153	return awsutil.Prettify(s)
82154}
82155
82156// GoString returns the string representation
82157func (s ServiceTypeDetail) GoString() string {
82158	return s.String()
82159}
82160
82161// SetServiceType sets the ServiceType field's value.
82162func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
82163	s.ServiceType = &v
82164	return s
82165}
82166
82167// Describes the time period for a Scheduled Instance to start its first schedule.
82168// The time period must span less than one day.
82169type SlotDateTimeRangeRequest struct {
82170	_ struct{} `type:"structure"`
82171
82172	// The earliest date and time, in UTC, for the Scheduled Instance to start.
82173	//
82174	// EarliestTime is a required field
82175	EarliestTime *time.Time `type:"timestamp" required:"true"`
82176
82177	// The latest date and time, in UTC, for the Scheduled Instance to start. This
82178	// value must be later than or equal to the earliest date and at most three
82179	// months in the future.
82180	//
82181	// LatestTime is a required field
82182	LatestTime *time.Time `type:"timestamp" required:"true"`
82183}
82184
82185// String returns the string representation
82186func (s SlotDateTimeRangeRequest) String() string {
82187	return awsutil.Prettify(s)
82188}
82189
82190// GoString returns the string representation
82191func (s SlotDateTimeRangeRequest) GoString() string {
82192	return s.String()
82193}
82194
82195// Validate inspects the fields of the type to determine if they are valid.
82196func (s *SlotDateTimeRangeRequest) Validate() error {
82197	invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
82198	if s.EarliestTime == nil {
82199		invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
82200	}
82201	if s.LatestTime == nil {
82202		invalidParams.Add(request.NewErrParamRequired("LatestTime"))
82203	}
82204
82205	if invalidParams.Len() > 0 {
82206		return invalidParams
82207	}
82208	return nil
82209}
82210
82211// SetEarliestTime sets the EarliestTime field's value.
82212func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
82213	s.EarliestTime = &v
82214	return s
82215}
82216
82217// SetLatestTime sets the LatestTime field's value.
82218func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
82219	s.LatestTime = &v
82220	return s
82221}
82222
82223// Describes the time period for a Scheduled Instance to start its first schedule.
82224type SlotStartTimeRangeRequest struct {
82225	_ struct{} `type:"structure"`
82226
82227	// The earliest date and time, in UTC, for the Scheduled Instance to start.
82228	EarliestTime *time.Time `type:"timestamp"`
82229
82230	// The latest date and time, in UTC, for the Scheduled Instance to start.
82231	LatestTime *time.Time `type:"timestamp"`
82232}
82233
82234// String returns the string representation
82235func (s SlotStartTimeRangeRequest) String() string {
82236	return awsutil.Prettify(s)
82237}
82238
82239// GoString returns the string representation
82240func (s SlotStartTimeRangeRequest) GoString() string {
82241	return s.String()
82242}
82243
82244// SetEarliestTime sets the EarliestTime field's value.
82245func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
82246	s.EarliestTime = &v
82247	return s
82248}
82249
82250// SetLatestTime sets the LatestTime field's value.
82251func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
82252	s.LatestTime = &v
82253	return s
82254}
82255
82256// Describes a snapshot.
82257type Snapshot struct {
82258	_ struct{} `type:"structure"`
82259
82260	// The data encryption key identifier for the snapshot. This value is a unique
82261	// identifier that corresponds to the data encryption key that was used to encrypt
82262	// the original volume or snapshot copy. Because data encryption keys are inherited
82263	// by volumes created from snapshots, and vice versa, if snapshots share the
82264	// same data encryption key identifier, then they belong to the same volume/snapshot
82265	// lineage. This parameter is only returned by the DescribeSnapshots API operation.
82266	DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
82267
82268	// The description for the snapshot.
82269	Description *string `locationName:"description" type:"string"`
82270
82271	// Indicates whether the snapshot is encrypted.
82272	Encrypted *bool `locationName:"encrypted" type:"boolean"`
82273
82274	// The full ARN of the AWS Key Management Service (AWS KMS) customer master
82275	// key (CMK) that was used to protect the volume encryption key for the parent
82276	// volume.
82277	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
82278
82279	// Value from an Amazon-maintained list (amazon | self | all | aws-marketplace
82280	// | microsoft) of snapshot owners. Not to be confused with the user-configured
82281	// AWS account alias, which is set from the IAM console.
82282	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
82283
82284	// The AWS account ID of the EBS snapshot owner.
82285	OwnerId *string `locationName:"ownerId" type:"string"`
82286
82287	// The progress of the snapshot, as a percentage.
82288	Progress *string `locationName:"progress" type:"string"`
82289
82290	// The ID of the snapshot. Each snapshot receives a unique identifier when it
82291	// is created.
82292	SnapshotId *string `locationName:"snapshotId" type:"string"`
82293
82294	// The time stamp when the snapshot was initiated.
82295	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
82296
82297	// The snapshot state.
82298	State *string `locationName:"status" type:"string" enum:"SnapshotState"`
82299
82300	// Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
82301	// operation fails (for example, if the proper AWS Key Management Service (AWS
82302	// KMS) permissions are not obtained) this field displays error state details
82303	// to help you diagnose why the error occurred. This parameter is only returned
82304	// by the DescribeSnapshots API operation.
82305	StateMessage *string `locationName:"statusMessage" type:"string"`
82306
82307	// Any tags assigned to the snapshot.
82308	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
82309
82310	// The ID of the volume that was used to create the snapshot. Snapshots created
82311	// by the CopySnapshot action have an arbitrary volume ID that should not be
82312	// used for any purpose.
82313	VolumeId *string `locationName:"volumeId" type:"string"`
82314
82315	// The size of the volume, in GiB.
82316	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
82317}
82318
82319// String returns the string representation
82320func (s Snapshot) String() string {
82321	return awsutil.Prettify(s)
82322}
82323
82324// GoString returns the string representation
82325func (s Snapshot) GoString() string {
82326	return s.String()
82327}
82328
82329// SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
82330func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
82331	s.DataEncryptionKeyId = &v
82332	return s
82333}
82334
82335// SetDescription sets the Description field's value.
82336func (s *Snapshot) SetDescription(v string) *Snapshot {
82337	s.Description = &v
82338	return s
82339}
82340
82341// SetEncrypted sets the Encrypted field's value.
82342func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
82343	s.Encrypted = &v
82344	return s
82345}
82346
82347// SetKmsKeyId sets the KmsKeyId field's value.
82348func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
82349	s.KmsKeyId = &v
82350	return s
82351}
82352
82353// SetOwnerAlias sets the OwnerAlias field's value.
82354func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
82355	s.OwnerAlias = &v
82356	return s
82357}
82358
82359// SetOwnerId sets the OwnerId field's value.
82360func (s *Snapshot) SetOwnerId(v string) *Snapshot {
82361	s.OwnerId = &v
82362	return s
82363}
82364
82365// SetProgress sets the Progress field's value.
82366func (s *Snapshot) SetProgress(v string) *Snapshot {
82367	s.Progress = &v
82368	return s
82369}
82370
82371// SetSnapshotId sets the SnapshotId field's value.
82372func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
82373	s.SnapshotId = &v
82374	return s
82375}
82376
82377// SetStartTime sets the StartTime field's value.
82378func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
82379	s.StartTime = &v
82380	return s
82381}
82382
82383// SetState sets the State field's value.
82384func (s *Snapshot) SetState(v string) *Snapshot {
82385	s.State = &v
82386	return s
82387}
82388
82389// SetStateMessage sets the StateMessage field's value.
82390func (s *Snapshot) SetStateMessage(v string) *Snapshot {
82391	s.StateMessage = &v
82392	return s
82393}
82394
82395// SetTags sets the Tags field's value.
82396func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
82397	s.Tags = v
82398	return s
82399}
82400
82401// SetVolumeId sets the VolumeId field's value.
82402func (s *Snapshot) SetVolumeId(v string) *Snapshot {
82403	s.VolumeId = &v
82404	return s
82405}
82406
82407// SetVolumeSize sets the VolumeSize field's value.
82408func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
82409	s.VolumeSize = &v
82410	return s
82411}
82412
82413// Describes the snapshot created from the imported disk.
82414type SnapshotDetail struct {
82415	_ struct{} `type:"structure"`
82416
82417	// A description for the snapshot.
82418	Description *string `locationName:"description" type:"string"`
82419
82420	// The block device mapping for the snapshot.
82421	DeviceName *string `locationName:"deviceName" type:"string"`
82422
82423	// The size of the disk in the snapshot, in GiB.
82424	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
82425
82426	// The format of the disk image from which the snapshot is created.
82427	Format *string `locationName:"format" type:"string"`
82428
82429	// The percentage of progress for the task.
82430	Progress *string `locationName:"progress" type:"string"`
82431
82432	// The snapshot ID of the disk being imported.
82433	SnapshotId *string `locationName:"snapshotId" type:"string"`
82434
82435	// A brief status of the snapshot creation.
82436	Status *string `locationName:"status" type:"string"`
82437
82438	// A detailed status message for the snapshot creation.
82439	StatusMessage *string `locationName:"statusMessage" type:"string"`
82440
82441	// The URL used to access the disk image.
82442	Url *string `locationName:"url" type:"string"`
82443
82444	// The S3 bucket for the disk image.
82445	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
82446}
82447
82448// String returns the string representation
82449func (s SnapshotDetail) String() string {
82450	return awsutil.Prettify(s)
82451}
82452
82453// GoString returns the string representation
82454func (s SnapshotDetail) GoString() string {
82455	return s.String()
82456}
82457
82458// SetDescription sets the Description field's value.
82459func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
82460	s.Description = &v
82461	return s
82462}
82463
82464// SetDeviceName sets the DeviceName field's value.
82465func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
82466	s.DeviceName = &v
82467	return s
82468}
82469
82470// SetDiskImageSize sets the DiskImageSize field's value.
82471func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
82472	s.DiskImageSize = &v
82473	return s
82474}
82475
82476// SetFormat sets the Format field's value.
82477func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
82478	s.Format = &v
82479	return s
82480}
82481
82482// SetProgress sets the Progress field's value.
82483func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
82484	s.Progress = &v
82485	return s
82486}
82487
82488// SetSnapshotId sets the SnapshotId field's value.
82489func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
82490	s.SnapshotId = &v
82491	return s
82492}
82493
82494// SetStatus sets the Status field's value.
82495func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
82496	s.Status = &v
82497	return s
82498}
82499
82500// SetStatusMessage sets the StatusMessage field's value.
82501func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
82502	s.StatusMessage = &v
82503	return s
82504}
82505
82506// SetUrl sets the Url field's value.
82507func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
82508	s.Url = &v
82509	return s
82510}
82511
82512// SetUserBucket sets the UserBucket field's value.
82513func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
82514	s.UserBucket = v
82515	return s
82516}
82517
82518// The disk container object for the import snapshot request.
82519type SnapshotDiskContainer struct {
82520	_ struct{} `type:"structure"`
82521
82522	// The description of the disk image being imported.
82523	Description *string `type:"string"`
82524
82525	// The format of the disk image being imported.
82526	//
82527	// Valid values: VHD | VMDK
82528	Format *string `type:"string"`
82529
82530	// The URL to the Amazon S3-based disk image being imported. It can either be
82531	// a https URL (https://..) or an Amazon S3 URL (s3://..).
82532	Url *string `type:"string"`
82533
82534	// The S3 bucket for the disk image.
82535	UserBucket *UserBucket `type:"structure"`
82536}
82537
82538// String returns the string representation
82539func (s SnapshotDiskContainer) String() string {
82540	return awsutil.Prettify(s)
82541}
82542
82543// GoString returns the string representation
82544func (s SnapshotDiskContainer) GoString() string {
82545	return s.String()
82546}
82547
82548// SetDescription sets the Description field's value.
82549func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
82550	s.Description = &v
82551	return s
82552}
82553
82554// SetFormat sets the Format field's value.
82555func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
82556	s.Format = &v
82557	return s
82558}
82559
82560// SetUrl sets the Url field's value.
82561func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
82562	s.Url = &v
82563	return s
82564}
82565
82566// SetUserBucket sets the UserBucket field's value.
82567func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
82568	s.UserBucket = v
82569	return s
82570}
82571
82572// Details about the import snapshot task.
82573type SnapshotTaskDetail struct {
82574	_ struct{} `type:"structure"`
82575
82576	// The description of the snapshot.
82577	Description *string `locationName:"description" type:"string"`
82578
82579	// The size of the disk in the snapshot, in GiB.
82580	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
82581
82582	// Indicates whether the snapshot is encrypted.
82583	Encrypted *bool `locationName:"encrypted" type:"boolean"`
82584
82585	// The format of the disk image from which the snapshot is created.
82586	Format *string `locationName:"format" type:"string"`
82587
82588	// The identifier for the AWS Key Management Service (AWS KMS) customer master
82589	// key (CMK) that was used to create the encrypted snapshot.
82590	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
82591
82592	// The percentage of completion for the import snapshot task.
82593	Progress *string `locationName:"progress" type:"string"`
82594
82595	// The snapshot ID of the disk being imported.
82596	SnapshotId *string `locationName:"snapshotId" type:"string"`
82597
82598	// A brief status for the import snapshot task.
82599	Status *string `locationName:"status" type:"string"`
82600
82601	// A detailed status message for the import snapshot task.
82602	StatusMessage *string `locationName:"statusMessage" type:"string"`
82603
82604	// The URL of the disk image from which the snapshot is created.
82605	Url *string `locationName:"url" type:"string"`
82606
82607	// The S3 bucket for the disk image.
82608	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
82609}
82610
82611// String returns the string representation
82612func (s SnapshotTaskDetail) String() string {
82613	return awsutil.Prettify(s)
82614}
82615
82616// GoString returns the string representation
82617func (s SnapshotTaskDetail) GoString() string {
82618	return s.String()
82619}
82620
82621// SetDescription sets the Description field's value.
82622func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
82623	s.Description = &v
82624	return s
82625}
82626
82627// SetDiskImageSize sets the DiskImageSize field's value.
82628func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
82629	s.DiskImageSize = &v
82630	return s
82631}
82632
82633// SetEncrypted sets the Encrypted field's value.
82634func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
82635	s.Encrypted = &v
82636	return s
82637}
82638
82639// SetFormat sets the Format field's value.
82640func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
82641	s.Format = &v
82642	return s
82643}
82644
82645// SetKmsKeyId sets the KmsKeyId field's value.
82646func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
82647	s.KmsKeyId = &v
82648	return s
82649}
82650
82651// SetProgress sets the Progress field's value.
82652func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
82653	s.Progress = &v
82654	return s
82655}
82656
82657// SetSnapshotId sets the SnapshotId field's value.
82658func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
82659	s.SnapshotId = &v
82660	return s
82661}
82662
82663// SetStatus sets the Status field's value.
82664func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
82665	s.Status = &v
82666	return s
82667}
82668
82669// SetStatusMessage sets the StatusMessage field's value.
82670func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
82671	s.StatusMessage = &v
82672	return s
82673}
82674
82675// SetUrl sets the Url field's value.
82676func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
82677	s.Url = &v
82678	return s
82679}
82680
82681// SetUserBucket sets the UserBucket field's value.
82682func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
82683	s.UserBucket = v
82684	return s
82685}
82686
82687// Describes the data feed for a Spot Instance.
82688type SpotDatafeedSubscription struct {
82689	_ struct{} `type:"structure"`
82690
82691	// The Amazon S3 bucket where the Spot Instance data feed is located.
82692	Bucket *string `locationName:"bucket" type:"string"`
82693
82694	// The fault codes for the Spot Instance request, if any.
82695	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
82696
82697	// The AWS account ID of the account.
82698	OwnerId *string `locationName:"ownerId" type:"string"`
82699
82700	// The prefix that is prepended to data feed files.
82701	Prefix *string `locationName:"prefix" type:"string"`
82702
82703	// The state of the Spot Instance data feed subscription.
82704	State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
82705}
82706
82707// String returns the string representation
82708func (s SpotDatafeedSubscription) String() string {
82709	return awsutil.Prettify(s)
82710}
82711
82712// GoString returns the string representation
82713func (s SpotDatafeedSubscription) GoString() string {
82714	return s.String()
82715}
82716
82717// SetBucket sets the Bucket field's value.
82718func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
82719	s.Bucket = &v
82720	return s
82721}
82722
82723// SetFault sets the Fault field's value.
82724func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
82725	s.Fault = v
82726	return s
82727}
82728
82729// SetOwnerId sets the OwnerId field's value.
82730func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
82731	s.OwnerId = &v
82732	return s
82733}
82734
82735// SetPrefix sets the Prefix field's value.
82736func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
82737	s.Prefix = &v
82738	return s
82739}
82740
82741// SetState sets the State field's value.
82742func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
82743	s.State = &v
82744	return s
82745}
82746
82747// Describes the launch specification for one or more Spot Instances. If you
82748// include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification;
82749// you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
82750type SpotFleetLaunchSpecification struct {
82751	_ struct{} `type:"structure"`
82752
82753	// Deprecated.
82754	AddressingType *string `locationName:"addressingType" type:"string"`
82755
82756	// One or more block devices that are mapped to the Spot instances. You can't
82757	// specify both a snapshot ID and an encryption value. This is because only
82758	// blank volumes can be encrypted on creation. If a snapshot is the basis for
82759	// a volume, it is not blank and its encryption status is used for the volume
82760	// encryption status.
82761	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
82762
82763	// Indicates whether the instances are optimized for EBS I/O. This optimization
82764	// provides dedicated throughput to Amazon EBS and an optimized configuration
82765	// stack to provide optimal EBS I/O performance. This optimization isn't available
82766	// with all instance types. Additional usage charges apply when using an EBS
82767	// Optimized instance.
82768	//
82769	// Default: false
82770	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
82771
82772	// The IAM instance profile.
82773	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
82774
82775	// The ID of the AMI.
82776	ImageId *string `locationName:"imageId" type:"string"`
82777
82778	// The instance type.
82779	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
82780
82781	// The ID of the kernel.
82782	KernelId *string `locationName:"kernelId" type:"string"`
82783
82784	// The name of the key pair.
82785	KeyName *string `locationName:"keyName" type:"string"`
82786
82787	// Enable or disable monitoring for the instances.
82788	Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
82789
82790	// One or more network interfaces. If you specify a network interface, you must
82791	// specify subnet IDs and security group IDs using the network interface.
82792	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
82793
82794	// The placement information.
82795	Placement *SpotPlacement `locationName:"placement" type:"structure"`
82796
82797	// The ID of the RAM disk. Some kernels require additional drivers at launch.
82798	// Check the kernel requirements for information about whether you need to specify
82799	// a RAM disk. To find kernel requirements, refer to the AWS Resource Center
82800	// and search for the kernel ID.
82801	RamdiskId *string `locationName:"ramdiskId" type:"string"`
82802
82803	// One or more security groups. When requesting instances in a VPC, you must
82804	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
82805	// you can specify the names or the IDs of the security groups.
82806	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
82807
82808	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
82809	// If this value is not specified, the default is the Spot price specified for
82810	// the fleet. To determine the Spot price per unit hour, divide the Spot price
82811	// by the value of WeightedCapacity.
82812	SpotPrice *string `locationName:"spotPrice" type:"string"`
82813
82814	// The ID of the subnet in which to launch the instances. To specify multiple
82815	// subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
82816	SubnetId *string `locationName:"subnetId" type:"string"`
82817
82818	// The tags to apply during creation.
82819	TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
82820
82821	// The Base64-encoded user data that instances use when starting up.
82822	UserData *string `locationName:"userData" type:"string"`
82823
82824	// The number of units provided by the specified instance type. These are the
82825	// same units that you chose to set the target capacity in terms of instances,
82826	// or a performance characteristic such as vCPUs, memory, or I/O.
82827	//
82828	// If the target capacity divided by this value is not a whole number, Amazon
82829	// EC2 rounds the number of instances to the next whole number. If this value
82830	// is not specified, the default is 1.
82831	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
82832}
82833
82834// String returns the string representation
82835func (s SpotFleetLaunchSpecification) String() string {
82836	return awsutil.Prettify(s)
82837}
82838
82839// GoString returns the string representation
82840func (s SpotFleetLaunchSpecification) GoString() string {
82841	return s.String()
82842}
82843
82844// SetAddressingType sets the AddressingType field's value.
82845func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
82846	s.AddressingType = &v
82847	return s
82848}
82849
82850// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
82851func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
82852	s.BlockDeviceMappings = v
82853	return s
82854}
82855
82856// SetEbsOptimized sets the EbsOptimized field's value.
82857func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
82858	s.EbsOptimized = &v
82859	return s
82860}
82861
82862// SetIamInstanceProfile sets the IamInstanceProfile field's value.
82863func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
82864	s.IamInstanceProfile = v
82865	return s
82866}
82867
82868// SetImageId sets the ImageId field's value.
82869func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
82870	s.ImageId = &v
82871	return s
82872}
82873
82874// SetInstanceType sets the InstanceType field's value.
82875func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
82876	s.InstanceType = &v
82877	return s
82878}
82879
82880// SetKernelId sets the KernelId field's value.
82881func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
82882	s.KernelId = &v
82883	return s
82884}
82885
82886// SetKeyName sets the KeyName field's value.
82887func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
82888	s.KeyName = &v
82889	return s
82890}
82891
82892// SetMonitoring sets the Monitoring field's value.
82893func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
82894	s.Monitoring = v
82895	return s
82896}
82897
82898// SetNetworkInterfaces sets the NetworkInterfaces field's value.
82899func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
82900	s.NetworkInterfaces = v
82901	return s
82902}
82903
82904// SetPlacement sets the Placement field's value.
82905func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
82906	s.Placement = v
82907	return s
82908}
82909
82910// SetRamdiskId sets the RamdiskId field's value.
82911func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
82912	s.RamdiskId = &v
82913	return s
82914}
82915
82916// SetSecurityGroups sets the SecurityGroups field's value.
82917func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
82918	s.SecurityGroups = v
82919	return s
82920}
82921
82922// SetSpotPrice sets the SpotPrice field's value.
82923func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
82924	s.SpotPrice = &v
82925	return s
82926}
82927
82928// SetSubnetId sets the SubnetId field's value.
82929func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
82930	s.SubnetId = &v
82931	return s
82932}
82933
82934// SetTagSpecifications sets the TagSpecifications field's value.
82935func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
82936	s.TagSpecifications = v
82937	return s
82938}
82939
82940// SetUserData sets the UserData field's value.
82941func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
82942	s.UserData = &v
82943	return s
82944}
82945
82946// SetWeightedCapacity sets the WeightedCapacity field's value.
82947func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
82948	s.WeightedCapacity = &v
82949	return s
82950}
82951
82952// Describes whether monitoring is enabled.
82953type SpotFleetMonitoring struct {
82954	_ struct{} `type:"structure"`
82955
82956	// Enables monitoring for the instance.
82957	//
82958	// Default: false
82959	Enabled *bool `locationName:"enabled" type:"boolean"`
82960}
82961
82962// String returns the string representation
82963func (s SpotFleetMonitoring) String() string {
82964	return awsutil.Prettify(s)
82965}
82966
82967// GoString returns the string representation
82968func (s SpotFleetMonitoring) GoString() string {
82969	return s.String()
82970}
82971
82972// SetEnabled sets the Enabled field's value.
82973func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
82974	s.Enabled = &v
82975	return s
82976}
82977
82978// Describes a Spot Fleet request.
82979type SpotFleetRequestConfig struct {
82980	_ struct{} `type:"structure"`
82981
82982	// The progress of the Spot Fleet request. If there is an error, the status
82983	// is error. After all requests are placed, the status is pending_fulfillment.
82984	// If the size of the fleet is equal to or greater than its target capacity,
82985	// the status is fulfilled. If the size of the fleet is decreased, the status
82986	// is pending_termination while Spot Instances are terminating.
82987	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
82988
82989	// The creation date and time of the request.
82990	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
82991
82992	// The configuration of the Spot Fleet request.
82993	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
82994
82995	// The ID of the Spot Fleet request.
82996	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
82997
82998	// The state of the Spot Fleet request.
82999	SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
83000}
83001
83002// String returns the string representation
83003func (s SpotFleetRequestConfig) String() string {
83004	return awsutil.Prettify(s)
83005}
83006
83007// GoString returns the string representation
83008func (s SpotFleetRequestConfig) GoString() string {
83009	return s.String()
83010}
83011
83012// SetActivityStatus sets the ActivityStatus field's value.
83013func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
83014	s.ActivityStatus = &v
83015	return s
83016}
83017
83018// SetCreateTime sets the CreateTime field's value.
83019func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
83020	s.CreateTime = &v
83021	return s
83022}
83023
83024// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
83025func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
83026	s.SpotFleetRequestConfig = v
83027	return s
83028}
83029
83030// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
83031func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
83032	s.SpotFleetRequestId = &v
83033	return s
83034}
83035
83036// SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
83037func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
83038	s.SpotFleetRequestState = &v
83039	return s
83040}
83041
83042// Describes the configuration of a Spot Fleet request.
83043type SpotFleetRequestConfigData struct {
83044	_ struct{} `type:"structure"`
83045
83046	// Indicates how to allocate the target capacity across the Spot pools specified
83047	// by the Spot Fleet request. The default is lowestPrice.
83048	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
83049
83050	// A unique, case-sensitive identifier that you provide to ensure the idempotency
83051	// of your listings. This helps to avoid duplicate listings. For more information,
83052	// see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
83053	ClientToken *string `locationName:"clientToken" type:"string"`
83054
83055	// Indicates whether running Spot Instances should be terminated if you decrease
83056	// the target capacity of the Spot Fleet request below the current size of the
83057	// Spot Fleet.
83058	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
83059
83060	// The number of units fulfilled by this request compared to the set target
83061	// capacity. You cannot set this value.
83062	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
83063
83064	// The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
83065	// role that grants the Spot Fleet the permission to request, launch, terminate,
83066	// and tag instances on your behalf. For more information, see Spot Fleet Prerequisites
83067	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
83068	// in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
83069	// Spot Instances on your behalf when you cancel its Spot Fleet request using
83070	// CancelSpotFleetRequests or when the Spot Fleet request expires, if you set
83071	// TerminateInstancesWithExpiration.
83072	//
83073	// IamFleetRole is a required field
83074	IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
83075
83076	// The behavior when a Spot Instance is interrupted. The default is terminate.
83077	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
83078
83079	// The number of Spot pools across which to allocate your target Spot capacity.
83080	// Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
83081	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
83082	// across the number of Spot pools that you specify.
83083	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
83084
83085	// The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications,
83086	// you can't specify LaunchTemplateConfigs. If you include On-Demand capacity
83087	// in your request, you must use LaunchTemplateConfigs.
83088	LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
83089
83090	// The launch template and overrides. If you specify LaunchTemplateConfigs,
83091	// you can't specify LaunchSpecifications. If you include On-Demand capacity
83092	// in your request, you must use LaunchTemplateConfigs.
83093	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
83094
83095	// One or more Classic Load Balancers and target groups to attach to the Spot
83096	// Fleet request. Spot Fleet registers the running Spot Instances with the specified
83097	// Classic Load Balancers and target groups.
83098	//
83099	// With Network Load Balancers, Spot Fleet cannot register instances that have
83100	// the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
83101	// HS1, M1, M2, M3, and T1.
83102	LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
83103
83104	// The order of the launch template overrides to use in fulfilling On-Demand
83105	// capacity. If you specify lowestPrice, Spot Fleet uses price to determine
83106	// the order, launching the lowest price first. If you specify prioritized,
83107	// Spot Fleet uses the priority that you assign to each Spot Fleet launch template
83108	// override, launching the highest priority first. If you do not specify a value,
83109	// Spot Fleet defaults to lowestPrice.
83110	OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
83111
83112	// The number of On-Demand units fulfilled by this request compared to the set
83113	// target On-Demand capacity.
83114	OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
83115
83116	// The number of On-Demand units to request. You can choose to set the target
83117	// capacity in terms of instances or a performance characteristic that is important
83118	// to your application workload, such as vCPUs, memory, or I/O. If the request
83119	// type is maintain, you can specify a target capacity of 0 and add capacity
83120	// later.
83121	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
83122
83123	// Indicates whether Spot Fleet should replace unhealthy instances.
83124	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
83125
83126	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
83127	// The default is the On-Demand price.
83128	SpotPrice *string `locationName:"spotPrice" type:"string"`
83129
83130	// The number of units to request for the Spot Fleet. You can choose to set
83131	// the target capacity in terms of instances or a performance characteristic
83132	// that is important to your application workload, such as vCPUs, memory, or
83133	// I/O. If the request type is maintain, you can specify a target capacity of
83134	// 0 and add capacity later.
83135	//
83136	// TargetCapacity is a required field
83137	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
83138
83139	// Indicates whether running Spot Instances are terminated when the Spot Fleet
83140	// request expires.
83141	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
83142
83143	// The type of request. Indicates whether the Spot Fleet only requests the target
83144	// capacity or also attempts to maintain it. When this value is request, the
83145	// Spot Fleet only places the required requests. It does not attempt to replenish
83146	// Spot Instances if capacity is diminished, nor does it submit requests in
83147	// alternative Spot pools if capacity is not available. When this value is maintain,
83148	// the Spot Fleet maintains the target capacity. The Spot Fleet places the required
83149	// requests to meet capacity and automatically replenishes any interrupted instances.
83150	// Default: maintain. instant is listed but is not used by Spot Fleet.
83151	Type *string `locationName:"type" type:"string" enum:"FleetType"`
83152
83153	// The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
83154	// By default, Amazon EC2 starts fulfilling the request immediately.
83155	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
83156
83157	// The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
83158	// After the end date and time, no new Spot Instance requests are placed or
83159	// able to fulfill the request. If no value is specified, the Spot Fleet request
83160	// remains until you cancel it.
83161	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
83162}
83163
83164// String returns the string representation
83165func (s SpotFleetRequestConfigData) String() string {
83166	return awsutil.Prettify(s)
83167}
83168
83169// GoString returns the string representation
83170func (s SpotFleetRequestConfigData) GoString() string {
83171	return s.String()
83172}
83173
83174// Validate inspects the fields of the type to determine if they are valid.
83175func (s *SpotFleetRequestConfigData) Validate() error {
83176	invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
83177	if s.IamFleetRole == nil {
83178		invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
83179	}
83180	if s.TargetCapacity == nil {
83181		invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
83182	}
83183	if s.LaunchTemplateConfigs != nil {
83184		for i, v := range s.LaunchTemplateConfigs {
83185			if v == nil {
83186				continue
83187			}
83188			if err := v.Validate(); err != nil {
83189				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
83190			}
83191		}
83192	}
83193	if s.LoadBalancersConfig != nil {
83194		if err := s.LoadBalancersConfig.Validate(); err != nil {
83195			invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
83196		}
83197	}
83198
83199	if invalidParams.Len() > 0 {
83200		return invalidParams
83201	}
83202	return nil
83203}
83204
83205// SetAllocationStrategy sets the AllocationStrategy field's value.
83206func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
83207	s.AllocationStrategy = &v
83208	return s
83209}
83210
83211// SetClientToken sets the ClientToken field's value.
83212func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
83213	s.ClientToken = &v
83214	return s
83215}
83216
83217// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
83218func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
83219	s.ExcessCapacityTerminationPolicy = &v
83220	return s
83221}
83222
83223// SetFulfilledCapacity sets the FulfilledCapacity field's value.
83224func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
83225	s.FulfilledCapacity = &v
83226	return s
83227}
83228
83229// SetIamFleetRole sets the IamFleetRole field's value.
83230func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
83231	s.IamFleetRole = &v
83232	return s
83233}
83234
83235// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83236func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
83237	s.InstanceInterruptionBehavior = &v
83238	return s
83239}
83240
83241// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
83242func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
83243	s.InstancePoolsToUseCount = &v
83244	return s
83245}
83246
83247// SetLaunchSpecifications sets the LaunchSpecifications field's value.
83248func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
83249	s.LaunchSpecifications = v
83250	return s
83251}
83252
83253// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
83254func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
83255	s.LaunchTemplateConfigs = v
83256	return s
83257}
83258
83259// SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
83260func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
83261	s.LoadBalancersConfig = v
83262	return s
83263}
83264
83265// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
83266func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
83267	s.OnDemandAllocationStrategy = &v
83268	return s
83269}
83270
83271// SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
83272func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
83273	s.OnDemandFulfilledCapacity = &v
83274	return s
83275}
83276
83277// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
83278func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
83279	s.OnDemandTargetCapacity = &v
83280	return s
83281}
83282
83283// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
83284func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
83285	s.ReplaceUnhealthyInstances = &v
83286	return s
83287}
83288
83289// SetSpotPrice sets the SpotPrice field's value.
83290func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
83291	s.SpotPrice = &v
83292	return s
83293}
83294
83295// SetTargetCapacity sets the TargetCapacity field's value.
83296func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
83297	s.TargetCapacity = &v
83298	return s
83299}
83300
83301// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
83302func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
83303	s.TerminateInstancesWithExpiration = &v
83304	return s
83305}
83306
83307// SetType sets the Type field's value.
83308func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
83309	s.Type = &v
83310	return s
83311}
83312
83313// SetValidFrom sets the ValidFrom field's value.
83314func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
83315	s.ValidFrom = &v
83316	return s
83317}
83318
83319// SetValidUntil sets the ValidUntil field's value.
83320func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
83321	s.ValidUntil = &v
83322	return s
83323}
83324
83325// The tags for a Spot Fleet resource.
83326type SpotFleetTagSpecification struct {
83327	_ struct{} `type:"structure"`
83328
83329	// The type of resource. Currently, the only resource type that is supported
83330	// is instance.
83331	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
83332
83333	// The tags.
83334	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
83335}
83336
83337// String returns the string representation
83338func (s SpotFleetTagSpecification) String() string {
83339	return awsutil.Prettify(s)
83340}
83341
83342// GoString returns the string representation
83343func (s SpotFleetTagSpecification) GoString() string {
83344	return s.String()
83345}
83346
83347// SetResourceType sets the ResourceType field's value.
83348func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
83349	s.ResourceType = &v
83350	return s
83351}
83352
83353// SetTags sets the Tags field's value.
83354func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
83355	s.Tags = v
83356	return s
83357}
83358
83359// Describes a Spot Instance request.
83360type SpotInstanceRequest struct {
83361	_ struct{} `type:"structure"`
83362
83363	// If you specified a duration and your Spot Instance request was fulfilled,
83364	// this is the fixed hourly price in effect for the Spot Instance while it runs.
83365	ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
83366
83367	// The Availability Zone group. If you specify the same Availability Zone group
83368	// for all Spot Instance requests, all Spot Instances are launched in the same
83369	// Availability Zone.
83370	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
83371
83372	// The duration for the Spot Instance, in minutes.
83373	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
83374
83375	// The date and time when the Spot Instance request was created, in UTC format
83376	// (for example, YYYY-MM-DDTHH:MM:SSZ).
83377	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
83378
83379	// The fault codes for the Spot Instance request, if any.
83380	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
83381
83382	// The instance ID, if an instance has been launched to fulfill the Spot Instance
83383	// request.
83384	InstanceId *string `locationName:"instanceId" type:"string"`
83385
83386	// The behavior when a Spot Instance is interrupted.
83387	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
83388
83389	// The instance launch group. Launch groups are Spot Instances that launch together
83390	// and terminate together.
83391	LaunchGroup *string `locationName:"launchGroup" type:"string"`
83392
83393	// Additional information for launching instances.
83394	LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
83395
83396	// The Availability Zone in which the request is launched.
83397	LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
83398
83399	// The product description associated with the Spot Instance.
83400	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
83401
83402	// The ID of the Spot Instance request.
83403	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
83404
83405	// The maximum price per hour that you are willing to pay for a Spot Instance.
83406	SpotPrice *string `locationName:"spotPrice" type:"string"`
83407
83408	// The state of the Spot Instance request. Spot status information helps track
83409	// your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
83410	// in the Amazon EC2 User Guide for Linux Instances.
83411	State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
83412
83413	// The status code and status message describing the Spot Instance request.
83414	Status *SpotInstanceStatus `locationName:"status" type:"structure"`
83415
83416	// Any tags assigned to the resource.
83417	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83418
83419	// The Spot Instance request type.
83420	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
83421
83422	// The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
83423	// The request becomes active at this date and time.
83424	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
83425
83426	// The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
83427	// If this is a one-time request, it remains active until all instances launch,
83428	// the request is canceled, or this date is reached. If the request is persistent,
83429	// it remains active until it is canceled or this date is reached. The default
83430	// end date is 7 days from the current date.
83431	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
83432}
83433
83434// String returns the string representation
83435func (s SpotInstanceRequest) String() string {
83436	return awsutil.Prettify(s)
83437}
83438
83439// GoString returns the string representation
83440func (s SpotInstanceRequest) GoString() string {
83441	return s.String()
83442}
83443
83444// SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
83445func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
83446	s.ActualBlockHourlyPrice = &v
83447	return s
83448}
83449
83450// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
83451func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
83452	s.AvailabilityZoneGroup = &v
83453	return s
83454}
83455
83456// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
83457func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
83458	s.BlockDurationMinutes = &v
83459	return s
83460}
83461
83462// SetCreateTime sets the CreateTime field's value.
83463func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
83464	s.CreateTime = &v
83465	return s
83466}
83467
83468// SetFault sets the Fault field's value.
83469func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
83470	s.Fault = v
83471	return s
83472}
83473
83474// SetInstanceId sets the InstanceId field's value.
83475func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
83476	s.InstanceId = &v
83477	return s
83478}
83479
83480// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83481func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
83482	s.InstanceInterruptionBehavior = &v
83483	return s
83484}
83485
83486// SetLaunchGroup sets the LaunchGroup field's value.
83487func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
83488	s.LaunchGroup = &v
83489	return s
83490}
83491
83492// SetLaunchSpecification sets the LaunchSpecification field's value.
83493func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
83494	s.LaunchSpecification = v
83495	return s
83496}
83497
83498// SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
83499func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
83500	s.LaunchedAvailabilityZone = &v
83501	return s
83502}
83503
83504// SetProductDescription sets the ProductDescription field's value.
83505func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
83506	s.ProductDescription = &v
83507	return s
83508}
83509
83510// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
83511func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
83512	s.SpotInstanceRequestId = &v
83513	return s
83514}
83515
83516// SetSpotPrice sets the SpotPrice field's value.
83517func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
83518	s.SpotPrice = &v
83519	return s
83520}
83521
83522// SetState sets the State field's value.
83523func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
83524	s.State = &v
83525	return s
83526}
83527
83528// SetStatus sets the Status field's value.
83529func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
83530	s.Status = v
83531	return s
83532}
83533
83534// SetTags sets the Tags field's value.
83535func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
83536	s.Tags = v
83537	return s
83538}
83539
83540// SetType sets the Type field's value.
83541func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
83542	s.Type = &v
83543	return s
83544}
83545
83546// SetValidFrom sets the ValidFrom field's value.
83547func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
83548	s.ValidFrom = &v
83549	return s
83550}
83551
83552// SetValidUntil sets the ValidUntil field's value.
83553func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
83554	s.ValidUntil = &v
83555	return s
83556}
83557
83558// Describes a Spot Instance state change.
83559type SpotInstanceStateFault struct {
83560	_ struct{} `type:"structure"`
83561
83562	// The reason code for the Spot Instance state change.
83563	Code *string `locationName:"code" type:"string"`
83564
83565	// The message for the Spot Instance state change.
83566	Message *string `locationName:"message" type:"string"`
83567}
83568
83569// String returns the string representation
83570func (s SpotInstanceStateFault) String() string {
83571	return awsutil.Prettify(s)
83572}
83573
83574// GoString returns the string representation
83575func (s SpotInstanceStateFault) GoString() string {
83576	return s.String()
83577}
83578
83579// SetCode sets the Code field's value.
83580func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
83581	s.Code = &v
83582	return s
83583}
83584
83585// SetMessage sets the Message field's value.
83586func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
83587	s.Message = &v
83588	return s
83589}
83590
83591// Describes the status of a Spot Instance request.
83592type SpotInstanceStatus struct {
83593	_ struct{} `type:"structure"`
83594
83595	// The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
83596	// in the Amazon EC2 User Guide for Linux Instances.
83597	Code *string `locationName:"code" type:"string"`
83598
83599	// The description for the status code.
83600	Message *string `locationName:"message" type:"string"`
83601
83602	// The date and time of the most recent status update, in UTC format (for example,
83603	// YYYY-MM-DDTHH:MM:SSZ).
83604	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
83605}
83606
83607// String returns the string representation
83608func (s SpotInstanceStatus) String() string {
83609	return awsutil.Prettify(s)
83610}
83611
83612// GoString returns the string representation
83613func (s SpotInstanceStatus) GoString() string {
83614	return s.String()
83615}
83616
83617// SetCode sets the Code field's value.
83618func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
83619	s.Code = &v
83620	return s
83621}
83622
83623// SetMessage sets the Message field's value.
83624func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
83625	s.Message = &v
83626	return s
83627}
83628
83629// SetUpdateTime sets the UpdateTime field's value.
83630func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
83631	s.UpdateTime = &v
83632	return s
83633}
83634
83635// The options for Spot Instances.
83636type SpotMarketOptions struct {
83637	_ struct{} `type:"structure"`
83638
83639	// The required duration for the Spot Instances (also known as Spot blocks),
83640	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
83641	// or 360).
83642	BlockDurationMinutes *int64 `type:"integer"`
83643
83644	// The behavior when a Spot Instance is interrupted. The default is terminate.
83645	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
83646
83647	// The maximum hourly price you're willing to pay for the Spot Instances. The
83648	// default is the On-Demand price.
83649	MaxPrice *string `type:"string"`
83650
83651	// The Spot Instance request type. For RunInstances, persistent Spot Instance
83652	// requests are only supported when InstanceInterruptionBehavior is set to either
83653	// hibernate or stop.
83654	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
83655
83656	// The end date of the request. For a one-time request, the request remains
83657	// active until all instances launch, the request is canceled, or this date
83658	// is reached. If the request is persistent, it remains active until it is canceled
83659	// or this date and time is reached. The default end date is 7 days from the
83660	// current date.
83661	ValidUntil *time.Time `type:"timestamp"`
83662}
83663
83664// String returns the string representation
83665func (s SpotMarketOptions) String() string {
83666	return awsutil.Prettify(s)
83667}
83668
83669// GoString returns the string representation
83670func (s SpotMarketOptions) GoString() string {
83671	return s.String()
83672}
83673
83674// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
83675func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
83676	s.BlockDurationMinutes = &v
83677	return s
83678}
83679
83680// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83681func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
83682	s.InstanceInterruptionBehavior = &v
83683	return s
83684}
83685
83686// SetMaxPrice sets the MaxPrice field's value.
83687func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
83688	s.MaxPrice = &v
83689	return s
83690}
83691
83692// SetSpotInstanceType sets the SpotInstanceType field's value.
83693func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
83694	s.SpotInstanceType = &v
83695	return s
83696}
83697
83698// SetValidUntil sets the ValidUntil field's value.
83699func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
83700	s.ValidUntil = &v
83701	return s
83702}
83703
83704// Describes the configuration of Spot Instances in an EC2 Fleet.
83705type SpotOptions struct {
83706	_ struct{} `type:"structure"`
83707
83708	// Indicates how to allocate the target capacity across the Spot pools specified
83709	// by the Spot Fleet request. The default is lowest-price.
83710	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
83711
83712	// The behavior when a Spot Instance is interrupted. The default is terminate.
83713	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
83714
83715	// The number of Spot pools across which to allocate your target Spot capacity.
83716	// Valid only when AllocationStrategy is set to lowestPrice. EC2 Fleet selects
83717	// the cheapest Spot pools and evenly allocates your target Spot capacity across
83718	// the number of Spot pools that you specify.
83719	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
83720
83721	// The minimum target capacity for Spot Instances in the fleet. If the minimum
83722	// target capacity is not reached, the fleet launches no instances.
83723	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
83724
83725	// Indicates that the fleet launches all Spot Instances into a single Availability
83726	// Zone.
83727	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
83728
83729	// Indicates that the fleet uses a single instance type to launch all Spot Instances
83730	// in the fleet.
83731	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
83732}
83733
83734// String returns the string representation
83735func (s SpotOptions) String() string {
83736	return awsutil.Prettify(s)
83737}
83738
83739// GoString returns the string representation
83740func (s SpotOptions) GoString() string {
83741	return s.String()
83742}
83743
83744// SetAllocationStrategy sets the AllocationStrategy field's value.
83745func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
83746	s.AllocationStrategy = &v
83747	return s
83748}
83749
83750// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83751func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
83752	s.InstanceInterruptionBehavior = &v
83753	return s
83754}
83755
83756// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
83757func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
83758	s.InstancePoolsToUseCount = &v
83759	return s
83760}
83761
83762// SetMinTargetCapacity sets the MinTargetCapacity field's value.
83763func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
83764	s.MinTargetCapacity = &v
83765	return s
83766}
83767
83768// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
83769func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
83770	s.SingleAvailabilityZone = &v
83771	return s
83772}
83773
83774// SetSingleInstanceType sets the SingleInstanceType field's value.
83775func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
83776	s.SingleInstanceType = &v
83777	return s
83778}
83779
83780// Describes the configuration of Spot Instances in an EC2 Fleet request.
83781type SpotOptionsRequest struct {
83782	_ struct{} `type:"structure"`
83783
83784	// Indicates how to allocate the target capacity across the Spot pools specified
83785	// by the Spot Fleet request. The default is lowestPrice.
83786	AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
83787
83788	// The behavior when a Spot Instance is interrupted. The default is terminate.
83789	InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
83790
83791	// The number of Spot pools across which to allocate your target Spot capacity.
83792	// Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
83793	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
83794	// across the number of Spot pools that you specify.
83795	InstancePoolsToUseCount *int64 `type:"integer"`
83796
83797	// The minimum target capacity for Spot Instances in the fleet. If the minimum
83798	// target capacity is not reached, the fleet launches no instances.
83799	MinTargetCapacity *int64 `type:"integer"`
83800
83801	// Indicates that the fleet launches all Spot Instances into a single Availability
83802	// Zone.
83803	SingleAvailabilityZone *bool `type:"boolean"`
83804
83805	// Indicates that the fleet uses a single instance type to launch all Spot Instances
83806	// in the fleet.
83807	SingleInstanceType *bool `type:"boolean"`
83808}
83809
83810// String returns the string representation
83811func (s SpotOptionsRequest) String() string {
83812	return awsutil.Prettify(s)
83813}
83814
83815// GoString returns the string representation
83816func (s SpotOptionsRequest) GoString() string {
83817	return s.String()
83818}
83819
83820// SetAllocationStrategy sets the AllocationStrategy field's value.
83821func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
83822	s.AllocationStrategy = &v
83823	return s
83824}
83825
83826// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83827func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
83828	s.InstanceInterruptionBehavior = &v
83829	return s
83830}
83831
83832// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
83833func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
83834	s.InstancePoolsToUseCount = &v
83835	return s
83836}
83837
83838// SetMinTargetCapacity sets the MinTargetCapacity field's value.
83839func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
83840	s.MinTargetCapacity = &v
83841	return s
83842}
83843
83844// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
83845func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
83846	s.SingleAvailabilityZone = &v
83847	return s
83848}
83849
83850// SetSingleInstanceType sets the SingleInstanceType field's value.
83851func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
83852	s.SingleInstanceType = &v
83853	return s
83854}
83855
83856// Describes Spot Instance placement.
83857type SpotPlacement struct {
83858	_ struct{} `type:"structure"`
83859
83860	// The Availability Zone.
83861	//
83862	// [Spot Fleet only] To specify multiple Availability Zones, separate them using
83863	// commas; for example, "us-west-2a, us-west-2b".
83864	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
83865
83866	// The name of the placement group.
83867	GroupName *string `locationName:"groupName" type:"string"`
83868
83869	// The tenancy of the instance (if the instance is running in a VPC). An instance
83870	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
83871	// is not supported for Spot Instances.
83872	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
83873}
83874
83875// String returns the string representation
83876func (s SpotPlacement) String() string {
83877	return awsutil.Prettify(s)
83878}
83879
83880// GoString returns the string representation
83881func (s SpotPlacement) GoString() string {
83882	return s.String()
83883}
83884
83885// SetAvailabilityZone sets the AvailabilityZone field's value.
83886func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
83887	s.AvailabilityZone = &v
83888	return s
83889}
83890
83891// SetGroupName sets the GroupName field's value.
83892func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
83893	s.GroupName = &v
83894	return s
83895}
83896
83897// SetTenancy sets the Tenancy field's value.
83898func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
83899	s.Tenancy = &v
83900	return s
83901}
83902
83903// Describes the maximum price per hour that you are willing to pay for a Spot
83904// Instance.
83905type SpotPrice struct {
83906	_ struct{} `type:"structure"`
83907
83908	// The Availability Zone.
83909	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
83910
83911	// The instance type.
83912	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
83913
83914	// A general description of the AMI.
83915	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
83916
83917	// The maximum price per hour that you are willing to pay for a Spot Instance.
83918	SpotPrice *string `locationName:"spotPrice" type:"string"`
83919
83920	// The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
83921	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
83922}
83923
83924// String returns the string representation
83925func (s SpotPrice) String() string {
83926	return awsutil.Prettify(s)
83927}
83928
83929// GoString returns the string representation
83930func (s SpotPrice) GoString() string {
83931	return s.String()
83932}
83933
83934// SetAvailabilityZone sets the AvailabilityZone field's value.
83935func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
83936	s.AvailabilityZone = &v
83937	return s
83938}
83939
83940// SetInstanceType sets the InstanceType field's value.
83941func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
83942	s.InstanceType = &v
83943	return s
83944}
83945
83946// SetProductDescription sets the ProductDescription field's value.
83947func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
83948	s.ProductDescription = &v
83949	return s
83950}
83951
83952// SetSpotPrice sets the SpotPrice field's value.
83953func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
83954	s.SpotPrice = &v
83955	return s
83956}
83957
83958// SetTimestamp sets the Timestamp field's value.
83959func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
83960	s.Timestamp = &v
83961	return s
83962}
83963
83964// Describes a stale rule in a security group.
83965type StaleIpPermission struct {
83966	_ struct{} `type:"structure"`
83967
83968	// The start of the port range for the TCP and UDP protocols, or an ICMP type
83969	// number. A value of -1 indicates all ICMP types.
83970	FromPort *int64 `locationName:"fromPort" type:"integer"`
83971
83972	// The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
83973	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
83974	IpProtocol *string `locationName:"ipProtocol" type:"string"`
83975
83976	// The IP ranges. Not applicable for stale security group rules.
83977	IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
83978
83979	// The prefix list IDs for an AWS service. Not applicable for stale security
83980	// group rules.
83981	PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
83982
83983	// The end of the port range for the TCP and UDP protocols, or an ICMP type
83984	// number. A value of -1 indicates all ICMP types.
83985	ToPort *int64 `locationName:"toPort" type:"integer"`
83986
83987	// The security group pairs. Returns the ID of the referenced security group
83988	// and VPC, and the ID and status of the VPC peering connection.
83989	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
83990}
83991
83992// String returns the string representation
83993func (s StaleIpPermission) String() string {
83994	return awsutil.Prettify(s)
83995}
83996
83997// GoString returns the string representation
83998func (s StaleIpPermission) GoString() string {
83999	return s.String()
84000}
84001
84002// SetFromPort sets the FromPort field's value.
84003func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
84004	s.FromPort = &v
84005	return s
84006}
84007
84008// SetIpProtocol sets the IpProtocol field's value.
84009func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
84010	s.IpProtocol = &v
84011	return s
84012}
84013
84014// SetIpRanges sets the IpRanges field's value.
84015func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
84016	s.IpRanges = v
84017	return s
84018}
84019
84020// SetPrefixListIds sets the PrefixListIds field's value.
84021func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
84022	s.PrefixListIds = v
84023	return s
84024}
84025
84026// SetToPort sets the ToPort field's value.
84027func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
84028	s.ToPort = &v
84029	return s
84030}
84031
84032// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
84033func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
84034	s.UserIdGroupPairs = v
84035	return s
84036}
84037
84038// Describes a stale security group (a security group that contains stale rules).
84039type StaleSecurityGroup struct {
84040	_ struct{} `type:"structure"`
84041
84042	// The description of the security group.
84043	Description *string `locationName:"description" type:"string"`
84044
84045	// The ID of the security group.
84046	GroupId *string `locationName:"groupId" type:"string"`
84047
84048	// The name of the security group.
84049	GroupName *string `locationName:"groupName" type:"string"`
84050
84051	// Information about the stale inbound rules in the security group.
84052	StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
84053
84054	// Information about the stale outbound rules in the security group.
84055	StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
84056
84057	// The ID of the VPC for the security group.
84058	VpcId *string `locationName:"vpcId" type:"string"`
84059}
84060
84061// String returns the string representation
84062func (s StaleSecurityGroup) String() string {
84063	return awsutil.Prettify(s)
84064}
84065
84066// GoString returns the string representation
84067func (s StaleSecurityGroup) GoString() string {
84068	return s.String()
84069}
84070
84071// SetDescription sets the Description field's value.
84072func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
84073	s.Description = &v
84074	return s
84075}
84076
84077// SetGroupId sets the GroupId field's value.
84078func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
84079	s.GroupId = &v
84080	return s
84081}
84082
84083// SetGroupName sets the GroupName field's value.
84084func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
84085	s.GroupName = &v
84086	return s
84087}
84088
84089// SetStaleIpPermissions sets the StaleIpPermissions field's value.
84090func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
84091	s.StaleIpPermissions = v
84092	return s
84093}
84094
84095// SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
84096func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
84097	s.StaleIpPermissionsEgress = v
84098	return s
84099}
84100
84101// SetVpcId sets the VpcId field's value.
84102func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
84103	s.VpcId = &v
84104	return s
84105}
84106
84107type StartInstancesInput struct {
84108	_ struct{} `type:"structure"`
84109
84110	// Reserved.
84111	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
84112
84113	// Checks whether you have the required permissions for the action, without
84114	// actually making the request, and provides an error response. If you have
84115	// the required permissions, the error response is DryRunOperation. Otherwise,
84116	// it is UnauthorizedOperation.
84117	DryRun *bool `locationName:"dryRun" type:"boolean"`
84118
84119	// The IDs of the instances.
84120	//
84121	// InstanceIds is a required field
84122	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
84123}
84124
84125// String returns the string representation
84126func (s StartInstancesInput) String() string {
84127	return awsutil.Prettify(s)
84128}
84129
84130// GoString returns the string representation
84131func (s StartInstancesInput) GoString() string {
84132	return s.String()
84133}
84134
84135// Validate inspects the fields of the type to determine if they are valid.
84136func (s *StartInstancesInput) Validate() error {
84137	invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
84138	if s.InstanceIds == nil {
84139		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
84140	}
84141
84142	if invalidParams.Len() > 0 {
84143		return invalidParams
84144	}
84145	return nil
84146}
84147
84148// SetAdditionalInfo sets the AdditionalInfo field's value.
84149func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
84150	s.AdditionalInfo = &v
84151	return s
84152}
84153
84154// SetDryRun sets the DryRun field's value.
84155func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
84156	s.DryRun = &v
84157	return s
84158}
84159
84160// SetInstanceIds sets the InstanceIds field's value.
84161func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
84162	s.InstanceIds = v
84163	return s
84164}
84165
84166type StartInstancesOutput struct {
84167	_ struct{} `type:"structure"`
84168
84169	// Information about the started instances.
84170	StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
84171}
84172
84173// String returns the string representation
84174func (s StartInstancesOutput) String() string {
84175	return awsutil.Prettify(s)
84176}
84177
84178// GoString returns the string representation
84179func (s StartInstancesOutput) GoString() string {
84180	return s.String()
84181}
84182
84183// SetStartingInstances sets the StartingInstances field's value.
84184func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
84185	s.StartingInstances = v
84186	return s
84187}
84188
84189// Describes a state change.
84190type StateReason struct {
84191	_ struct{} `type:"structure"`
84192
84193	// The reason code for the state change.
84194	Code *string `locationName:"code" type:"string"`
84195
84196	// The message for the state change.
84197	//
84198	//    * Server.InsufficientInstanceCapacity: There was insufficient capacity
84199	//    available to satisfy the launch request.
84200	//
84201	//    * Server.InternalError: An internal error caused the instance to terminate
84202	//    during launch.
84203	//
84204	//    * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
84205	//
84206	//    * Server.SpotInstanceShutdown: The instance was stopped because the number
84207	//    of Spot requests with a maximum price equal to or higher than the Spot
84208	//    price exceeded available capacity or because of an increase in the Spot
84209	//    price.
84210	//
84211	//    * Server.SpotInstanceTermination: The instance was terminated because
84212	//    the number of Spot requests with a maximum price equal to or higher than
84213	//    the Spot price exceeded available capacity or because of an increase in
84214	//    the Spot price.
84215	//
84216	//    * Client.InstanceInitiatedShutdown: The instance was shut down using the
84217	//    shutdown -h command from the instance.
84218	//
84219	//    * Client.InstanceTerminated: The instance was terminated or rebooted during
84220	//    AMI creation.
84221	//
84222	//    * Client.InternalError: A client error caused the instance to terminate
84223	//    during launch.
84224	//
84225	//    * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
84226	//
84227	//    * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
84228	//
84229	//    * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
84230	//    EC2 API.
84231	//
84232	//    * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
84233	//    total storage was exceeded. Decrease usage or request an increase in your
84234	//    account limits.
84235	Message *string `locationName:"message" type:"string"`
84236}
84237
84238// String returns the string representation
84239func (s StateReason) String() string {
84240	return awsutil.Prettify(s)
84241}
84242
84243// GoString returns the string representation
84244func (s StateReason) GoString() string {
84245	return s.String()
84246}
84247
84248// SetCode sets the Code field's value.
84249func (s *StateReason) SetCode(v string) *StateReason {
84250	s.Code = &v
84251	return s
84252}
84253
84254// SetMessage sets the Message field's value.
84255func (s *StateReason) SetMessage(v string) *StateReason {
84256	s.Message = &v
84257	return s
84258}
84259
84260type StopInstancesInput struct {
84261	_ struct{} `type:"structure"`
84262
84263	// Checks whether you have the required permissions for the action, without
84264	// actually making the request, and provides an error response. If you have
84265	// the required permissions, the error response is DryRunOperation. Otherwise,
84266	// it is UnauthorizedOperation.
84267	DryRun *bool `locationName:"dryRun" type:"boolean"`
84268
84269	// Forces the instances to stop. The instances do not have an opportunity to
84270	// flush file system caches or file system metadata. If you use this option,
84271	// you must perform file system check and repair procedures. This option is
84272	// not recommended for Windows instances.
84273	//
84274	// Default: false
84275	Force *bool `locationName:"force" type:"boolean"`
84276
84277	// Hibernates the instance if the instance was enabled for hibernation at launch.
84278	// If the instance cannot hibernate successfully, a normal shutdown occurs.
84279	// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
84280	// in the Amazon Elastic Compute Cloud User Guide.
84281	//
84282	// Default: false
84283	Hibernate *bool `type:"boolean"`
84284
84285	// The IDs of the instances.
84286	//
84287	// InstanceIds is a required field
84288	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
84289}
84290
84291// String returns the string representation
84292func (s StopInstancesInput) String() string {
84293	return awsutil.Prettify(s)
84294}
84295
84296// GoString returns the string representation
84297func (s StopInstancesInput) GoString() string {
84298	return s.String()
84299}
84300
84301// Validate inspects the fields of the type to determine if they are valid.
84302func (s *StopInstancesInput) Validate() error {
84303	invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
84304	if s.InstanceIds == nil {
84305		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
84306	}
84307
84308	if invalidParams.Len() > 0 {
84309		return invalidParams
84310	}
84311	return nil
84312}
84313
84314// SetDryRun sets the DryRun field's value.
84315func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
84316	s.DryRun = &v
84317	return s
84318}
84319
84320// SetForce sets the Force field's value.
84321func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
84322	s.Force = &v
84323	return s
84324}
84325
84326// SetHibernate sets the Hibernate field's value.
84327func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
84328	s.Hibernate = &v
84329	return s
84330}
84331
84332// SetInstanceIds sets the InstanceIds field's value.
84333func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
84334	s.InstanceIds = v
84335	return s
84336}
84337
84338type StopInstancesOutput struct {
84339	_ struct{} `type:"structure"`
84340
84341	// Information about the stopped instances.
84342	StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
84343}
84344
84345// String returns the string representation
84346func (s StopInstancesOutput) String() string {
84347	return awsutil.Prettify(s)
84348}
84349
84350// GoString returns the string representation
84351func (s StopInstancesOutput) GoString() string {
84352	return s.String()
84353}
84354
84355// SetStoppingInstances sets the StoppingInstances field's value.
84356func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
84357	s.StoppingInstances = v
84358	return s
84359}
84360
84361// Describes the storage location for an instance store-backed AMI.
84362type Storage struct {
84363	_ struct{} `type:"structure"`
84364
84365	// An Amazon S3 storage location.
84366	S3 *S3Storage `type:"structure"`
84367}
84368
84369// String returns the string representation
84370func (s Storage) String() string {
84371	return awsutil.Prettify(s)
84372}
84373
84374// GoString returns the string representation
84375func (s Storage) GoString() string {
84376	return s.String()
84377}
84378
84379// SetS3 sets the S3 field's value.
84380func (s *Storage) SetS3(v *S3Storage) *Storage {
84381	s.S3 = v
84382	return s
84383}
84384
84385// Describes a storage location in Amazon S3.
84386type StorageLocation struct {
84387	_ struct{} `type:"structure"`
84388
84389	// The name of the S3 bucket.
84390	Bucket *string `type:"string"`
84391
84392	// The key.
84393	Key *string `type:"string"`
84394}
84395
84396// String returns the string representation
84397func (s StorageLocation) String() string {
84398	return awsutil.Prettify(s)
84399}
84400
84401// GoString returns the string representation
84402func (s StorageLocation) GoString() string {
84403	return s.String()
84404}
84405
84406// SetBucket sets the Bucket field's value.
84407func (s *StorageLocation) SetBucket(v string) *StorageLocation {
84408	s.Bucket = &v
84409	return s
84410}
84411
84412// SetKey sets the Key field's value.
84413func (s *StorageLocation) SetKey(v string) *StorageLocation {
84414	s.Key = &v
84415	return s
84416}
84417
84418// Describes a subnet.
84419type Subnet struct {
84420	_ struct{} `type:"structure"`
84421
84422	// Indicates whether a network interface created in this subnet (including a
84423	// network interface created by RunInstances) receives an IPv6 address.
84424	AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
84425
84426	// The Availability Zone of the subnet.
84427	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
84428
84429	// The AZ ID of the subnet.
84430	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
84431
84432	// The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
84433	// for any stopped instances are considered unavailable.
84434	AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
84435
84436	// The IPv4 CIDR block assigned to the subnet.
84437	CidrBlock *string `locationName:"cidrBlock" type:"string"`
84438
84439	// Indicates whether this is the default subnet for the Availability Zone.
84440	DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
84441
84442	// Information about the IPv6 CIDR blocks associated with the subnet.
84443	Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
84444
84445	// Indicates whether instances launched in this subnet receive a public IPv4
84446	// address.
84447	MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
84448
84449	// The ID of the AWS account that owns the subnet.
84450	OwnerId *string `locationName:"ownerId" type:"string"`
84451
84452	// The current state of the subnet.
84453	State *string `locationName:"state" type:"string" enum:"SubnetState"`
84454
84455	// The Amazon Resource Name (ARN) of the subnet.
84456	SubnetArn *string `locationName:"subnetArn" type:"string"`
84457
84458	// The ID of the subnet.
84459	SubnetId *string `locationName:"subnetId" type:"string"`
84460
84461	// Any tags assigned to the subnet.
84462	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84463
84464	// The ID of the VPC the subnet is in.
84465	VpcId *string `locationName:"vpcId" type:"string"`
84466}
84467
84468// String returns the string representation
84469func (s Subnet) String() string {
84470	return awsutil.Prettify(s)
84471}
84472
84473// GoString returns the string representation
84474func (s Subnet) GoString() string {
84475	return s.String()
84476}
84477
84478// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
84479func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
84480	s.AssignIpv6AddressOnCreation = &v
84481	return s
84482}
84483
84484// SetAvailabilityZone sets the AvailabilityZone field's value.
84485func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
84486	s.AvailabilityZone = &v
84487	return s
84488}
84489
84490// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
84491func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
84492	s.AvailabilityZoneId = &v
84493	return s
84494}
84495
84496// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
84497func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
84498	s.AvailableIpAddressCount = &v
84499	return s
84500}
84501
84502// SetCidrBlock sets the CidrBlock field's value.
84503func (s *Subnet) SetCidrBlock(v string) *Subnet {
84504	s.CidrBlock = &v
84505	return s
84506}
84507
84508// SetDefaultForAz sets the DefaultForAz field's value.
84509func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
84510	s.DefaultForAz = &v
84511	return s
84512}
84513
84514// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
84515func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
84516	s.Ipv6CidrBlockAssociationSet = v
84517	return s
84518}
84519
84520// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
84521func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
84522	s.MapPublicIpOnLaunch = &v
84523	return s
84524}
84525
84526// SetOwnerId sets the OwnerId field's value.
84527func (s *Subnet) SetOwnerId(v string) *Subnet {
84528	s.OwnerId = &v
84529	return s
84530}
84531
84532// SetState sets the State field's value.
84533func (s *Subnet) SetState(v string) *Subnet {
84534	s.State = &v
84535	return s
84536}
84537
84538// SetSubnetArn sets the SubnetArn field's value.
84539func (s *Subnet) SetSubnetArn(v string) *Subnet {
84540	s.SubnetArn = &v
84541	return s
84542}
84543
84544// SetSubnetId sets the SubnetId field's value.
84545func (s *Subnet) SetSubnetId(v string) *Subnet {
84546	s.SubnetId = &v
84547	return s
84548}
84549
84550// SetTags sets the Tags field's value.
84551func (s *Subnet) SetTags(v []*Tag) *Subnet {
84552	s.Tags = v
84553	return s
84554}
84555
84556// SetVpcId sets the VpcId field's value.
84557func (s *Subnet) SetVpcId(v string) *Subnet {
84558	s.VpcId = &v
84559	return s
84560}
84561
84562// Describes the state of a CIDR block.
84563type SubnetCidrBlockState struct {
84564	_ struct{} `type:"structure"`
84565
84566	// The state of a CIDR block.
84567	State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
84568
84569	// A message about the status of the CIDR block, if applicable.
84570	StatusMessage *string `locationName:"statusMessage" type:"string"`
84571}
84572
84573// String returns the string representation
84574func (s SubnetCidrBlockState) String() string {
84575	return awsutil.Prettify(s)
84576}
84577
84578// GoString returns the string representation
84579func (s SubnetCidrBlockState) GoString() string {
84580	return s.String()
84581}
84582
84583// SetState sets the State field's value.
84584func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
84585	s.State = &v
84586	return s
84587}
84588
84589// SetStatusMessage sets the StatusMessage field's value.
84590func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
84591	s.StatusMessage = &v
84592	return s
84593}
84594
84595// Describes an IPv6 CIDR block associated with a subnet.
84596type SubnetIpv6CidrBlockAssociation struct {
84597	_ struct{} `type:"structure"`
84598
84599	// The association ID for the CIDR block.
84600	AssociationId *string `locationName:"associationId" type:"string"`
84601
84602	// The IPv6 CIDR block.
84603	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
84604
84605	// Information about the state of the CIDR block.
84606	Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
84607}
84608
84609// String returns the string representation
84610func (s SubnetIpv6CidrBlockAssociation) String() string {
84611	return awsutil.Prettify(s)
84612}
84613
84614// GoString returns the string representation
84615func (s SubnetIpv6CidrBlockAssociation) GoString() string {
84616	return s.String()
84617}
84618
84619// SetAssociationId sets the AssociationId field's value.
84620func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
84621	s.AssociationId = &v
84622	return s
84623}
84624
84625// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
84626func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
84627	s.Ipv6CidrBlock = &v
84628	return s
84629}
84630
84631// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
84632func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
84633	s.Ipv6CidrBlockState = v
84634	return s
84635}
84636
84637// Describes the T2 or T3 instance whose credit option for CPU usage was successfully
84638// modified.
84639type SuccessfulInstanceCreditSpecificationItem struct {
84640	_ struct{} `type:"structure"`
84641
84642	// The ID of the instance.
84643	InstanceId *string `locationName:"instanceId" type:"string"`
84644}
84645
84646// String returns the string representation
84647func (s SuccessfulInstanceCreditSpecificationItem) String() string {
84648	return awsutil.Prettify(s)
84649}
84650
84651// GoString returns the string representation
84652func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
84653	return s.String()
84654}
84655
84656// SetInstanceId sets the InstanceId field's value.
84657func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
84658	s.InstanceId = &v
84659	return s
84660}
84661
84662// Describes a tag.
84663type Tag struct {
84664	_ struct{} `type:"structure"`
84665
84666	// The key of the tag.
84667	//
84668	// Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
84669	// characters. May not begin with aws:.
84670	Key *string `locationName:"key" type:"string"`
84671
84672	// The value of the tag.
84673	//
84674	// Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
84675	// characters.
84676	Value *string `locationName:"value" type:"string"`
84677}
84678
84679// String returns the string representation
84680func (s Tag) String() string {
84681	return awsutil.Prettify(s)
84682}
84683
84684// GoString returns the string representation
84685func (s Tag) GoString() string {
84686	return s.String()
84687}
84688
84689// SetKey sets the Key field's value.
84690func (s *Tag) SetKey(v string) *Tag {
84691	s.Key = &v
84692	return s
84693}
84694
84695// SetValue sets the Value field's value.
84696func (s *Tag) SetValue(v string) *Tag {
84697	s.Value = &v
84698	return s
84699}
84700
84701// Describes a tag.
84702type TagDescription struct {
84703	_ struct{} `type:"structure"`
84704
84705	// The tag key.
84706	Key *string `locationName:"key" type:"string"`
84707
84708	// The ID of the resource.
84709	ResourceId *string `locationName:"resourceId" type:"string"`
84710
84711	// The resource type.
84712	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
84713
84714	// The tag value.
84715	Value *string `locationName:"value" type:"string"`
84716}
84717
84718// String returns the string representation
84719func (s TagDescription) String() string {
84720	return awsutil.Prettify(s)
84721}
84722
84723// GoString returns the string representation
84724func (s TagDescription) GoString() string {
84725	return s.String()
84726}
84727
84728// SetKey sets the Key field's value.
84729func (s *TagDescription) SetKey(v string) *TagDescription {
84730	s.Key = &v
84731	return s
84732}
84733
84734// SetResourceId sets the ResourceId field's value.
84735func (s *TagDescription) SetResourceId(v string) *TagDescription {
84736	s.ResourceId = &v
84737	return s
84738}
84739
84740// SetResourceType sets the ResourceType field's value.
84741func (s *TagDescription) SetResourceType(v string) *TagDescription {
84742	s.ResourceType = &v
84743	return s
84744}
84745
84746// SetValue sets the Value field's value.
84747func (s *TagDescription) SetValue(v string) *TagDescription {
84748	s.Value = &v
84749	return s
84750}
84751
84752// The tags to apply to a resource when the resource is being created.
84753type TagSpecification struct {
84754	_ struct{} `type:"structure"`
84755
84756	// The type of resource to tag. Currently, the resource types that support tagging
84757	// on creation are fleet, dedicated-host, instance, snapshot, and volume. To
84758	// tag a resource after it has been created, see CreateTags.
84759	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
84760
84761	// The tags to apply to the resource.
84762	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
84763}
84764
84765// String returns the string representation
84766func (s TagSpecification) String() string {
84767	return awsutil.Prettify(s)
84768}
84769
84770// GoString returns the string representation
84771func (s TagSpecification) GoString() string {
84772	return s.String()
84773}
84774
84775// SetResourceType sets the ResourceType field's value.
84776func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
84777	s.ResourceType = &v
84778	return s
84779}
84780
84781// SetTags sets the Tags field's value.
84782func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
84783	s.Tags = v
84784	return s
84785}
84786
84787// The number of units to request. You can choose to set the target capacity
84788// in terms of instances or a performance characteristic that is important to
84789// your application workload, such as vCPUs, memory, or I/O. If the request
84790// type is maintain, you can specify a target capacity of 0 and add capacity
84791// later.
84792type TargetCapacitySpecification struct {
84793	_ struct{} `type:"structure"`
84794
84795	// The default TotalTargetCapacity, which is either Spot or On-Demand.
84796	DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
84797
84798	// The number of On-Demand units to request.
84799	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
84800
84801	// The maximum number of Spot units to launch.
84802	SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
84803
84804	// The number of units to request, filled using DefaultTargetCapacityType.
84805	TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
84806}
84807
84808// String returns the string representation
84809func (s TargetCapacitySpecification) String() string {
84810	return awsutil.Prettify(s)
84811}
84812
84813// GoString returns the string representation
84814func (s TargetCapacitySpecification) GoString() string {
84815	return s.String()
84816}
84817
84818// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
84819func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
84820	s.DefaultTargetCapacityType = &v
84821	return s
84822}
84823
84824// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
84825func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
84826	s.OnDemandTargetCapacity = &v
84827	return s
84828}
84829
84830// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
84831func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
84832	s.SpotTargetCapacity = &v
84833	return s
84834}
84835
84836// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
84837func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
84838	s.TotalTargetCapacity = &v
84839	return s
84840}
84841
84842// The number of units to request. You can choose to set the target capacity
84843// in terms of instances or a performance characteristic that is important to
84844// your application workload, such as vCPUs, memory, or I/O. If the request
84845// type is maintain, you can specify a target capacity of 0 and add capacity
84846// later.
84847type TargetCapacitySpecificationRequest struct {
84848	_ struct{} `type:"structure"`
84849
84850	// The default TotalTargetCapacity, which is either Spot or On-Demand.
84851	DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
84852
84853	// The number of On-Demand units to request.
84854	OnDemandTargetCapacity *int64 `type:"integer"`
84855
84856	// The number of Spot units to request.
84857	SpotTargetCapacity *int64 `type:"integer"`
84858
84859	// The number of units to request, filled using DefaultTargetCapacityType.
84860	//
84861	// TotalTargetCapacity is a required field
84862	TotalTargetCapacity *int64 `type:"integer" required:"true"`
84863}
84864
84865// String returns the string representation
84866func (s TargetCapacitySpecificationRequest) String() string {
84867	return awsutil.Prettify(s)
84868}
84869
84870// GoString returns the string representation
84871func (s TargetCapacitySpecificationRequest) GoString() string {
84872	return s.String()
84873}
84874
84875// Validate inspects the fields of the type to determine if they are valid.
84876func (s *TargetCapacitySpecificationRequest) Validate() error {
84877	invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
84878	if s.TotalTargetCapacity == nil {
84879		invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
84880	}
84881
84882	if invalidParams.Len() > 0 {
84883		return invalidParams
84884	}
84885	return nil
84886}
84887
84888// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
84889func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
84890	s.DefaultTargetCapacityType = &v
84891	return s
84892}
84893
84894// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
84895func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
84896	s.OnDemandTargetCapacity = &v
84897	return s
84898}
84899
84900// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
84901func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
84902	s.SpotTargetCapacity = &v
84903	return s
84904}
84905
84906// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
84907func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
84908	s.TotalTargetCapacity = &v
84909	return s
84910}
84911
84912// Information about the Convertible Reserved Instance offering.
84913type TargetConfiguration struct {
84914	_ struct{} `type:"structure"`
84915
84916	// The number of instances the Convertible Reserved Instance offering can be
84917	// applied to. This parameter is reserved and cannot be specified in a request
84918	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
84919
84920	// The ID of the Convertible Reserved Instance offering.
84921	OfferingId *string `locationName:"offeringId" type:"string"`
84922}
84923
84924// String returns the string representation
84925func (s TargetConfiguration) String() string {
84926	return awsutil.Prettify(s)
84927}
84928
84929// GoString returns the string representation
84930func (s TargetConfiguration) GoString() string {
84931	return s.String()
84932}
84933
84934// SetInstanceCount sets the InstanceCount field's value.
84935func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
84936	s.InstanceCount = &v
84937	return s
84938}
84939
84940// SetOfferingId sets the OfferingId field's value.
84941func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
84942	s.OfferingId = &v
84943	return s
84944}
84945
84946// Details about the target configuration.
84947type TargetConfigurationRequest struct {
84948	_ struct{} `type:"structure"`
84949
84950	// The number of instances the Covertible Reserved Instance offering can be
84951	// applied to. This parameter is reserved and cannot be specified in a request
84952	InstanceCount *int64 `type:"integer"`
84953
84954	// The Convertible Reserved Instance offering ID.
84955	//
84956	// OfferingId is a required field
84957	OfferingId *string `type:"string" required:"true"`
84958}
84959
84960// String returns the string representation
84961func (s TargetConfigurationRequest) String() string {
84962	return awsutil.Prettify(s)
84963}
84964
84965// GoString returns the string representation
84966func (s TargetConfigurationRequest) GoString() string {
84967	return s.String()
84968}
84969
84970// Validate inspects the fields of the type to determine if they are valid.
84971func (s *TargetConfigurationRequest) Validate() error {
84972	invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
84973	if s.OfferingId == nil {
84974		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
84975	}
84976
84977	if invalidParams.Len() > 0 {
84978		return invalidParams
84979	}
84980	return nil
84981}
84982
84983// SetInstanceCount sets the InstanceCount field's value.
84984func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
84985	s.InstanceCount = &v
84986	return s
84987}
84988
84989// SetOfferingId sets the OfferingId field's value.
84990func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
84991	s.OfferingId = &v
84992	return s
84993}
84994
84995// Describes a load balancer target group.
84996type TargetGroup struct {
84997	_ struct{} `type:"structure"`
84998
84999	// The Amazon Resource Name (ARN) of the target group.
85000	Arn *string `locationName:"arn" type:"string"`
85001}
85002
85003// String returns the string representation
85004func (s TargetGroup) String() string {
85005	return awsutil.Prettify(s)
85006}
85007
85008// GoString returns the string representation
85009func (s TargetGroup) GoString() string {
85010	return s.String()
85011}
85012
85013// SetArn sets the Arn field's value.
85014func (s *TargetGroup) SetArn(v string) *TargetGroup {
85015	s.Arn = &v
85016	return s
85017}
85018
85019// Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
85020// the running Spot Instances with these target groups.
85021type TargetGroupsConfig struct {
85022	_ struct{} `type:"structure"`
85023
85024	// One or more target groups.
85025	TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
85026}
85027
85028// String returns the string representation
85029func (s TargetGroupsConfig) String() string {
85030	return awsutil.Prettify(s)
85031}
85032
85033// GoString returns the string representation
85034func (s TargetGroupsConfig) GoString() string {
85035	return s.String()
85036}
85037
85038// Validate inspects the fields of the type to determine if they are valid.
85039func (s *TargetGroupsConfig) Validate() error {
85040	invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
85041	if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
85042		invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
85043	}
85044
85045	if invalidParams.Len() > 0 {
85046		return invalidParams
85047	}
85048	return nil
85049}
85050
85051// SetTargetGroups sets the TargetGroups field's value.
85052func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
85053	s.TargetGroups = v
85054	return s
85055}
85056
85057// Describes a target network associated with a Client VPN endpoint.
85058type TargetNetwork struct {
85059	_ struct{} `type:"structure"`
85060
85061	// The ID of the association.
85062	AssociationId *string `locationName:"associationId" type:"string"`
85063
85064	// The ID of the Client VPN endpoint with which the target network is associated.
85065	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
85066
85067	// The IDs of the security groups applied to the target network association.
85068	SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
85069
85070	// The current state of the target network association.
85071	Status *AssociationStatus `locationName:"status" type:"structure"`
85072
85073	// The ID of the subnet specified as the target network.
85074	TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
85075
85076	// The ID of the VPC in which the target network (subnet) is located.
85077	VpcId *string `locationName:"vpcId" type:"string"`
85078}
85079
85080// String returns the string representation
85081func (s TargetNetwork) String() string {
85082	return awsutil.Prettify(s)
85083}
85084
85085// GoString returns the string representation
85086func (s TargetNetwork) GoString() string {
85087	return s.String()
85088}
85089
85090// SetAssociationId sets the AssociationId field's value.
85091func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
85092	s.AssociationId = &v
85093	return s
85094}
85095
85096// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
85097func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
85098	s.ClientVpnEndpointId = &v
85099	return s
85100}
85101
85102// SetSecurityGroups sets the SecurityGroups field's value.
85103func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
85104	s.SecurityGroups = v
85105	return s
85106}
85107
85108// SetStatus sets the Status field's value.
85109func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
85110	s.Status = v
85111	return s
85112}
85113
85114// SetTargetNetworkId sets the TargetNetworkId field's value.
85115func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
85116	s.TargetNetworkId = &v
85117	return s
85118}
85119
85120// SetVpcId sets the VpcId field's value.
85121func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
85122	s.VpcId = &v
85123	return s
85124}
85125
85126// The total value of the new Convertible Reserved Instances.
85127type TargetReservationValue struct {
85128	_ struct{} `type:"structure"`
85129
85130	// The total value of the Convertible Reserved Instances that make up the exchange.
85131	// This is the sum of the list value, remaining upfront price, and additional
85132	// upfront cost of the exchange.
85133	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
85134
85135	// The configuration of the Convertible Reserved Instances that make up the
85136	// exchange.
85137	TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
85138}
85139
85140// String returns the string representation
85141func (s TargetReservationValue) String() string {
85142	return awsutil.Prettify(s)
85143}
85144
85145// GoString returns the string representation
85146func (s TargetReservationValue) GoString() string {
85147	return s.String()
85148}
85149
85150// SetReservationValue sets the ReservationValue field's value.
85151func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
85152	s.ReservationValue = v
85153	return s
85154}
85155
85156// SetTargetConfiguration sets the TargetConfiguration field's value.
85157func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
85158	s.TargetConfiguration = v
85159	return s
85160}
85161
85162type TerminateClientVpnConnectionsInput struct {
85163	_ struct{} `type:"structure"`
85164
85165	// The ID of the Client VPN endpoint to which the client is connected.
85166	//
85167	// ClientVpnEndpointId is a required field
85168	ClientVpnEndpointId *string `type:"string" required:"true"`
85169
85170	// The ID of the client connection to be terminated.
85171	ConnectionId *string `type:"string"`
85172
85173	// Checks whether you have the required permissions for the action, without
85174	// actually making the request, and provides an error response. If you have
85175	// the required permissions, the error response is DryRunOperation. Otherwise,
85176	// it is UnauthorizedOperation.
85177	DryRun *bool `type:"boolean"`
85178
85179	// The name of the user who initiated the connection. Use this option to terminate
85180	// all active connections for the specified user. This option can only be used
85181	// if the user has established up to five connections.
85182	Username *string `type:"string"`
85183}
85184
85185// String returns the string representation
85186func (s TerminateClientVpnConnectionsInput) String() string {
85187	return awsutil.Prettify(s)
85188}
85189
85190// GoString returns the string representation
85191func (s TerminateClientVpnConnectionsInput) GoString() string {
85192	return s.String()
85193}
85194
85195// Validate inspects the fields of the type to determine if they are valid.
85196func (s *TerminateClientVpnConnectionsInput) Validate() error {
85197	invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
85198	if s.ClientVpnEndpointId == nil {
85199		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
85200	}
85201
85202	if invalidParams.Len() > 0 {
85203		return invalidParams
85204	}
85205	return nil
85206}
85207
85208// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
85209func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
85210	s.ClientVpnEndpointId = &v
85211	return s
85212}
85213
85214// SetConnectionId sets the ConnectionId field's value.
85215func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
85216	s.ConnectionId = &v
85217	return s
85218}
85219
85220// SetDryRun sets the DryRun field's value.
85221func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
85222	s.DryRun = &v
85223	return s
85224}
85225
85226// SetUsername sets the Username field's value.
85227func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
85228	s.Username = &v
85229	return s
85230}
85231
85232type TerminateClientVpnConnectionsOutput struct {
85233	_ struct{} `type:"structure"`
85234
85235	// The ID of the Client VPN endpoint.
85236	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
85237
85238	// The current state of the client connections.
85239	ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
85240
85241	// The user who established the terminated client connections.
85242	Username *string `locationName:"username" type:"string"`
85243}
85244
85245// String returns the string representation
85246func (s TerminateClientVpnConnectionsOutput) String() string {
85247	return awsutil.Prettify(s)
85248}
85249
85250// GoString returns the string representation
85251func (s TerminateClientVpnConnectionsOutput) GoString() string {
85252	return s.String()
85253}
85254
85255// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
85256func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
85257	s.ClientVpnEndpointId = &v
85258	return s
85259}
85260
85261// SetConnectionStatuses sets the ConnectionStatuses field's value.
85262func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
85263	s.ConnectionStatuses = v
85264	return s
85265}
85266
85267// SetUsername sets the Username field's value.
85268func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
85269	s.Username = &v
85270	return s
85271}
85272
85273// Information about a terminated Client VPN endpoint client connection.
85274type TerminateConnectionStatus struct {
85275	_ struct{} `type:"structure"`
85276
85277	// The ID of the client connection.
85278	ConnectionId *string `locationName:"connectionId" type:"string"`
85279
85280	// A message about the status of the client connection, if applicable.
85281	CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
85282
85283	// The state of the client connection.
85284	PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
85285}
85286
85287// String returns the string representation
85288func (s TerminateConnectionStatus) String() string {
85289	return awsutil.Prettify(s)
85290}
85291
85292// GoString returns the string representation
85293func (s TerminateConnectionStatus) GoString() string {
85294	return s.String()
85295}
85296
85297// SetConnectionId sets the ConnectionId field's value.
85298func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
85299	s.ConnectionId = &v
85300	return s
85301}
85302
85303// SetCurrentStatus sets the CurrentStatus field's value.
85304func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
85305	s.CurrentStatus = v
85306	return s
85307}
85308
85309// SetPreviousStatus sets the PreviousStatus field's value.
85310func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
85311	s.PreviousStatus = v
85312	return s
85313}
85314
85315type TerminateInstancesInput struct {
85316	_ struct{} `type:"structure"`
85317
85318	// Checks whether you have the required permissions for the action, without
85319	// actually making the request, and provides an error response. If you have
85320	// the required permissions, the error response is DryRunOperation. Otherwise,
85321	// it is UnauthorizedOperation.
85322	DryRun *bool `locationName:"dryRun" type:"boolean"`
85323
85324	// The IDs of the instances.
85325	//
85326	// Constraints: Up to 1000 instance IDs. We recommend breaking up this request
85327	// into smaller batches.
85328	//
85329	// InstanceIds is a required field
85330	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
85331}
85332
85333// String returns the string representation
85334func (s TerminateInstancesInput) String() string {
85335	return awsutil.Prettify(s)
85336}
85337
85338// GoString returns the string representation
85339func (s TerminateInstancesInput) GoString() string {
85340	return s.String()
85341}
85342
85343// Validate inspects the fields of the type to determine if they are valid.
85344func (s *TerminateInstancesInput) Validate() error {
85345	invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
85346	if s.InstanceIds == nil {
85347		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
85348	}
85349
85350	if invalidParams.Len() > 0 {
85351		return invalidParams
85352	}
85353	return nil
85354}
85355
85356// SetDryRun sets the DryRun field's value.
85357func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
85358	s.DryRun = &v
85359	return s
85360}
85361
85362// SetInstanceIds sets the InstanceIds field's value.
85363func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
85364	s.InstanceIds = v
85365	return s
85366}
85367
85368type TerminateInstancesOutput struct {
85369	_ struct{} `type:"structure"`
85370
85371	// Information about the terminated instances.
85372	TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
85373}
85374
85375// String returns the string representation
85376func (s TerminateInstancesOutput) String() string {
85377	return awsutil.Prettify(s)
85378}
85379
85380// GoString returns the string representation
85381func (s TerminateInstancesOutput) GoString() string {
85382	return s.String()
85383}
85384
85385// SetTerminatingInstances sets the TerminatingInstances field's value.
85386func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
85387	s.TerminatingInstances = v
85388	return s
85389}
85390
85391// Describes a transit gateway.
85392type TransitGateway struct {
85393	_ struct{} `type:"structure"`
85394
85395	// The creation time.
85396	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
85397
85398	// The description of the transit gateway.
85399	Description *string `locationName:"description" type:"string"`
85400
85401	// The transit gateway options.
85402	Options *TransitGatewayOptions `locationName:"options" type:"structure"`
85403
85404	// The ID of the AWS account ID that owns the transit gateway.
85405	OwnerId *string `locationName:"ownerId" type:"string"`
85406
85407	// The state of the transit gateway.
85408	State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
85409
85410	// The tags for the transit gateway.
85411	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
85412
85413	// The Amazon Resource Name (ARN) of the transit gateway.
85414	TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
85415
85416	// The ID of the transit gateway.
85417	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
85418}
85419
85420// String returns the string representation
85421func (s TransitGateway) String() string {
85422	return awsutil.Prettify(s)
85423}
85424
85425// GoString returns the string representation
85426func (s TransitGateway) GoString() string {
85427	return s.String()
85428}
85429
85430// SetCreationTime sets the CreationTime field's value.
85431func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
85432	s.CreationTime = &v
85433	return s
85434}
85435
85436// SetDescription sets the Description field's value.
85437func (s *TransitGateway) SetDescription(v string) *TransitGateway {
85438	s.Description = &v
85439	return s
85440}
85441
85442// SetOptions sets the Options field's value.
85443func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
85444	s.Options = v
85445	return s
85446}
85447
85448// SetOwnerId sets the OwnerId field's value.
85449func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
85450	s.OwnerId = &v
85451	return s
85452}
85453
85454// SetState sets the State field's value.
85455func (s *TransitGateway) SetState(v string) *TransitGateway {
85456	s.State = &v
85457	return s
85458}
85459
85460// SetTags sets the Tags field's value.
85461func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
85462	s.Tags = v
85463	return s
85464}
85465
85466// SetTransitGatewayArn sets the TransitGatewayArn field's value.
85467func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
85468	s.TransitGatewayArn = &v
85469	return s
85470}
85471
85472// SetTransitGatewayId sets the TransitGatewayId field's value.
85473func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
85474	s.TransitGatewayId = &v
85475	return s
85476}
85477
85478// Describes an association between a resource attachment and a transit gateway
85479// route table.
85480type TransitGatewayAssociation struct {
85481	_ struct{} `type:"structure"`
85482
85483	// The ID of the resource.
85484	ResourceId *string `locationName:"resourceId" type:"string"`
85485
85486	// The resource type.
85487	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
85488
85489	// The state of the association.
85490	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
85491
85492	// The ID of the attachment.
85493	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
85494
85495	// The ID of the transit gateway route table.
85496	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
85497}
85498
85499// String returns the string representation
85500func (s TransitGatewayAssociation) String() string {
85501	return awsutil.Prettify(s)
85502}
85503
85504// GoString returns the string representation
85505func (s TransitGatewayAssociation) GoString() string {
85506	return s.String()
85507}
85508
85509// SetResourceId sets the ResourceId field's value.
85510func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
85511	s.ResourceId = &v
85512	return s
85513}
85514
85515// SetResourceType sets the ResourceType field's value.
85516func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
85517	s.ResourceType = &v
85518	return s
85519}
85520
85521// SetState sets the State field's value.
85522func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
85523	s.State = &v
85524	return s
85525}
85526
85527// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
85528func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
85529	s.TransitGatewayAttachmentId = &v
85530	return s
85531}
85532
85533// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
85534func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
85535	s.TransitGatewayRouteTableId = &v
85536	return s
85537}
85538
85539// Describes an attachment between a resource and a transit gateway.
85540type TransitGatewayAttachment struct {
85541	_ struct{} `type:"structure"`
85542
85543	// The association.
85544	Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
85545
85546	// The creation time.
85547	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
85548
85549	// The ID of the resource.
85550	ResourceId *string `locationName:"resourceId" type:"string"`
85551
85552	// The ID of the AWS account that owns the resource.
85553	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
85554
85555	// The resource type.
85556	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
85557
85558	// The attachment state.
85559	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
85560
85561	// The tags for the attachment.
85562	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
85563
85564	// The ID of the attachment.
85565	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
85566
85567	// The ID of the transit gateway.
85568	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
85569
85570	// The ID of the AWS account that owns the transit gateway.
85571	TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
85572}
85573
85574// String returns the string representation
85575func (s TransitGatewayAttachment) String() string {
85576	return awsutil.Prettify(s)
85577}
85578
85579// GoString returns the string representation
85580func (s TransitGatewayAttachment) GoString() string {
85581	return s.String()
85582}
85583
85584// SetAssociation sets the Association field's value.
85585func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
85586	s.Association = v
85587	return s
85588}
85589
85590// SetCreationTime sets the CreationTime field's value.
85591func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
85592	s.CreationTime = &v
85593	return s
85594}
85595
85596// SetResourceId sets the ResourceId field's value.
85597func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
85598	s.ResourceId = &v
85599	return s
85600}
85601
85602// SetResourceOwnerId sets the ResourceOwnerId field's value.
85603func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
85604	s.ResourceOwnerId = &v
85605	return s
85606}
85607
85608// SetResourceType sets the ResourceType field's value.
85609func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
85610	s.ResourceType = &v
85611	return s
85612}
85613
85614// SetState sets the State field's value.
85615func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
85616	s.State = &v
85617	return s
85618}
85619
85620// SetTags sets the Tags field's value.
85621func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
85622	s.Tags = v
85623	return s
85624}
85625
85626// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
85627func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
85628	s.TransitGatewayAttachmentId = &v
85629	return s
85630}
85631
85632// SetTransitGatewayId sets the TransitGatewayId field's value.
85633func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
85634	s.TransitGatewayId = &v
85635	return s
85636}
85637
85638// SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
85639func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
85640	s.TransitGatewayOwnerId = &v
85641	return s
85642}
85643
85644// Describes an association.
85645type TransitGatewayAttachmentAssociation struct {
85646	_ struct{} `type:"structure"`
85647
85648	// The state of the association.
85649	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
85650
85651	// The ID of the route table for the transit gateway.
85652	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
85653}
85654
85655// String returns the string representation
85656func (s TransitGatewayAttachmentAssociation) String() string {
85657	return awsutil.Prettify(s)
85658}
85659
85660// GoString returns the string representation
85661func (s TransitGatewayAttachmentAssociation) GoString() string {
85662	return s.String()
85663}
85664
85665// SetState sets the State field's value.
85666func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
85667	s.State = &v
85668	return s
85669}
85670
85671// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
85672func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
85673	s.TransitGatewayRouteTableId = &v
85674	return s
85675}
85676
85677// Describes a propagation route table.
85678type TransitGatewayAttachmentPropagation struct {
85679	_ struct{} `type:"structure"`
85680
85681	// The state of the propagation route table.
85682	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
85683
85684	// The ID of the propagation route table.
85685	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
85686}
85687
85688// String returns the string representation
85689func (s TransitGatewayAttachmentPropagation) String() string {
85690	return awsutil.Prettify(s)
85691}
85692
85693// GoString returns the string representation
85694func (s TransitGatewayAttachmentPropagation) GoString() string {
85695	return s.String()
85696}
85697
85698// SetState sets the State field's value.
85699func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
85700	s.State = &v
85701	return s
85702}
85703
85704// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
85705func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
85706	s.TransitGatewayRouteTableId = &v
85707	return s
85708}
85709
85710// Describes the options for a transit gateway.
85711type TransitGatewayOptions struct {
85712	_ struct{} `type:"structure"`
85713
85714	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
85715	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
85716	// for 32-bit ASNs.
85717	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
85718
85719	// The ID of the default association route table.
85720	AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
85721
85722	// Indicates whether attachment requests are automatically accepted.
85723	AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
85724
85725	// Indicates whether resource attachments are automatically associated with
85726	// the default association route table.
85727	DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
85728
85729	// Indicates whether resource attachments automatically propagate routes to
85730	// the default propagation route table.
85731	DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
85732
85733	// Indicates whether DNS support is enabled.
85734	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
85735
85736	// The ID of the default propagation route table.
85737	PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
85738
85739	// Indicates whether Equal Cost Multipath Protocol support is enabled.
85740	VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
85741}
85742
85743// String returns the string representation
85744func (s TransitGatewayOptions) String() string {
85745	return awsutil.Prettify(s)
85746}
85747
85748// GoString returns the string representation
85749func (s TransitGatewayOptions) GoString() string {
85750	return s.String()
85751}
85752
85753// SetAmazonSideAsn sets the AmazonSideAsn field's value.
85754func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
85755	s.AmazonSideAsn = &v
85756	return s
85757}
85758
85759// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
85760func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
85761	s.AssociationDefaultRouteTableId = &v
85762	return s
85763}
85764
85765// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
85766func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
85767	s.AutoAcceptSharedAttachments = &v
85768	return s
85769}
85770
85771// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
85772func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
85773	s.DefaultRouteTableAssociation = &v
85774	return s
85775}
85776
85777// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
85778func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
85779	s.DefaultRouteTablePropagation = &v
85780	return s
85781}
85782
85783// SetDnsSupport sets the DnsSupport field's value.
85784func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
85785	s.DnsSupport = &v
85786	return s
85787}
85788
85789// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
85790func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
85791	s.PropagationDefaultRouteTableId = &v
85792	return s
85793}
85794
85795// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
85796func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
85797	s.VpnEcmpSupport = &v
85798	return s
85799}
85800
85801// Describes route propagation.
85802type TransitGatewayPropagation struct {
85803	_ struct{} `type:"structure"`
85804
85805	// The ID of the resource.
85806	ResourceId *string `locationName:"resourceId" type:"string"`
85807
85808	// The resource type.
85809	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
85810
85811	// The state.
85812	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
85813
85814	// The ID of the attachment.
85815	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
85816
85817	// The ID of the transit gateway route table.
85818	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
85819}
85820
85821// String returns the string representation
85822func (s TransitGatewayPropagation) String() string {
85823	return awsutil.Prettify(s)
85824}
85825
85826// GoString returns the string representation
85827func (s TransitGatewayPropagation) GoString() string {
85828	return s.String()
85829}
85830
85831// SetResourceId sets the ResourceId field's value.
85832func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
85833	s.ResourceId = &v
85834	return s
85835}
85836
85837// SetResourceType sets the ResourceType field's value.
85838func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
85839	s.ResourceType = &v
85840	return s
85841}
85842
85843// SetState sets the State field's value.
85844func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
85845	s.State = &v
85846	return s
85847}
85848
85849// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
85850func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
85851	s.TransitGatewayAttachmentId = &v
85852	return s
85853}
85854
85855// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
85856func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
85857	s.TransitGatewayRouteTableId = &v
85858	return s
85859}
85860
85861// Describes the options for a transit gateway.
85862type TransitGatewayRequestOptions struct {
85863	_ struct{} `type:"structure"`
85864
85865	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
85866	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
85867	// for 32-bit ASNs.
85868	AmazonSideAsn *int64 `type:"long"`
85869
85870	// Enable or disable automatic acceptance of attachment requests. The default
85871	// is disable.
85872	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
85873
85874	// Enable or disable automatic association with the default association route
85875	// table. The default is enable.
85876	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
85877
85878	// Enable or disable automatic propagation of routes to the default propagation
85879	// route table. The default is enable.
85880	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
85881
85882	// Enable or disable DNS support.
85883	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
85884
85885	// Enable or disable Equal Cost Multipath Protocol support.
85886	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
85887}
85888
85889// String returns the string representation
85890func (s TransitGatewayRequestOptions) String() string {
85891	return awsutil.Prettify(s)
85892}
85893
85894// GoString returns the string representation
85895func (s TransitGatewayRequestOptions) GoString() string {
85896	return s.String()
85897}
85898
85899// SetAmazonSideAsn sets the AmazonSideAsn field's value.
85900func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
85901	s.AmazonSideAsn = &v
85902	return s
85903}
85904
85905// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
85906func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
85907	s.AutoAcceptSharedAttachments = &v
85908	return s
85909}
85910
85911// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
85912func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
85913	s.DefaultRouteTableAssociation = &v
85914	return s
85915}
85916
85917// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
85918func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
85919	s.DefaultRouteTablePropagation = &v
85920	return s
85921}
85922
85923// SetDnsSupport sets the DnsSupport field's value.
85924func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
85925	s.DnsSupport = &v
85926	return s
85927}
85928
85929// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
85930func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
85931	s.VpnEcmpSupport = &v
85932	return s
85933}
85934
85935// Describes a route for a transit gateway route table.
85936type TransitGatewayRoute struct {
85937	_ struct{} `type:"structure"`
85938
85939	// The CIDR block used for destination matches.
85940	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
85941
85942	// The state of the route.
85943	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
85944
85945	// The attachments.
85946	TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
85947
85948	// The route type.
85949	Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
85950}
85951
85952// String returns the string representation
85953func (s TransitGatewayRoute) String() string {
85954	return awsutil.Prettify(s)
85955}
85956
85957// GoString returns the string representation
85958func (s TransitGatewayRoute) GoString() string {
85959	return s.String()
85960}
85961
85962// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
85963func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
85964	s.DestinationCidrBlock = &v
85965	return s
85966}
85967
85968// SetState sets the State field's value.
85969func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
85970	s.State = &v
85971	return s
85972}
85973
85974// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
85975func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
85976	s.TransitGatewayAttachments = v
85977	return s
85978}
85979
85980// SetType sets the Type field's value.
85981func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
85982	s.Type = &v
85983	return s
85984}
85985
85986// Describes a route attachment.
85987type TransitGatewayRouteAttachment struct {
85988	_ struct{} `type:"structure"`
85989
85990	// The ID of the resource.
85991	ResourceId *string `locationName:"resourceId" type:"string"`
85992
85993	// The resource type.
85994	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
85995
85996	// The ID of the attachment.
85997	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
85998}
85999
86000// String returns the string representation
86001func (s TransitGatewayRouteAttachment) String() string {
86002	return awsutil.Prettify(s)
86003}
86004
86005// GoString returns the string representation
86006func (s TransitGatewayRouteAttachment) GoString() string {
86007	return s.String()
86008}
86009
86010// SetResourceId sets the ResourceId field's value.
86011func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
86012	s.ResourceId = &v
86013	return s
86014}
86015
86016// SetResourceType sets the ResourceType field's value.
86017func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
86018	s.ResourceType = &v
86019	return s
86020}
86021
86022// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
86023func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
86024	s.TransitGatewayAttachmentId = &v
86025	return s
86026}
86027
86028// Describes a transit gateway route table.
86029type TransitGatewayRouteTable struct {
86030	_ struct{} `type:"structure"`
86031
86032	// The creation time.
86033	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
86034
86035	// Indicates whether this is the default association route table for the transit
86036	// gateway.
86037	DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
86038
86039	// Indicates whether this is the default propagation route table for the transit
86040	// gateway.
86041	DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
86042
86043	// The state of the transit gateway route table.
86044	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
86045
86046	// Any tags assigned to the route table.
86047	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86048
86049	// The ID of the transit gateway.
86050	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
86051
86052	// The ID of the transit gateway route table.
86053	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
86054}
86055
86056// String returns the string representation
86057func (s TransitGatewayRouteTable) String() string {
86058	return awsutil.Prettify(s)
86059}
86060
86061// GoString returns the string representation
86062func (s TransitGatewayRouteTable) GoString() string {
86063	return s.String()
86064}
86065
86066// SetCreationTime sets the CreationTime field's value.
86067func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
86068	s.CreationTime = &v
86069	return s
86070}
86071
86072// SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
86073func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
86074	s.DefaultAssociationRouteTable = &v
86075	return s
86076}
86077
86078// SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
86079func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
86080	s.DefaultPropagationRouteTable = &v
86081	return s
86082}
86083
86084// SetState sets the State field's value.
86085func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
86086	s.State = &v
86087	return s
86088}
86089
86090// SetTags sets the Tags field's value.
86091func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
86092	s.Tags = v
86093	return s
86094}
86095
86096// SetTransitGatewayId sets the TransitGatewayId field's value.
86097func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
86098	s.TransitGatewayId = &v
86099	return s
86100}
86101
86102// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
86103func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
86104	s.TransitGatewayRouteTableId = &v
86105	return s
86106}
86107
86108// Describes an association between a route table and a resource attachment.
86109type TransitGatewayRouteTableAssociation struct {
86110	_ struct{} `type:"structure"`
86111
86112	// The ID of the resource.
86113	ResourceId *string `locationName:"resourceId" type:"string"`
86114
86115	// The resource type.
86116	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
86117
86118	// The state of the association.
86119	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
86120
86121	// The ID of the attachment.
86122	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
86123}
86124
86125// String returns the string representation
86126func (s TransitGatewayRouteTableAssociation) String() string {
86127	return awsutil.Prettify(s)
86128}
86129
86130// GoString returns the string representation
86131func (s TransitGatewayRouteTableAssociation) GoString() string {
86132	return s.String()
86133}
86134
86135// SetResourceId sets the ResourceId field's value.
86136func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
86137	s.ResourceId = &v
86138	return s
86139}
86140
86141// SetResourceType sets the ResourceType field's value.
86142func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
86143	s.ResourceType = &v
86144	return s
86145}
86146
86147// SetState sets the State field's value.
86148func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
86149	s.State = &v
86150	return s
86151}
86152
86153// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
86154func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
86155	s.TransitGatewayAttachmentId = &v
86156	return s
86157}
86158
86159// Describes a route table propagation.
86160type TransitGatewayRouteTablePropagation struct {
86161	_ struct{} `type:"structure"`
86162
86163	// The ID of the resource.
86164	ResourceId *string `locationName:"resourceId" type:"string"`
86165
86166	// The type of resource.
86167	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
86168
86169	// The state of the resource.
86170	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
86171
86172	// The ID of the attachment.
86173	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
86174}
86175
86176// String returns the string representation
86177func (s TransitGatewayRouteTablePropagation) String() string {
86178	return awsutil.Prettify(s)
86179}
86180
86181// GoString returns the string representation
86182func (s TransitGatewayRouteTablePropagation) GoString() string {
86183	return s.String()
86184}
86185
86186// SetResourceId sets the ResourceId field's value.
86187func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
86188	s.ResourceId = &v
86189	return s
86190}
86191
86192// SetResourceType sets the ResourceType field's value.
86193func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
86194	s.ResourceType = &v
86195	return s
86196}
86197
86198// SetState sets the State field's value.
86199func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
86200	s.State = &v
86201	return s
86202}
86203
86204// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
86205func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
86206	s.TransitGatewayAttachmentId = &v
86207	return s
86208}
86209
86210// Describes a VPC attachment.
86211type TransitGatewayVpcAttachment struct {
86212	_ struct{} `type:"structure"`
86213
86214	// The creation time.
86215	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
86216
86217	// The VPC attachment options.
86218	Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
86219
86220	// The state of the VPC attachment.
86221	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
86222
86223	// The IDs of the subnets.
86224	SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
86225
86226	// The tags for the VPC attachment.
86227	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86228
86229	// The ID of the attachment.
86230	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
86231
86232	// The ID of the transit gateway.
86233	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
86234
86235	// The ID of the VPC.
86236	VpcId *string `locationName:"vpcId" type:"string"`
86237
86238	// The ID of the AWS account that owns the VPC.
86239	VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
86240}
86241
86242// String returns the string representation
86243func (s TransitGatewayVpcAttachment) String() string {
86244	return awsutil.Prettify(s)
86245}
86246
86247// GoString returns the string representation
86248func (s TransitGatewayVpcAttachment) GoString() string {
86249	return s.String()
86250}
86251
86252// SetCreationTime sets the CreationTime field's value.
86253func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
86254	s.CreationTime = &v
86255	return s
86256}
86257
86258// SetOptions sets the Options field's value.
86259func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
86260	s.Options = v
86261	return s
86262}
86263
86264// SetState sets the State field's value.
86265func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
86266	s.State = &v
86267	return s
86268}
86269
86270// SetSubnetIds sets the SubnetIds field's value.
86271func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
86272	s.SubnetIds = v
86273	return s
86274}
86275
86276// SetTags sets the Tags field's value.
86277func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
86278	s.Tags = v
86279	return s
86280}
86281
86282// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
86283func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
86284	s.TransitGatewayAttachmentId = &v
86285	return s
86286}
86287
86288// SetTransitGatewayId sets the TransitGatewayId field's value.
86289func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
86290	s.TransitGatewayId = &v
86291	return s
86292}
86293
86294// SetVpcId sets the VpcId field's value.
86295func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
86296	s.VpcId = &v
86297	return s
86298}
86299
86300// SetVpcOwnerId sets the VpcOwnerId field's value.
86301func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
86302	s.VpcOwnerId = &v
86303	return s
86304}
86305
86306// Describes the VPC attachment options.
86307type TransitGatewayVpcAttachmentOptions struct {
86308	_ struct{} `type:"structure"`
86309
86310	// Indicates whether DNS support is enabled.
86311	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
86312
86313	// Indicates whether IPv6 support is enabled.
86314	Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
86315}
86316
86317// String returns the string representation
86318func (s TransitGatewayVpcAttachmentOptions) String() string {
86319	return awsutil.Prettify(s)
86320}
86321
86322// GoString returns the string representation
86323func (s TransitGatewayVpcAttachmentOptions) GoString() string {
86324	return s.String()
86325}
86326
86327// SetDnsSupport sets the DnsSupport field's value.
86328func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
86329	s.DnsSupport = &v
86330	return s
86331}
86332
86333// SetIpv6Support sets the Ipv6Support field's value.
86334func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
86335	s.Ipv6Support = &v
86336	return s
86337}
86338
86339type UnassignIpv6AddressesInput struct {
86340	_ struct{} `type:"structure"`
86341
86342	// The IPv6 addresses to unassign from the network interface.
86343	//
86344	// Ipv6Addresses is a required field
86345	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
86346
86347	// The ID of the network interface.
86348	//
86349	// NetworkInterfaceId is a required field
86350	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
86351}
86352
86353// String returns the string representation
86354func (s UnassignIpv6AddressesInput) String() string {
86355	return awsutil.Prettify(s)
86356}
86357
86358// GoString returns the string representation
86359func (s UnassignIpv6AddressesInput) GoString() string {
86360	return s.String()
86361}
86362
86363// Validate inspects the fields of the type to determine if they are valid.
86364func (s *UnassignIpv6AddressesInput) Validate() error {
86365	invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
86366	if s.Ipv6Addresses == nil {
86367		invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
86368	}
86369	if s.NetworkInterfaceId == nil {
86370		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
86371	}
86372
86373	if invalidParams.Len() > 0 {
86374		return invalidParams
86375	}
86376	return nil
86377}
86378
86379// SetIpv6Addresses sets the Ipv6Addresses field's value.
86380func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
86381	s.Ipv6Addresses = v
86382	return s
86383}
86384
86385// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
86386func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
86387	s.NetworkInterfaceId = &v
86388	return s
86389}
86390
86391type UnassignIpv6AddressesOutput struct {
86392	_ struct{} `type:"structure"`
86393
86394	// The ID of the network interface.
86395	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
86396
86397	// The IPv6 addresses that have been unassigned from the network interface.
86398	UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
86399}
86400
86401// String returns the string representation
86402func (s UnassignIpv6AddressesOutput) String() string {
86403	return awsutil.Prettify(s)
86404}
86405
86406// GoString returns the string representation
86407func (s UnassignIpv6AddressesOutput) GoString() string {
86408	return s.String()
86409}
86410
86411// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
86412func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
86413	s.NetworkInterfaceId = &v
86414	return s
86415}
86416
86417// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
86418func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
86419	s.UnassignedIpv6Addresses = v
86420	return s
86421}
86422
86423// Contains the parameters for UnassignPrivateIpAddresses.
86424type UnassignPrivateIpAddressesInput struct {
86425	_ struct{} `type:"structure"`
86426
86427	// The ID of the network interface.
86428	//
86429	// NetworkInterfaceId is a required field
86430	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
86431
86432	// The secondary private IP addresses to unassign from the network interface.
86433	// You can specify this option multiple times to unassign more than one IP address.
86434	//
86435	// PrivateIpAddresses is a required field
86436	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
86437}
86438
86439// String returns the string representation
86440func (s UnassignPrivateIpAddressesInput) String() string {
86441	return awsutil.Prettify(s)
86442}
86443
86444// GoString returns the string representation
86445func (s UnassignPrivateIpAddressesInput) GoString() string {
86446	return s.String()
86447}
86448
86449// Validate inspects the fields of the type to determine if they are valid.
86450func (s *UnassignPrivateIpAddressesInput) Validate() error {
86451	invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
86452	if s.NetworkInterfaceId == nil {
86453		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
86454	}
86455	if s.PrivateIpAddresses == nil {
86456		invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
86457	}
86458
86459	if invalidParams.Len() > 0 {
86460		return invalidParams
86461	}
86462	return nil
86463}
86464
86465// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
86466func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
86467	s.NetworkInterfaceId = &v
86468	return s
86469}
86470
86471// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
86472func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
86473	s.PrivateIpAddresses = v
86474	return s
86475}
86476
86477type UnassignPrivateIpAddressesOutput struct {
86478	_ struct{} `type:"structure"`
86479}
86480
86481// String returns the string representation
86482func (s UnassignPrivateIpAddressesOutput) String() string {
86483	return awsutil.Prettify(s)
86484}
86485
86486// GoString returns the string representation
86487func (s UnassignPrivateIpAddressesOutput) GoString() string {
86488	return s.String()
86489}
86490
86491type UnmonitorInstancesInput struct {
86492	_ struct{} `type:"structure"`
86493
86494	// Checks whether you have the required permissions for the action, without
86495	// actually making the request, and provides an error response. If you have
86496	// the required permissions, the error response is DryRunOperation. Otherwise,
86497	// it is UnauthorizedOperation.
86498	DryRun *bool `locationName:"dryRun" type:"boolean"`
86499
86500	// The IDs of the instances.
86501	//
86502	// InstanceIds is a required field
86503	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
86504}
86505
86506// String returns the string representation
86507func (s UnmonitorInstancesInput) String() string {
86508	return awsutil.Prettify(s)
86509}
86510
86511// GoString returns the string representation
86512func (s UnmonitorInstancesInput) GoString() string {
86513	return s.String()
86514}
86515
86516// Validate inspects the fields of the type to determine if they are valid.
86517func (s *UnmonitorInstancesInput) Validate() error {
86518	invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
86519	if s.InstanceIds == nil {
86520		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
86521	}
86522
86523	if invalidParams.Len() > 0 {
86524		return invalidParams
86525	}
86526	return nil
86527}
86528
86529// SetDryRun sets the DryRun field's value.
86530func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
86531	s.DryRun = &v
86532	return s
86533}
86534
86535// SetInstanceIds sets the InstanceIds field's value.
86536func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
86537	s.InstanceIds = v
86538	return s
86539}
86540
86541type UnmonitorInstancesOutput struct {
86542	_ struct{} `type:"structure"`
86543
86544	// The monitoring information.
86545	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
86546}
86547
86548// String returns the string representation
86549func (s UnmonitorInstancesOutput) String() string {
86550	return awsutil.Prettify(s)
86551}
86552
86553// GoString returns the string representation
86554func (s UnmonitorInstancesOutput) GoString() string {
86555	return s.String()
86556}
86557
86558// SetInstanceMonitorings sets the InstanceMonitorings field's value.
86559func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
86560	s.InstanceMonitorings = v
86561	return s
86562}
86563
86564// Describes the T2 or T3 instance whose credit option for CPU usage was not
86565// modified.
86566type UnsuccessfulInstanceCreditSpecificationItem struct {
86567	_ struct{} `type:"structure"`
86568
86569	// The applicable error for the T2 or T3 instance whose credit option for CPU
86570	// usage was not modified.
86571	Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
86572
86573	// The ID of the instance.
86574	InstanceId *string `locationName:"instanceId" type:"string"`
86575}
86576
86577// String returns the string representation
86578func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
86579	return awsutil.Prettify(s)
86580}
86581
86582// GoString returns the string representation
86583func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
86584	return s.String()
86585}
86586
86587// SetError sets the Error field's value.
86588func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
86589	s.Error = v
86590	return s
86591}
86592
86593// SetInstanceId sets the InstanceId field's value.
86594func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
86595	s.InstanceId = &v
86596	return s
86597}
86598
86599// Information about the error for the T2 or T3 instance whose credit option
86600// for CPU usage was not modified.
86601type UnsuccessfulInstanceCreditSpecificationItemError struct {
86602	_ struct{} `type:"structure"`
86603
86604	// The error code.
86605	Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
86606
86607	// The applicable error message.
86608	Message *string `locationName:"message" type:"string"`
86609}
86610
86611// String returns the string representation
86612func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
86613	return awsutil.Prettify(s)
86614}
86615
86616// GoString returns the string representation
86617func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
86618	return s.String()
86619}
86620
86621// SetCode sets the Code field's value.
86622func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
86623	s.Code = &v
86624	return s
86625}
86626
86627// SetMessage sets the Message field's value.
86628func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
86629	s.Message = &v
86630	return s
86631}
86632
86633// Information about items that were not successfully processed in a batch call.
86634type UnsuccessfulItem struct {
86635	_ struct{} `type:"structure"`
86636
86637	// Information about the error.
86638	Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
86639
86640	// The ID of the resource.
86641	ResourceId *string `locationName:"resourceId" type:"string"`
86642}
86643
86644// String returns the string representation
86645func (s UnsuccessfulItem) String() string {
86646	return awsutil.Prettify(s)
86647}
86648
86649// GoString returns the string representation
86650func (s UnsuccessfulItem) GoString() string {
86651	return s.String()
86652}
86653
86654// SetError sets the Error field's value.
86655func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
86656	s.Error = v
86657	return s
86658}
86659
86660// SetResourceId sets the ResourceId field's value.
86661func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
86662	s.ResourceId = &v
86663	return s
86664}
86665
86666// Information about the error that occurred. For more information about errors,
86667// see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
86668type UnsuccessfulItemError struct {
86669	_ struct{} `type:"structure"`
86670
86671	// The error code.
86672	Code *string `locationName:"code" type:"string"`
86673
86674	// The error message accompanying the error code.
86675	Message *string `locationName:"message" type:"string"`
86676}
86677
86678// String returns the string representation
86679func (s UnsuccessfulItemError) String() string {
86680	return awsutil.Prettify(s)
86681}
86682
86683// GoString returns the string representation
86684func (s UnsuccessfulItemError) GoString() string {
86685	return s.String()
86686}
86687
86688// SetCode sets the Code field's value.
86689func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
86690	s.Code = &v
86691	return s
86692}
86693
86694// SetMessage sets the Message field's value.
86695func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
86696	s.Message = &v
86697	return s
86698}
86699
86700type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
86701	_ struct{} `type:"structure"`
86702
86703	// Checks whether you have the required permissions for the action, without
86704	// actually making the request, and provides an error response. If you have
86705	// the required permissions, the error response is DryRunOperation. Otherwise,
86706	// it is UnauthorizedOperation.
86707	DryRun *bool `type:"boolean"`
86708
86709	// The ID of the security group. You must specify either the security group
86710	// ID or the security group name in the request. For security groups in a nondefault
86711	// VPC, you must specify the security group ID.
86712	GroupId *string `type:"string"`
86713
86714	// [Default VPC] The name of the security group. You must specify either the
86715	// security group ID or the security group name in the request.
86716	GroupName *string `type:"string"`
86717
86718	// The IP permissions for the security group rule.
86719	//
86720	// IpPermissions is a required field
86721	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
86722}
86723
86724// String returns the string representation
86725func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
86726	return awsutil.Prettify(s)
86727}
86728
86729// GoString returns the string representation
86730func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
86731	return s.String()
86732}
86733
86734// Validate inspects the fields of the type to determine if they are valid.
86735func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
86736	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
86737	if s.IpPermissions == nil {
86738		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
86739	}
86740
86741	if invalidParams.Len() > 0 {
86742		return invalidParams
86743	}
86744	return nil
86745}
86746
86747// SetDryRun sets the DryRun field's value.
86748func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
86749	s.DryRun = &v
86750	return s
86751}
86752
86753// SetGroupId sets the GroupId field's value.
86754func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
86755	s.GroupId = &v
86756	return s
86757}
86758
86759// SetGroupName sets the GroupName field's value.
86760func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
86761	s.GroupName = &v
86762	return s
86763}
86764
86765// SetIpPermissions sets the IpPermissions field's value.
86766func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
86767	s.IpPermissions = v
86768	return s
86769}
86770
86771type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
86772	_ struct{} `type:"structure"`
86773
86774	// Returns true if the request succeeds; otherwise, returns an error.
86775	Return *bool `locationName:"return" type:"boolean"`
86776}
86777
86778// String returns the string representation
86779func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
86780	return awsutil.Prettify(s)
86781}
86782
86783// GoString returns the string representation
86784func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
86785	return s.String()
86786}
86787
86788// SetReturn sets the Return field's value.
86789func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
86790	s.Return = &v
86791	return s
86792}
86793
86794type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
86795	_ struct{} `type:"structure"`
86796
86797	// Checks whether you have the required permissions for the action, without
86798	// actually making the request, and provides an error response. If you have
86799	// the required permissions, the error response is DryRunOperation. Otherwise,
86800	// it is UnauthorizedOperation.
86801	DryRun *bool `type:"boolean"`
86802
86803	// The ID of the security group. You must specify either the security group
86804	// ID or the security group name in the request. For security groups in a nondefault
86805	// VPC, you must specify the security group ID.
86806	GroupId *string `type:"string"`
86807
86808	// [EC2-Classic, default VPC] The name of the security group. You must specify
86809	// either the security group ID or the security group name in the request.
86810	GroupName *string `type:"string"`
86811
86812	// The IP permissions for the security group rule.
86813	//
86814	// IpPermissions is a required field
86815	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
86816}
86817
86818// String returns the string representation
86819func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
86820	return awsutil.Prettify(s)
86821}
86822
86823// GoString returns the string representation
86824func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
86825	return s.String()
86826}
86827
86828// Validate inspects the fields of the type to determine if they are valid.
86829func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
86830	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
86831	if s.IpPermissions == nil {
86832		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
86833	}
86834
86835	if invalidParams.Len() > 0 {
86836		return invalidParams
86837	}
86838	return nil
86839}
86840
86841// SetDryRun sets the DryRun field's value.
86842func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
86843	s.DryRun = &v
86844	return s
86845}
86846
86847// SetGroupId sets the GroupId field's value.
86848func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
86849	s.GroupId = &v
86850	return s
86851}
86852
86853// SetGroupName sets the GroupName field's value.
86854func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
86855	s.GroupName = &v
86856	return s
86857}
86858
86859// SetIpPermissions sets the IpPermissions field's value.
86860func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
86861	s.IpPermissions = v
86862	return s
86863}
86864
86865type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
86866	_ struct{} `type:"structure"`
86867
86868	// Returns true if the request succeeds; otherwise, returns an error.
86869	Return *bool `locationName:"return" type:"boolean"`
86870}
86871
86872// String returns the string representation
86873func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
86874	return awsutil.Prettify(s)
86875}
86876
86877// GoString returns the string representation
86878func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
86879	return s.String()
86880}
86881
86882// SetReturn sets the Return field's value.
86883func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
86884	s.Return = &v
86885	return s
86886}
86887
86888// Describes the S3 bucket for the disk image.
86889type UserBucket struct {
86890	_ struct{} `type:"structure"`
86891
86892	// The name of the S3 bucket where the disk image is located.
86893	S3Bucket *string `type:"string"`
86894
86895	// The file name of the disk image.
86896	S3Key *string `type:"string"`
86897}
86898
86899// String returns the string representation
86900func (s UserBucket) String() string {
86901	return awsutil.Prettify(s)
86902}
86903
86904// GoString returns the string representation
86905func (s UserBucket) GoString() string {
86906	return s.String()
86907}
86908
86909// SetS3Bucket sets the S3Bucket field's value.
86910func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
86911	s.S3Bucket = &v
86912	return s
86913}
86914
86915// SetS3Key sets the S3Key field's value.
86916func (s *UserBucket) SetS3Key(v string) *UserBucket {
86917	s.S3Key = &v
86918	return s
86919}
86920
86921// Describes the S3 bucket for the disk image.
86922type UserBucketDetails struct {
86923	_ struct{} `type:"structure"`
86924
86925	// The S3 bucket from which the disk image was created.
86926	S3Bucket *string `locationName:"s3Bucket" type:"string"`
86927
86928	// The file name of the disk image.
86929	S3Key *string `locationName:"s3Key" type:"string"`
86930}
86931
86932// String returns the string representation
86933func (s UserBucketDetails) String() string {
86934	return awsutil.Prettify(s)
86935}
86936
86937// GoString returns the string representation
86938func (s UserBucketDetails) GoString() string {
86939	return s.String()
86940}
86941
86942// SetS3Bucket sets the S3Bucket field's value.
86943func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
86944	s.S3Bucket = &v
86945	return s
86946}
86947
86948// SetS3Key sets the S3Key field's value.
86949func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
86950	s.S3Key = &v
86951	return s
86952}
86953
86954// Describes the user data for an instance.
86955type UserData struct {
86956	_ struct{} `type:"structure"`
86957
86958	// The user data. If you are using an AWS SDK or command line tool, Base64-encoding
86959	// is performed for you, and you can load the text from a file. Otherwise, you
86960	// must provide Base64-encoded text.
86961	Data *string `locationName:"data" type:"string"`
86962}
86963
86964// String returns the string representation
86965func (s UserData) String() string {
86966	return awsutil.Prettify(s)
86967}
86968
86969// GoString returns the string representation
86970func (s UserData) GoString() string {
86971	return s.String()
86972}
86973
86974// SetData sets the Data field's value.
86975func (s *UserData) SetData(v string) *UserData {
86976	s.Data = &v
86977	return s
86978}
86979
86980// Describes a security group and AWS account ID pair.
86981type UserIdGroupPair struct {
86982	_ struct{} `type:"structure"`
86983
86984	// A description for the security group rule that references this user ID group
86985	// pair.
86986	//
86987	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
86988	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
86989	Description *string `locationName:"description" type:"string"`
86990
86991	// The ID of the security group.
86992	GroupId *string `locationName:"groupId" type:"string"`
86993
86994	// The name of the security group. In a request, use this parameter for a security
86995	// group in EC2-Classic or a default VPC only. For a security group in a nondefault
86996	// VPC, use the security group ID.
86997	//
86998	// For a referenced security group in another VPC, this value is not returned
86999	// if the referenced security group is deleted.
87000	GroupName *string `locationName:"groupName" type:"string"`
87001
87002	// The status of a VPC peering connection, if applicable.
87003	PeeringStatus *string `locationName:"peeringStatus" type:"string"`
87004
87005	// The ID of an AWS account.
87006	//
87007	// For a referenced security group in another VPC, the account ID of the referenced
87008	// security group is returned in the response. If the referenced security group
87009	// is deleted, this value is not returned.
87010	//
87011	// [EC2-Classic] Required when adding or removing rules that reference a security
87012	// group in another AWS account.
87013	UserId *string `locationName:"userId" type:"string"`
87014
87015	// The ID of the VPC for the referenced security group, if applicable.
87016	VpcId *string `locationName:"vpcId" type:"string"`
87017
87018	// The ID of the VPC peering connection, if applicable.
87019	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
87020}
87021
87022// String returns the string representation
87023func (s UserIdGroupPair) String() string {
87024	return awsutil.Prettify(s)
87025}
87026
87027// GoString returns the string representation
87028func (s UserIdGroupPair) GoString() string {
87029	return s.String()
87030}
87031
87032// SetDescription sets the Description field's value.
87033func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
87034	s.Description = &v
87035	return s
87036}
87037
87038// SetGroupId sets the GroupId field's value.
87039func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
87040	s.GroupId = &v
87041	return s
87042}
87043
87044// SetGroupName sets the GroupName field's value.
87045func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
87046	s.GroupName = &v
87047	return s
87048}
87049
87050// SetPeeringStatus sets the PeeringStatus field's value.
87051func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
87052	s.PeeringStatus = &v
87053	return s
87054}
87055
87056// SetUserId sets the UserId field's value.
87057func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
87058	s.UserId = &v
87059	return s
87060}
87061
87062// SetVpcId sets the VpcId field's value.
87063func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
87064	s.VpcId = &v
87065	return s
87066}
87067
87068// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
87069func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
87070	s.VpcPeeringConnectionId = &v
87071	return s
87072}
87073
87074// Describes telemetry for a VPN tunnel.
87075type VgwTelemetry struct {
87076	_ struct{} `type:"structure"`
87077
87078	// The number of accepted routes.
87079	AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
87080
87081	// The date and time of the last change in status.
87082	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
87083
87084	// The Internet-routable IP address of the virtual private gateway's outside
87085	// interface.
87086	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
87087
87088	// The status of the VPN tunnel.
87089	Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
87090
87091	// If an error occurs, a description of the error.
87092	StatusMessage *string `locationName:"statusMessage" type:"string"`
87093}
87094
87095// String returns the string representation
87096func (s VgwTelemetry) String() string {
87097	return awsutil.Prettify(s)
87098}
87099
87100// GoString returns the string representation
87101func (s VgwTelemetry) GoString() string {
87102	return s.String()
87103}
87104
87105// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
87106func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
87107	s.AcceptedRouteCount = &v
87108	return s
87109}
87110
87111// SetLastStatusChange sets the LastStatusChange field's value.
87112func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
87113	s.LastStatusChange = &v
87114	return s
87115}
87116
87117// SetOutsideIpAddress sets the OutsideIpAddress field's value.
87118func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
87119	s.OutsideIpAddress = &v
87120	return s
87121}
87122
87123// SetStatus sets the Status field's value.
87124func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
87125	s.Status = &v
87126	return s
87127}
87128
87129// SetStatusMessage sets the StatusMessage field's value.
87130func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
87131	s.StatusMessage = &v
87132	return s
87133}
87134
87135// Describes a volume.
87136type Volume struct {
87137	_ struct{} `type:"structure"`
87138
87139	// Information about the volume attachments.
87140	Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
87141
87142	// The Availability Zone for the volume.
87143	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
87144
87145	// The time stamp when volume creation was initiated.
87146	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
87147
87148	// Indicates whether the volume will be encrypted.
87149	Encrypted *bool `locationName:"encrypted" type:"boolean"`
87150
87151	// The number of I/O operations per second (IOPS) that the volume supports.
87152	// For Provisioned IOPS SSD volumes, this represents the number of IOPS that
87153	// are provisioned for the volume. For General Purpose SSD volumes, this represents
87154	// the baseline performance of the volume and the rate at which the volume accumulates
87155	// I/O credits for bursting. For more information, see Amazon EBS Volume Types
87156	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
87157	// in the Amazon Elastic Compute Cloud User Guide.
87158	//
87159	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
87160	// for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed
87161	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
87162	// Other instance families guarantee performance up to 32,000 IOPS.
87163	//
87164	// Condition: This parameter is required for requests to create io1 volumes;
87165	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
87166	Iops *int64 `locationName:"iops" type:"integer"`
87167
87168	// The full ARN of the AWS Key Management Service (AWS KMS) customer master
87169	// key (CMK) that was used to protect the volume encryption key for the volume.
87170	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
87171
87172	// The size of the volume, in GiBs.
87173	Size *int64 `locationName:"size" type:"integer"`
87174
87175	// The snapshot from which the volume was created, if applicable.
87176	SnapshotId *string `locationName:"snapshotId" type:"string"`
87177
87178	// The volume state.
87179	State *string `locationName:"status" type:"string" enum:"VolumeState"`
87180
87181	// Any tags assigned to the volume.
87182	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87183
87184	// The ID of the volume.
87185	VolumeId *string `locationName:"volumeId" type:"string"`
87186
87187	// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
87188	// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
87189	// for Magnetic volumes.
87190	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
87191}
87192
87193// String returns the string representation
87194func (s Volume) String() string {
87195	return awsutil.Prettify(s)
87196}
87197
87198// GoString returns the string representation
87199func (s Volume) GoString() string {
87200	return s.String()
87201}
87202
87203// SetAttachments sets the Attachments field's value.
87204func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
87205	s.Attachments = v
87206	return s
87207}
87208
87209// SetAvailabilityZone sets the AvailabilityZone field's value.
87210func (s *Volume) SetAvailabilityZone(v string) *Volume {
87211	s.AvailabilityZone = &v
87212	return s
87213}
87214
87215// SetCreateTime sets the CreateTime field's value.
87216func (s *Volume) SetCreateTime(v time.Time) *Volume {
87217	s.CreateTime = &v
87218	return s
87219}
87220
87221// SetEncrypted sets the Encrypted field's value.
87222func (s *Volume) SetEncrypted(v bool) *Volume {
87223	s.Encrypted = &v
87224	return s
87225}
87226
87227// SetIops sets the Iops field's value.
87228func (s *Volume) SetIops(v int64) *Volume {
87229	s.Iops = &v
87230	return s
87231}
87232
87233// SetKmsKeyId sets the KmsKeyId field's value.
87234func (s *Volume) SetKmsKeyId(v string) *Volume {
87235	s.KmsKeyId = &v
87236	return s
87237}
87238
87239// SetSize sets the Size field's value.
87240func (s *Volume) SetSize(v int64) *Volume {
87241	s.Size = &v
87242	return s
87243}
87244
87245// SetSnapshotId sets the SnapshotId field's value.
87246func (s *Volume) SetSnapshotId(v string) *Volume {
87247	s.SnapshotId = &v
87248	return s
87249}
87250
87251// SetState sets the State field's value.
87252func (s *Volume) SetState(v string) *Volume {
87253	s.State = &v
87254	return s
87255}
87256
87257// SetTags sets the Tags field's value.
87258func (s *Volume) SetTags(v []*Tag) *Volume {
87259	s.Tags = v
87260	return s
87261}
87262
87263// SetVolumeId sets the VolumeId field's value.
87264func (s *Volume) SetVolumeId(v string) *Volume {
87265	s.VolumeId = &v
87266	return s
87267}
87268
87269// SetVolumeType sets the VolumeType field's value.
87270func (s *Volume) SetVolumeType(v string) *Volume {
87271	s.VolumeType = &v
87272	return s
87273}
87274
87275// Describes volume attachment details.
87276type VolumeAttachment struct {
87277	_ struct{} `type:"structure"`
87278
87279	// The time stamp when the attachment initiated.
87280	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
87281
87282	// Indicates whether the EBS volume is deleted on instance termination.
87283	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
87284
87285	// The device name.
87286	Device *string `locationName:"device" type:"string"`
87287
87288	// The ID of the instance.
87289	InstanceId *string `locationName:"instanceId" type:"string"`
87290
87291	// The attachment state of the volume.
87292	State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
87293
87294	// The ID of the volume.
87295	VolumeId *string `locationName:"volumeId" type:"string"`
87296}
87297
87298// String returns the string representation
87299func (s VolumeAttachment) String() string {
87300	return awsutil.Prettify(s)
87301}
87302
87303// GoString returns the string representation
87304func (s VolumeAttachment) GoString() string {
87305	return s.String()
87306}
87307
87308// SetAttachTime sets the AttachTime field's value.
87309func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
87310	s.AttachTime = &v
87311	return s
87312}
87313
87314// SetDeleteOnTermination sets the DeleteOnTermination field's value.
87315func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
87316	s.DeleteOnTermination = &v
87317	return s
87318}
87319
87320// SetDevice sets the Device field's value.
87321func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
87322	s.Device = &v
87323	return s
87324}
87325
87326// SetInstanceId sets the InstanceId field's value.
87327func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
87328	s.InstanceId = &v
87329	return s
87330}
87331
87332// SetState sets the State field's value.
87333func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
87334	s.State = &v
87335	return s
87336}
87337
87338// SetVolumeId sets the VolumeId field's value.
87339func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
87340	s.VolumeId = &v
87341	return s
87342}
87343
87344// Describes an EBS volume.
87345type VolumeDetail struct {
87346	_ struct{} `type:"structure"`
87347
87348	// The size of the volume, in GiB.
87349	//
87350	// Size is a required field
87351	Size *int64 `locationName:"size" type:"long" required:"true"`
87352}
87353
87354// String returns the string representation
87355func (s VolumeDetail) String() string {
87356	return awsutil.Prettify(s)
87357}
87358
87359// GoString returns the string representation
87360func (s VolumeDetail) GoString() string {
87361	return s.String()
87362}
87363
87364// Validate inspects the fields of the type to determine if they are valid.
87365func (s *VolumeDetail) Validate() error {
87366	invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
87367	if s.Size == nil {
87368		invalidParams.Add(request.NewErrParamRequired("Size"))
87369	}
87370
87371	if invalidParams.Len() > 0 {
87372		return invalidParams
87373	}
87374	return nil
87375}
87376
87377// SetSize sets the Size field's value.
87378func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
87379	s.Size = &v
87380	return s
87381}
87382
87383// Describes the modification status of an EBS volume.
87384//
87385// If the volume has never been modified, some element values will be null.
87386type VolumeModification struct {
87387	_ struct{} `type:"structure"`
87388
87389	// The modification completion or failure time.
87390	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
87391
87392	// The current modification state. The modification state is null for unmodified
87393	// volumes.
87394	ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
87395
87396	// The original IOPS rate of the volume.
87397	OriginalIops *int64 `locationName:"originalIops" type:"integer"`
87398
87399	// The original size of the volume.
87400	OriginalSize *int64 `locationName:"originalSize" type:"integer"`
87401
87402	// The original EBS volume type of the volume.
87403	OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
87404
87405	// The modification progress, from 0 to 100 percent complete.
87406	Progress *int64 `locationName:"progress" type:"long"`
87407
87408	// The modification start time.
87409	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
87410
87411	// A status message about the modification progress or failure.
87412	StatusMessage *string `locationName:"statusMessage" type:"string"`
87413
87414	// The target IOPS rate of the volume.
87415	TargetIops *int64 `locationName:"targetIops" type:"integer"`
87416
87417	// The target size of the volume, in GiB.
87418	TargetSize *int64 `locationName:"targetSize" type:"integer"`
87419
87420	// The target EBS volume type of the volume.
87421	TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
87422
87423	// The ID of the volume.
87424	VolumeId *string `locationName:"volumeId" type:"string"`
87425}
87426
87427// String returns the string representation
87428func (s VolumeModification) String() string {
87429	return awsutil.Prettify(s)
87430}
87431
87432// GoString returns the string representation
87433func (s VolumeModification) GoString() string {
87434	return s.String()
87435}
87436
87437// SetEndTime sets the EndTime field's value.
87438func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
87439	s.EndTime = &v
87440	return s
87441}
87442
87443// SetModificationState sets the ModificationState field's value.
87444func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
87445	s.ModificationState = &v
87446	return s
87447}
87448
87449// SetOriginalIops sets the OriginalIops field's value.
87450func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
87451	s.OriginalIops = &v
87452	return s
87453}
87454
87455// SetOriginalSize sets the OriginalSize field's value.
87456func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
87457	s.OriginalSize = &v
87458	return s
87459}
87460
87461// SetOriginalVolumeType sets the OriginalVolumeType field's value.
87462func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
87463	s.OriginalVolumeType = &v
87464	return s
87465}
87466
87467// SetProgress sets the Progress field's value.
87468func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
87469	s.Progress = &v
87470	return s
87471}
87472
87473// SetStartTime sets the StartTime field's value.
87474func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
87475	s.StartTime = &v
87476	return s
87477}
87478
87479// SetStatusMessage sets the StatusMessage field's value.
87480func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
87481	s.StatusMessage = &v
87482	return s
87483}
87484
87485// SetTargetIops sets the TargetIops field's value.
87486func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
87487	s.TargetIops = &v
87488	return s
87489}
87490
87491// SetTargetSize sets the TargetSize field's value.
87492func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
87493	s.TargetSize = &v
87494	return s
87495}
87496
87497// SetTargetVolumeType sets the TargetVolumeType field's value.
87498func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
87499	s.TargetVolumeType = &v
87500	return s
87501}
87502
87503// SetVolumeId sets the VolumeId field's value.
87504func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
87505	s.VolumeId = &v
87506	return s
87507}
87508
87509// Describes a volume status operation code.
87510type VolumeStatusAction struct {
87511	_ struct{} `type:"structure"`
87512
87513	// The code identifying the operation, for example, enable-volume-io.
87514	Code *string `locationName:"code" type:"string"`
87515
87516	// A description of the operation.
87517	Description *string `locationName:"description" type:"string"`
87518
87519	// The ID of the event associated with this operation.
87520	EventId *string `locationName:"eventId" type:"string"`
87521
87522	// The event type associated with this operation.
87523	EventType *string `locationName:"eventType" type:"string"`
87524}
87525
87526// String returns the string representation
87527func (s VolumeStatusAction) String() string {
87528	return awsutil.Prettify(s)
87529}
87530
87531// GoString returns the string representation
87532func (s VolumeStatusAction) GoString() string {
87533	return s.String()
87534}
87535
87536// SetCode sets the Code field's value.
87537func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
87538	s.Code = &v
87539	return s
87540}
87541
87542// SetDescription sets the Description field's value.
87543func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
87544	s.Description = &v
87545	return s
87546}
87547
87548// SetEventId sets the EventId field's value.
87549func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
87550	s.EventId = &v
87551	return s
87552}
87553
87554// SetEventType sets the EventType field's value.
87555func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
87556	s.EventType = &v
87557	return s
87558}
87559
87560// Describes a volume status.
87561type VolumeStatusDetails struct {
87562	_ struct{} `type:"structure"`
87563
87564	// The name of the volume status.
87565	Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
87566
87567	// The intended status of the volume status.
87568	Status *string `locationName:"status" type:"string"`
87569}
87570
87571// String returns the string representation
87572func (s VolumeStatusDetails) String() string {
87573	return awsutil.Prettify(s)
87574}
87575
87576// GoString returns the string representation
87577func (s VolumeStatusDetails) GoString() string {
87578	return s.String()
87579}
87580
87581// SetName sets the Name field's value.
87582func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
87583	s.Name = &v
87584	return s
87585}
87586
87587// SetStatus sets the Status field's value.
87588func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
87589	s.Status = &v
87590	return s
87591}
87592
87593// Describes a volume status event.
87594type VolumeStatusEvent struct {
87595	_ struct{} `type:"structure"`
87596
87597	// A description of the event.
87598	Description *string `locationName:"description" type:"string"`
87599
87600	// The ID of this event.
87601	EventId *string `locationName:"eventId" type:"string"`
87602
87603	// The type of this event.
87604	EventType *string `locationName:"eventType" type:"string"`
87605
87606	// The latest end time of the event.
87607	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
87608
87609	// The earliest start time of the event.
87610	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
87611}
87612
87613// String returns the string representation
87614func (s VolumeStatusEvent) String() string {
87615	return awsutil.Prettify(s)
87616}
87617
87618// GoString returns the string representation
87619func (s VolumeStatusEvent) GoString() string {
87620	return s.String()
87621}
87622
87623// SetDescription sets the Description field's value.
87624func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
87625	s.Description = &v
87626	return s
87627}
87628
87629// SetEventId sets the EventId field's value.
87630func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
87631	s.EventId = &v
87632	return s
87633}
87634
87635// SetEventType sets the EventType field's value.
87636func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
87637	s.EventType = &v
87638	return s
87639}
87640
87641// SetNotAfter sets the NotAfter field's value.
87642func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
87643	s.NotAfter = &v
87644	return s
87645}
87646
87647// SetNotBefore sets the NotBefore field's value.
87648func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
87649	s.NotBefore = &v
87650	return s
87651}
87652
87653// Describes the status of a volume.
87654type VolumeStatusInfo struct {
87655	_ struct{} `type:"structure"`
87656
87657	// The details of the volume status.
87658	Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
87659
87660	// The status of the volume.
87661	Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
87662}
87663
87664// String returns the string representation
87665func (s VolumeStatusInfo) String() string {
87666	return awsutil.Prettify(s)
87667}
87668
87669// GoString returns the string representation
87670func (s VolumeStatusInfo) GoString() string {
87671	return s.String()
87672}
87673
87674// SetDetails sets the Details field's value.
87675func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
87676	s.Details = v
87677	return s
87678}
87679
87680// SetStatus sets the Status field's value.
87681func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
87682	s.Status = &v
87683	return s
87684}
87685
87686// Describes the volume status.
87687type VolumeStatusItem struct {
87688	_ struct{} `type:"structure"`
87689
87690	// The details of the operation.
87691	Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
87692
87693	// The Availability Zone of the volume.
87694	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
87695
87696	// A list of events associated with the volume.
87697	Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
87698
87699	// The volume ID.
87700	VolumeId *string `locationName:"volumeId" type:"string"`
87701
87702	// The volume status.
87703	VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
87704}
87705
87706// String returns the string representation
87707func (s VolumeStatusItem) String() string {
87708	return awsutil.Prettify(s)
87709}
87710
87711// GoString returns the string representation
87712func (s VolumeStatusItem) GoString() string {
87713	return s.String()
87714}
87715
87716// SetActions sets the Actions field's value.
87717func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
87718	s.Actions = v
87719	return s
87720}
87721
87722// SetAvailabilityZone sets the AvailabilityZone field's value.
87723func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
87724	s.AvailabilityZone = &v
87725	return s
87726}
87727
87728// SetEvents sets the Events field's value.
87729func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
87730	s.Events = v
87731	return s
87732}
87733
87734// SetVolumeId sets the VolumeId field's value.
87735func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
87736	s.VolumeId = &v
87737	return s
87738}
87739
87740// SetVolumeStatus sets the VolumeStatus field's value.
87741func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
87742	s.VolumeStatus = v
87743	return s
87744}
87745
87746// Describes a VPC.
87747type Vpc struct {
87748	_ struct{} `type:"structure"`
87749
87750	// The primary IPv4 CIDR block for the VPC.
87751	CidrBlock *string `locationName:"cidrBlock" type:"string"`
87752
87753	// Information about the IPv4 CIDR blocks associated with the VPC.
87754	CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
87755
87756	// The ID of the set of DHCP options you've associated with the VPC (or default
87757	// if the default options are associated with the VPC).
87758	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
87759
87760	// The allowed tenancy of instances launched into the VPC.
87761	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
87762
87763	// Information about the IPv6 CIDR blocks associated with the VPC.
87764	Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
87765
87766	// Indicates whether the VPC is the default VPC.
87767	IsDefault *bool `locationName:"isDefault" type:"boolean"`
87768
87769	// The ID of the AWS account that owns the VPC.
87770	OwnerId *string `locationName:"ownerId" type:"string"`
87771
87772	// The current state of the VPC.
87773	State *string `locationName:"state" type:"string" enum:"VpcState"`
87774
87775	// Any tags assigned to the VPC.
87776	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87777
87778	// The ID of the VPC.
87779	VpcId *string `locationName:"vpcId" type:"string"`
87780}
87781
87782// String returns the string representation
87783func (s Vpc) String() string {
87784	return awsutil.Prettify(s)
87785}
87786
87787// GoString returns the string representation
87788func (s Vpc) GoString() string {
87789	return s.String()
87790}
87791
87792// SetCidrBlock sets the CidrBlock field's value.
87793func (s *Vpc) SetCidrBlock(v string) *Vpc {
87794	s.CidrBlock = &v
87795	return s
87796}
87797
87798// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
87799func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
87800	s.CidrBlockAssociationSet = v
87801	return s
87802}
87803
87804// SetDhcpOptionsId sets the DhcpOptionsId field's value.
87805func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
87806	s.DhcpOptionsId = &v
87807	return s
87808}
87809
87810// SetInstanceTenancy sets the InstanceTenancy field's value.
87811func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
87812	s.InstanceTenancy = &v
87813	return s
87814}
87815
87816// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
87817func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
87818	s.Ipv6CidrBlockAssociationSet = v
87819	return s
87820}
87821
87822// SetIsDefault sets the IsDefault field's value.
87823func (s *Vpc) SetIsDefault(v bool) *Vpc {
87824	s.IsDefault = &v
87825	return s
87826}
87827
87828// SetOwnerId sets the OwnerId field's value.
87829func (s *Vpc) SetOwnerId(v string) *Vpc {
87830	s.OwnerId = &v
87831	return s
87832}
87833
87834// SetState sets the State field's value.
87835func (s *Vpc) SetState(v string) *Vpc {
87836	s.State = &v
87837	return s
87838}
87839
87840// SetTags sets the Tags field's value.
87841func (s *Vpc) SetTags(v []*Tag) *Vpc {
87842	s.Tags = v
87843	return s
87844}
87845
87846// SetVpcId sets the VpcId field's value.
87847func (s *Vpc) SetVpcId(v string) *Vpc {
87848	s.VpcId = &v
87849	return s
87850}
87851
87852// Describes an attachment between a virtual private gateway and a VPC.
87853type VpcAttachment struct {
87854	_ struct{} `type:"structure"`
87855
87856	// The current state of the attachment.
87857	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
87858
87859	// The ID of the VPC.
87860	VpcId *string `locationName:"vpcId" type:"string"`
87861}
87862
87863// String returns the string representation
87864func (s VpcAttachment) String() string {
87865	return awsutil.Prettify(s)
87866}
87867
87868// GoString returns the string representation
87869func (s VpcAttachment) GoString() string {
87870	return s.String()
87871}
87872
87873// SetState sets the State field's value.
87874func (s *VpcAttachment) SetState(v string) *VpcAttachment {
87875	s.State = &v
87876	return s
87877}
87878
87879// SetVpcId sets the VpcId field's value.
87880func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
87881	s.VpcId = &v
87882	return s
87883}
87884
87885// Describes an IPv4 CIDR block associated with a VPC.
87886type VpcCidrBlockAssociation struct {
87887	_ struct{} `type:"structure"`
87888
87889	// The association ID for the IPv4 CIDR block.
87890	AssociationId *string `locationName:"associationId" type:"string"`
87891
87892	// The IPv4 CIDR block.
87893	CidrBlock *string `locationName:"cidrBlock" type:"string"`
87894
87895	// Information about the state of the CIDR block.
87896	CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
87897}
87898
87899// String returns the string representation
87900func (s VpcCidrBlockAssociation) String() string {
87901	return awsutil.Prettify(s)
87902}
87903
87904// GoString returns the string representation
87905func (s VpcCidrBlockAssociation) GoString() string {
87906	return s.String()
87907}
87908
87909// SetAssociationId sets the AssociationId field's value.
87910func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
87911	s.AssociationId = &v
87912	return s
87913}
87914
87915// SetCidrBlock sets the CidrBlock field's value.
87916func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
87917	s.CidrBlock = &v
87918	return s
87919}
87920
87921// SetCidrBlockState sets the CidrBlockState field's value.
87922func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
87923	s.CidrBlockState = v
87924	return s
87925}
87926
87927// Describes the state of a CIDR block.
87928type VpcCidrBlockState struct {
87929	_ struct{} `type:"structure"`
87930
87931	// The state of the CIDR block.
87932	State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
87933
87934	// A message about the status of the CIDR block, if applicable.
87935	StatusMessage *string `locationName:"statusMessage" type:"string"`
87936}
87937
87938// String returns the string representation
87939func (s VpcCidrBlockState) String() string {
87940	return awsutil.Prettify(s)
87941}
87942
87943// GoString returns the string representation
87944func (s VpcCidrBlockState) GoString() string {
87945	return s.String()
87946}
87947
87948// SetState sets the State field's value.
87949func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
87950	s.State = &v
87951	return s
87952}
87953
87954// SetStatusMessage sets the StatusMessage field's value.
87955func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
87956	s.StatusMessage = &v
87957	return s
87958}
87959
87960// Describes whether a VPC is enabled for ClassicLink.
87961type VpcClassicLink struct {
87962	_ struct{} `type:"structure"`
87963
87964	// Indicates whether the VPC is enabled for ClassicLink.
87965	ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
87966
87967	// Any tags assigned to the VPC.
87968	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87969
87970	// The ID of the VPC.
87971	VpcId *string `locationName:"vpcId" type:"string"`
87972}
87973
87974// String returns the string representation
87975func (s VpcClassicLink) String() string {
87976	return awsutil.Prettify(s)
87977}
87978
87979// GoString returns the string representation
87980func (s VpcClassicLink) GoString() string {
87981	return s.String()
87982}
87983
87984// SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
87985func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
87986	s.ClassicLinkEnabled = &v
87987	return s
87988}
87989
87990// SetTags sets the Tags field's value.
87991func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
87992	s.Tags = v
87993	return s
87994}
87995
87996// SetVpcId sets the VpcId field's value.
87997func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
87998	s.VpcId = &v
87999	return s
88000}
88001
88002// Describes a VPC endpoint.
88003type VpcEndpoint struct {
88004	_ struct{} `type:"structure"`
88005
88006	// The date and time the VPC endpoint was created.
88007	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
88008
88009	// (Interface endpoint) The DNS entries for the endpoint.
88010	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
88011
88012	// (Interface endpoint) Information about the security groups associated with
88013	// the network interface.
88014	Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
88015
88016	// (Interface endpoint) One or more network interfaces for the endpoint.
88017	NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
88018
88019	// The policy document associated with the endpoint, if applicable.
88020	PolicyDocument *string `locationName:"policyDocument" type:"string"`
88021
88022	// (Interface endpoint) Indicates whether the VPC is associated with a private
88023	// hosted zone.
88024	PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
88025
88026	// Indicates whether the VPC endpoint is being managed by its service.
88027	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
88028
88029	// (Gateway endpoint) One or more route tables associated with the endpoint.
88030	RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
88031
88032	// The name of the service to which the endpoint is associated.
88033	ServiceName *string `locationName:"serviceName" type:"string"`
88034
88035	// The state of the VPC endpoint.
88036	State *string `locationName:"state" type:"string" enum:"State"`
88037
88038	// (Interface endpoint) One or more subnets in which the endpoint is located.
88039	SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
88040
88041	// Any tags assigned to the VPC endpoint.
88042	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88043
88044	// The ID of the VPC endpoint.
88045	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
88046
88047	// The type of endpoint.
88048	VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
88049
88050	// The ID of the VPC to which the endpoint is associated.
88051	VpcId *string `locationName:"vpcId" type:"string"`
88052}
88053
88054// String returns the string representation
88055func (s VpcEndpoint) String() string {
88056	return awsutil.Prettify(s)
88057}
88058
88059// GoString returns the string representation
88060func (s VpcEndpoint) GoString() string {
88061	return s.String()
88062}
88063
88064// SetCreationTimestamp sets the CreationTimestamp field's value.
88065func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
88066	s.CreationTimestamp = &v
88067	return s
88068}
88069
88070// SetDnsEntries sets the DnsEntries field's value.
88071func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
88072	s.DnsEntries = v
88073	return s
88074}
88075
88076// SetGroups sets the Groups field's value.
88077func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
88078	s.Groups = v
88079	return s
88080}
88081
88082// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
88083func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
88084	s.NetworkInterfaceIds = v
88085	return s
88086}
88087
88088// SetPolicyDocument sets the PolicyDocument field's value.
88089func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
88090	s.PolicyDocument = &v
88091	return s
88092}
88093
88094// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
88095func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
88096	s.PrivateDnsEnabled = &v
88097	return s
88098}
88099
88100// SetRequesterManaged sets the RequesterManaged field's value.
88101func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint {
88102	s.RequesterManaged = &v
88103	return s
88104}
88105
88106// SetRouteTableIds sets the RouteTableIds field's value.
88107func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
88108	s.RouteTableIds = v
88109	return s
88110}
88111
88112// SetServiceName sets the ServiceName field's value.
88113func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
88114	s.ServiceName = &v
88115	return s
88116}
88117
88118// SetState sets the State field's value.
88119func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
88120	s.State = &v
88121	return s
88122}
88123
88124// SetSubnetIds sets the SubnetIds field's value.
88125func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
88126	s.SubnetIds = v
88127	return s
88128}
88129
88130// SetTags sets the Tags field's value.
88131func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint {
88132	s.Tags = v
88133	return s
88134}
88135
88136// SetVpcEndpointId sets the VpcEndpointId field's value.
88137func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
88138	s.VpcEndpointId = &v
88139	return s
88140}
88141
88142// SetVpcEndpointType sets the VpcEndpointType field's value.
88143func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
88144	s.VpcEndpointType = &v
88145	return s
88146}
88147
88148// SetVpcId sets the VpcId field's value.
88149func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
88150	s.VpcId = &v
88151	return s
88152}
88153
88154// Describes a VPC endpoint connection to a service.
88155type VpcEndpointConnection struct {
88156	_ struct{} `type:"structure"`
88157
88158	// The date and time the VPC endpoint was created.
88159	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
88160
88161	// The ID of the service to which the endpoint is connected.
88162	ServiceId *string `locationName:"serviceId" type:"string"`
88163
88164	// The ID of the VPC endpoint.
88165	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
88166
88167	// The AWS account ID of the owner of the VPC endpoint.
88168	VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
88169
88170	// The state of the VPC endpoint.
88171	VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
88172}
88173
88174// String returns the string representation
88175func (s VpcEndpointConnection) String() string {
88176	return awsutil.Prettify(s)
88177}
88178
88179// GoString returns the string representation
88180func (s VpcEndpointConnection) GoString() string {
88181	return s.String()
88182}
88183
88184// SetCreationTimestamp sets the CreationTimestamp field's value.
88185func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
88186	s.CreationTimestamp = &v
88187	return s
88188}
88189
88190// SetServiceId sets the ServiceId field's value.
88191func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
88192	s.ServiceId = &v
88193	return s
88194}
88195
88196// SetVpcEndpointId sets the VpcEndpointId field's value.
88197func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
88198	s.VpcEndpointId = &v
88199	return s
88200}
88201
88202// SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
88203func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
88204	s.VpcEndpointOwner = &v
88205	return s
88206}
88207
88208// SetVpcEndpointState sets the VpcEndpointState field's value.
88209func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
88210	s.VpcEndpointState = &v
88211	return s
88212}
88213
88214// Describes an IPv6 CIDR block associated with a VPC.
88215type VpcIpv6CidrBlockAssociation struct {
88216	_ struct{} `type:"structure"`
88217
88218	// The association ID for the IPv6 CIDR block.
88219	AssociationId *string `locationName:"associationId" type:"string"`
88220
88221	// The IPv6 CIDR block.
88222	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
88223
88224	// Information about the state of the CIDR block.
88225	Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
88226}
88227
88228// String returns the string representation
88229func (s VpcIpv6CidrBlockAssociation) String() string {
88230	return awsutil.Prettify(s)
88231}
88232
88233// GoString returns the string representation
88234func (s VpcIpv6CidrBlockAssociation) GoString() string {
88235	return s.String()
88236}
88237
88238// SetAssociationId sets the AssociationId field's value.
88239func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
88240	s.AssociationId = &v
88241	return s
88242}
88243
88244// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
88245func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
88246	s.Ipv6CidrBlock = &v
88247	return s
88248}
88249
88250// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
88251func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
88252	s.Ipv6CidrBlockState = v
88253	return s
88254}
88255
88256// Describes a VPC peering connection.
88257type VpcPeeringConnection struct {
88258	_ struct{} `type:"structure"`
88259
88260	// Information about the accepter VPC. CIDR block information is only returned
88261	// when describing an active VPC peering connection.
88262	AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
88263
88264	// The time that an unaccepted VPC peering connection will expire.
88265	ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
88266
88267	// Information about the requester VPC. CIDR block information is only returned
88268	// when describing an active VPC peering connection.
88269	RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
88270
88271	// The status of the VPC peering connection.
88272	Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
88273
88274	// Any tags assigned to the resource.
88275	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88276
88277	// The ID of the VPC peering connection.
88278	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
88279}
88280
88281// String returns the string representation
88282func (s VpcPeeringConnection) String() string {
88283	return awsutil.Prettify(s)
88284}
88285
88286// GoString returns the string representation
88287func (s VpcPeeringConnection) GoString() string {
88288	return s.String()
88289}
88290
88291// SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
88292func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
88293	s.AccepterVpcInfo = v
88294	return s
88295}
88296
88297// SetExpirationTime sets the ExpirationTime field's value.
88298func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
88299	s.ExpirationTime = &v
88300	return s
88301}
88302
88303// SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
88304func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
88305	s.RequesterVpcInfo = v
88306	return s
88307}
88308
88309// SetStatus sets the Status field's value.
88310func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
88311	s.Status = v
88312	return s
88313}
88314
88315// SetTags sets the Tags field's value.
88316func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
88317	s.Tags = v
88318	return s
88319}
88320
88321// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
88322func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
88323	s.VpcPeeringConnectionId = &v
88324	return s
88325}
88326
88327// Describes the VPC peering connection options.
88328type VpcPeeringConnectionOptionsDescription struct {
88329	_ struct{} `type:"structure"`
88330
88331	// Indicates whether a local VPC can resolve public DNS hostnames to private
88332	// IP addresses when queried from instances in a peer VPC.
88333	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
88334
88335	// Indicates whether a local ClassicLink connection can communicate with the
88336	// peer VPC over the VPC peering connection.
88337	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
88338
88339	// Indicates whether a local VPC can communicate with a ClassicLink connection
88340	// in the peer VPC over the VPC peering connection.
88341	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
88342}
88343
88344// String returns the string representation
88345func (s VpcPeeringConnectionOptionsDescription) String() string {
88346	return awsutil.Prettify(s)
88347}
88348
88349// GoString returns the string representation
88350func (s VpcPeeringConnectionOptionsDescription) GoString() string {
88351	return s.String()
88352}
88353
88354// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
88355func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
88356	s.AllowDnsResolutionFromRemoteVpc = &v
88357	return s
88358}
88359
88360// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
88361func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
88362	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
88363	return s
88364}
88365
88366// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
88367func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
88368	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
88369	return s
88370}
88371
88372// Describes the status of a VPC peering connection.
88373type VpcPeeringConnectionStateReason struct {
88374	_ struct{} `type:"structure"`
88375
88376	// The status of the VPC peering connection.
88377	Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
88378
88379	// A message that provides more information about the status, if applicable.
88380	Message *string `locationName:"message" type:"string"`
88381}
88382
88383// String returns the string representation
88384func (s VpcPeeringConnectionStateReason) String() string {
88385	return awsutil.Prettify(s)
88386}
88387
88388// GoString returns the string representation
88389func (s VpcPeeringConnectionStateReason) GoString() string {
88390	return s.String()
88391}
88392
88393// SetCode sets the Code field's value.
88394func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
88395	s.Code = &v
88396	return s
88397}
88398
88399// SetMessage sets the Message field's value.
88400func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
88401	s.Message = &v
88402	return s
88403}
88404
88405// Describes a VPC in a VPC peering connection.
88406type VpcPeeringConnectionVpcInfo struct {
88407	_ struct{} `type:"structure"`
88408
88409	// The IPv4 CIDR block for the VPC.
88410	CidrBlock *string `locationName:"cidrBlock" type:"string"`
88411
88412	// Information about the IPv4 CIDR blocks for the VPC.
88413	CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
88414
88415	// The IPv6 CIDR block for the VPC.
88416	Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
88417
88418	// The AWS account ID of the VPC owner.
88419	OwnerId *string `locationName:"ownerId" type:"string"`
88420
88421	// Information about the VPC peering connection options for the accepter or
88422	// requester VPC.
88423	PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
88424
88425	// The Region in which the VPC is located.
88426	Region *string `locationName:"region" type:"string"`
88427
88428	// The ID of the VPC.
88429	VpcId *string `locationName:"vpcId" type:"string"`
88430}
88431
88432// String returns the string representation
88433func (s VpcPeeringConnectionVpcInfo) String() string {
88434	return awsutil.Prettify(s)
88435}
88436
88437// GoString returns the string representation
88438func (s VpcPeeringConnectionVpcInfo) GoString() string {
88439	return s.String()
88440}
88441
88442// SetCidrBlock sets the CidrBlock field's value.
88443func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
88444	s.CidrBlock = &v
88445	return s
88446}
88447
88448// SetCidrBlockSet sets the CidrBlockSet field's value.
88449func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
88450	s.CidrBlockSet = v
88451	return s
88452}
88453
88454// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
88455func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
88456	s.Ipv6CidrBlockSet = v
88457	return s
88458}
88459
88460// SetOwnerId sets the OwnerId field's value.
88461func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
88462	s.OwnerId = &v
88463	return s
88464}
88465
88466// SetPeeringOptions sets the PeeringOptions field's value.
88467func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
88468	s.PeeringOptions = v
88469	return s
88470}
88471
88472// SetRegion sets the Region field's value.
88473func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
88474	s.Region = &v
88475	return s
88476}
88477
88478// SetVpcId sets the VpcId field's value.
88479func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
88480	s.VpcId = &v
88481	return s
88482}
88483
88484// Describes a VPN connection.
88485type VpnConnection struct {
88486	_ struct{} `type:"structure"`
88487
88488	// The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
88489	// A value of VPN-Classic indicates an AWS Classic VPN connection.
88490	Category *string `locationName:"category" type:"string"`
88491
88492	// The configuration information for the VPN connection's customer gateway (in
88493	// the native XML format). This element is always present in the CreateVpnConnection
88494	// response; however, it's present in the DescribeVpnConnections response only
88495	// if the VPN connection is in the pending or available state.
88496	CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
88497
88498	// The ID of the customer gateway at your end of the VPN connection.
88499	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
88500
88501	// The VPN connection options.
88502	Options *VpnConnectionOptions `locationName:"options" type:"structure"`
88503
88504	// The static routes associated with the VPN connection.
88505	Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
88506
88507	// The current state of the VPN connection.
88508	State *string `locationName:"state" type:"string" enum:"VpnState"`
88509
88510	// Any tags assigned to the VPN connection.
88511	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88512
88513	// The ID of the transit gateway associated with the VPN connection.
88514	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
88515
88516	// The type of VPN connection.
88517	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
88518
88519	// Information about the VPN tunnel.
88520	VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
88521
88522	// The ID of the VPN connection.
88523	VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
88524
88525	// The ID of the virtual private gateway at the AWS side of the VPN connection.
88526	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
88527}
88528
88529// String returns the string representation
88530func (s VpnConnection) String() string {
88531	return awsutil.Prettify(s)
88532}
88533
88534// GoString returns the string representation
88535func (s VpnConnection) GoString() string {
88536	return s.String()
88537}
88538
88539// SetCategory sets the Category field's value.
88540func (s *VpnConnection) SetCategory(v string) *VpnConnection {
88541	s.Category = &v
88542	return s
88543}
88544
88545// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
88546func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
88547	s.CustomerGatewayConfiguration = &v
88548	return s
88549}
88550
88551// SetCustomerGatewayId sets the CustomerGatewayId field's value.
88552func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
88553	s.CustomerGatewayId = &v
88554	return s
88555}
88556
88557// SetOptions sets the Options field's value.
88558func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
88559	s.Options = v
88560	return s
88561}
88562
88563// SetRoutes sets the Routes field's value.
88564func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
88565	s.Routes = v
88566	return s
88567}
88568
88569// SetState sets the State field's value.
88570func (s *VpnConnection) SetState(v string) *VpnConnection {
88571	s.State = &v
88572	return s
88573}
88574
88575// SetTags sets the Tags field's value.
88576func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
88577	s.Tags = v
88578	return s
88579}
88580
88581// SetTransitGatewayId sets the TransitGatewayId field's value.
88582func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
88583	s.TransitGatewayId = &v
88584	return s
88585}
88586
88587// SetType sets the Type field's value.
88588func (s *VpnConnection) SetType(v string) *VpnConnection {
88589	s.Type = &v
88590	return s
88591}
88592
88593// SetVgwTelemetry sets the VgwTelemetry field's value.
88594func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
88595	s.VgwTelemetry = v
88596	return s
88597}
88598
88599// SetVpnConnectionId sets the VpnConnectionId field's value.
88600func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
88601	s.VpnConnectionId = &v
88602	return s
88603}
88604
88605// SetVpnGatewayId sets the VpnGatewayId field's value.
88606func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
88607	s.VpnGatewayId = &v
88608	return s
88609}
88610
88611// Describes VPN connection options.
88612type VpnConnectionOptions struct {
88613	_ struct{} `type:"structure"`
88614
88615	// Indicates whether the VPN connection uses static routes only. Static routes
88616	// must be used for devices that don't support BGP.
88617	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
88618}
88619
88620// String returns the string representation
88621func (s VpnConnectionOptions) String() string {
88622	return awsutil.Prettify(s)
88623}
88624
88625// GoString returns the string representation
88626func (s VpnConnectionOptions) GoString() string {
88627	return s.String()
88628}
88629
88630// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
88631func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
88632	s.StaticRoutesOnly = &v
88633	return s
88634}
88635
88636// Describes VPN connection options.
88637type VpnConnectionOptionsSpecification struct {
88638	_ struct{} `type:"structure"`
88639
88640	// Indicate whether the VPN connection uses static routes only. If you are creating
88641	// a VPN connection for a device that does not support BGP, you must specify
88642	// true. Use CreateVpnConnectionRoute to create a static route.
88643	//
88644	// Default: false
88645	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
88646
88647	// The tunnel options for the VPN connection.
88648	TunnelOptions []*VpnTunnelOptionsSpecification `locationNameList:"item" type:"list"`
88649}
88650
88651// String returns the string representation
88652func (s VpnConnectionOptionsSpecification) String() string {
88653	return awsutil.Prettify(s)
88654}
88655
88656// GoString returns the string representation
88657func (s VpnConnectionOptionsSpecification) GoString() string {
88658	return s.String()
88659}
88660
88661// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
88662func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
88663	s.StaticRoutesOnly = &v
88664	return s
88665}
88666
88667// SetTunnelOptions sets the TunnelOptions field's value.
88668func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
88669	s.TunnelOptions = v
88670	return s
88671}
88672
88673// Describes a virtual private gateway.
88674type VpnGateway struct {
88675	_ struct{} `type:"structure"`
88676
88677	// The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
88678	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
88679
88680	// The Availability Zone where the virtual private gateway was created, if applicable.
88681	// This field may be empty or not returned.
88682	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
88683
88684	// The current state of the virtual private gateway.
88685	State *string `locationName:"state" type:"string" enum:"VpnState"`
88686
88687	// Any tags assigned to the virtual private gateway.
88688	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88689
88690	// The type of VPN connection the virtual private gateway supports.
88691	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
88692
88693	// Any VPCs attached to the virtual private gateway.
88694	VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
88695
88696	// The ID of the virtual private gateway.
88697	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
88698}
88699
88700// String returns the string representation
88701func (s VpnGateway) String() string {
88702	return awsutil.Prettify(s)
88703}
88704
88705// GoString returns the string representation
88706func (s VpnGateway) GoString() string {
88707	return s.String()
88708}
88709
88710// SetAmazonSideAsn sets the AmazonSideAsn field's value.
88711func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
88712	s.AmazonSideAsn = &v
88713	return s
88714}
88715
88716// SetAvailabilityZone sets the AvailabilityZone field's value.
88717func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
88718	s.AvailabilityZone = &v
88719	return s
88720}
88721
88722// SetState sets the State field's value.
88723func (s *VpnGateway) SetState(v string) *VpnGateway {
88724	s.State = &v
88725	return s
88726}
88727
88728// SetTags sets the Tags field's value.
88729func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
88730	s.Tags = v
88731	return s
88732}
88733
88734// SetType sets the Type field's value.
88735func (s *VpnGateway) SetType(v string) *VpnGateway {
88736	s.Type = &v
88737	return s
88738}
88739
88740// SetVpcAttachments sets the VpcAttachments field's value.
88741func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
88742	s.VpcAttachments = v
88743	return s
88744}
88745
88746// SetVpnGatewayId sets the VpnGatewayId field's value.
88747func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
88748	s.VpnGatewayId = &v
88749	return s
88750}
88751
88752// Describes a static route for a VPN connection.
88753type VpnStaticRoute struct {
88754	_ struct{} `type:"structure"`
88755
88756	// The CIDR block associated with the local subnet of the customer data center.
88757	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
88758
88759	// Indicates how the routes were provided.
88760	Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
88761
88762	// The current state of the static route.
88763	State *string `locationName:"state" type:"string" enum:"VpnState"`
88764}
88765
88766// String returns the string representation
88767func (s VpnStaticRoute) String() string {
88768	return awsutil.Prettify(s)
88769}
88770
88771// GoString returns the string representation
88772func (s VpnStaticRoute) GoString() string {
88773	return s.String()
88774}
88775
88776// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
88777func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
88778	s.DestinationCidrBlock = &v
88779	return s
88780}
88781
88782// SetSource sets the Source field's value.
88783func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
88784	s.Source = &v
88785	return s
88786}
88787
88788// SetState sets the State field's value.
88789func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
88790	s.State = &v
88791	return s
88792}
88793
88794// The tunnel options for a VPN connection.
88795type VpnTunnelOptionsSpecification struct {
88796	_ struct{} `type:"structure"`
88797
88798	// The pre-shared key (PSK) to establish initial authentication between the
88799	// virtual private gateway and customer gateway.
88800	//
88801	// Constraints: Allowed characters are alphanumeric characters and ._. Must
88802	// be between 8 and 64 characters in length and cannot start with zero (0).
88803	PreSharedKey *string `type:"string"`
88804
88805	// The range of inside IP addresses for the tunnel. Any specified CIDR blocks
88806	// must be unique across all VPN connections that use the same virtual private
88807	// gateway.
88808	//
88809	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
88810	// CIDR blocks are reserved and cannot be used:
88811	//
88812	//    * 169.254.0.0/30
88813	//
88814	//    * 169.254.1.0/30
88815	//
88816	//    * 169.254.2.0/30
88817	//
88818	//    * 169.254.3.0/30
88819	//
88820	//    * 169.254.4.0/30
88821	//
88822	//    * 169.254.5.0/30
88823	//
88824	//    * 169.254.169.252/30
88825	TunnelInsideCidr *string `type:"string"`
88826}
88827
88828// String returns the string representation
88829func (s VpnTunnelOptionsSpecification) String() string {
88830	return awsutil.Prettify(s)
88831}
88832
88833// GoString returns the string representation
88834func (s VpnTunnelOptionsSpecification) GoString() string {
88835	return s.String()
88836}
88837
88838// SetPreSharedKey sets the PreSharedKey field's value.
88839func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
88840	s.PreSharedKey = &v
88841	return s
88842}
88843
88844// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
88845func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
88846	s.TunnelInsideCidr = &v
88847	return s
88848}
88849
88850type WithdrawByoipCidrInput struct {
88851	_ struct{} `type:"structure"`
88852
88853	// The public IPv4 address range, in CIDR notation.
88854	//
88855	// Cidr is a required field
88856	Cidr *string `type:"string" required:"true"`
88857
88858	// Checks whether you have the required permissions for the action, without
88859	// actually making the request, and provides an error response. If you have
88860	// the required permissions, the error response is DryRunOperation. Otherwise,
88861	// it is UnauthorizedOperation.
88862	DryRun *bool `type:"boolean"`
88863}
88864
88865// String returns the string representation
88866func (s WithdrawByoipCidrInput) String() string {
88867	return awsutil.Prettify(s)
88868}
88869
88870// GoString returns the string representation
88871func (s WithdrawByoipCidrInput) GoString() string {
88872	return s.String()
88873}
88874
88875// Validate inspects the fields of the type to determine if they are valid.
88876func (s *WithdrawByoipCidrInput) Validate() error {
88877	invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
88878	if s.Cidr == nil {
88879		invalidParams.Add(request.NewErrParamRequired("Cidr"))
88880	}
88881
88882	if invalidParams.Len() > 0 {
88883		return invalidParams
88884	}
88885	return nil
88886}
88887
88888// SetCidr sets the Cidr field's value.
88889func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
88890	s.Cidr = &v
88891	return s
88892}
88893
88894// SetDryRun sets the DryRun field's value.
88895func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
88896	s.DryRun = &v
88897	return s
88898}
88899
88900type WithdrawByoipCidrOutput struct {
88901	_ struct{} `type:"structure"`
88902
88903	// Information about the address pool.
88904	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
88905}
88906
88907// String returns the string representation
88908func (s WithdrawByoipCidrOutput) String() string {
88909	return awsutil.Prettify(s)
88910}
88911
88912// GoString returns the string representation
88913func (s WithdrawByoipCidrOutput) GoString() string {
88914	return s.String()
88915}
88916
88917// SetByoipCidr sets the ByoipCidr field's value.
88918func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
88919	s.ByoipCidr = v
88920	return s
88921}
88922
88923const (
88924	// AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
88925	AccountAttributeNameSupportedPlatforms = "supported-platforms"
88926
88927	// AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
88928	AccountAttributeNameDefaultVpc = "default-vpc"
88929)
88930
88931const (
88932	// ActivityStatusError is a ActivityStatus enum value
88933	ActivityStatusError = "error"
88934
88935	// ActivityStatusPendingFulfillment is a ActivityStatus enum value
88936	ActivityStatusPendingFulfillment = "pending_fulfillment"
88937
88938	// ActivityStatusPendingTermination is a ActivityStatus enum value
88939	ActivityStatusPendingTermination = "pending_termination"
88940
88941	// ActivityStatusFulfilled is a ActivityStatus enum value
88942	ActivityStatusFulfilled = "fulfilled"
88943)
88944
88945const (
88946	// AffinityDefault is a Affinity enum value
88947	AffinityDefault = "default"
88948
88949	// AffinityHost is a Affinity enum value
88950	AffinityHost = "host"
88951)
88952
88953const (
88954	// AllocationStateAvailable is a AllocationState enum value
88955	AllocationStateAvailable = "available"
88956
88957	// AllocationStateUnderAssessment is a AllocationState enum value
88958	AllocationStateUnderAssessment = "under-assessment"
88959
88960	// AllocationStatePermanentFailure is a AllocationState enum value
88961	AllocationStatePermanentFailure = "permanent-failure"
88962
88963	// AllocationStateReleased is a AllocationState enum value
88964	AllocationStateReleased = "released"
88965
88966	// AllocationStateReleasedPermanentFailure is a AllocationState enum value
88967	AllocationStateReleasedPermanentFailure = "released-permanent-failure"
88968)
88969
88970const (
88971	// AllocationStrategyLowestPrice is a AllocationStrategy enum value
88972	AllocationStrategyLowestPrice = "lowestPrice"
88973
88974	// AllocationStrategyDiversified is a AllocationStrategy enum value
88975	AllocationStrategyDiversified = "diversified"
88976)
88977
88978const (
88979	// ArchitectureValuesI386 is a ArchitectureValues enum value
88980	ArchitectureValuesI386 = "i386"
88981
88982	// ArchitectureValuesX8664 is a ArchitectureValues enum value
88983	ArchitectureValuesX8664 = "x86_64"
88984
88985	// ArchitectureValuesArm64 is a ArchitectureValues enum value
88986	ArchitectureValuesArm64 = "arm64"
88987)
88988
88989const (
88990	// AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
88991	AssociatedNetworkTypeVpc = "vpc"
88992)
88993
88994const (
88995	// AssociationStatusCodeAssociating is a AssociationStatusCode enum value
88996	AssociationStatusCodeAssociating = "associating"
88997
88998	// AssociationStatusCodeAssociated is a AssociationStatusCode enum value
88999	AssociationStatusCodeAssociated = "associated"
89000
89001	// AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
89002	AssociationStatusCodeAssociationFailed = "association-failed"
89003
89004	// AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
89005	AssociationStatusCodeDisassociating = "disassociating"
89006
89007	// AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
89008	AssociationStatusCodeDisassociated = "disassociated"
89009)
89010
89011const (
89012	// AttachmentStatusAttaching is a AttachmentStatus enum value
89013	AttachmentStatusAttaching = "attaching"
89014
89015	// AttachmentStatusAttached is a AttachmentStatus enum value
89016	AttachmentStatusAttached = "attached"
89017
89018	// AttachmentStatusDetaching is a AttachmentStatus enum value
89019	AttachmentStatusDetaching = "detaching"
89020
89021	// AttachmentStatusDetached is a AttachmentStatus enum value
89022	AttachmentStatusDetached = "detached"
89023)
89024
89025const (
89026	// AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
89027	AutoAcceptSharedAttachmentsValueEnable = "enable"
89028
89029	// AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
89030	AutoAcceptSharedAttachmentsValueDisable = "disable"
89031)
89032
89033const (
89034	// AutoPlacementOn is a AutoPlacement enum value
89035	AutoPlacementOn = "on"
89036
89037	// AutoPlacementOff is a AutoPlacement enum value
89038	AutoPlacementOff = "off"
89039)
89040
89041const (
89042	// AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
89043	AvailabilityZoneStateAvailable = "available"
89044
89045	// AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
89046	AvailabilityZoneStateInformation = "information"
89047
89048	// AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
89049	AvailabilityZoneStateImpaired = "impaired"
89050
89051	// AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
89052	AvailabilityZoneStateUnavailable = "unavailable"
89053)
89054
89055const (
89056	// BatchStateSubmitted is a BatchState enum value
89057	BatchStateSubmitted = "submitted"
89058
89059	// BatchStateActive is a BatchState enum value
89060	BatchStateActive = "active"
89061
89062	// BatchStateCancelled is a BatchState enum value
89063	BatchStateCancelled = "cancelled"
89064
89065	// BatchStateFailed is a BatchState enum value
89066	BatchStateFailed = "failed"
89067
89068	// BatchStateCancelledRunning is a BatchState enum value
89069	BatchStateCancelledRunning = "cancelled_running"
89070
89071	// BatchStateCancelledTerminating is a BatchState enum value
89072	BatchStateCancelledTerminating = "cancelled_terminating"
89073
89074	// BatchStateModifying is a BatchState enum value
89075	BatchStateModifying = "modifying"
89076)
89077
89078const (
89079	// BundleTaskStatePending is a BundleTaskState enum value
89080	BundleTaskStatePending = "pending"
89081
89082	// BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
89083	BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
89084
89085	// BundleTaskStateBundling is a BundleTaskState enum value
89086	BundleTaskStateBundling = "bundling"
89087
89088	// BundleTaskStateStoring is a BundleTaskState enum value
89089	BundleTaskStateStoring = "storing"
89090
89091	// BundleTaskStateCancelling is a BundleTaskState enum value
89092	BundleTaskStateCancelling = "cancelling"
89093
89094	// BundleTaskStateComplete is a BundleTaskState enum value
89095	BundleTaskStateComplete = "complete"
89096
89097	// BundleTaskStateFailed is a BundleTaskState enum value
89098	BundleTaskStateFailed = "failed"
89099)
89100
89101const (
89102	// ByoipCidrStateAdvertised is a ByoipCidrState enum value
89103	ByoipCidrStateAdvertised = "advertised"
89104
89105	// ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
89106	ByoipCidrStateDeprovisioned = "deprovisioned"
89107
89108	// ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
89109	ByoipCidrStateFailedDeprovision = "failed-deprovision"
89110
89111	// ByoipCidrStateFailedProvision is a ByoipCidrState enum value
89112	ByoipCidrStateFailedProvision = "failed-provision"
89113
89114	// ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
89115	ByoipCidrStatePendingDeprovision = "pending-deprovision"
89116
89117	// ByoipCidrStatePendingProvision is a ByoipCidrState enum value
89118	ByoipCidrStatePendingProvision = "pending-provision"
89119
89120	// ByoipCidrStateProvisioned is a ByoipCidrState enum value
89121	ByoipCidrStateProvisioned = "provisioned"
89122)
89123
89124const (
89125	// CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
89126	CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
89127
89128	// CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
89129	CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
89130
89131	// CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
89132	CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
89133
89134	// CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
89135	CancelBatchErrorCodeUnexpectedError = "unexpectedError"
89136)
89137
89138const (
89139	// CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
89140	CancelSpotInstanceRequestStateActive = "active"
89141
89142	// CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
89143	CancelSpotInstanceRequestStateOpen = "open"
89144
89145	// CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
89146	CancelSpotInstanceRequestStateClosed = "closed"
89147
89148	// CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
89149	CancelSpotInstanceRequestStateCancelled = "cancelled"
89150
89151	// CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
89152	CancelSpotInstanceRequestStateCompleted = "completed"
89153)
89154
89155const (
89156	// CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
89157	CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
89158
89159	// CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
89160	CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
89161
89162	// CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
89163	CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
89164
89165	// CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
89166	CapacityReservationInstancePlatformWindows = "Windows"
89167
89168	// CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
89169	CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
89170
89171	// CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
89172	CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
89173
89174	// CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
89175	CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
89176
89177	// CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
89178	CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
89179
89180	// CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
89181	CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
89182
89183	// CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
89184	CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
89185
89186	// CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
89187	CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
89188)
89189
89190const (
89191	// CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
89192	CapacityReservationPreferenceOpen = "open"
89193
89194	// CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
89195	CapacityReservationPreferenceNone = "none"
89196)
89197
89198const (
89199	// CapacityReservationStateActive is a CapacityReservationState enum value
89200	CapacityReservationStateActive = "active"
89201
89202	// CapacityReservationStateExpired is a CapacityReservationState enum value
89203	CapacityReservationStateExpired = "expired"
89204
89205	// CapacityReservationStateCancelled is a CapacityReservationState enum value
89206	CapacityReservationStateCancelled = "cancelled"
89207
89208	// CapacityReservationStatePending is a CapacityReservationState enum value
89209	CapacityReservationStatePending = "pending"
89210
89211	// CapacityReservationStateFailed is a CapacityReservationState enum value
89212	CapacityReservationStateFailed = "failed"
89213)
89214
89215const (
89216	// CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
89217	CapacityReservationTenancyDefault = "default"
89218
89219	// CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
89220	CapacityReservationTenancyDedicated = "dedicated"
89221)
89222
89223const (
89224	// ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
89225	ClientCertificateRevocationListStatusCodePending = "pending"
89226
89227	// ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
89228	ClientCertificateRevocationListStatusCodeActive = "active"
89229)
89230
89231const (
89232	// ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
89233	ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
89234
89235	// ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
89236	ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
89237)
89238
89239const (
89240	// ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
89241	ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
89242
89243	// ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
89244	ClientVpnAuthorizationRuleStatusCodeActive = "active"
89245
89246	// ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
89247	ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
89248
89249	// ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
89250	ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
89251)
89252
89253const (
89254	// ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
89255	ClientVpnConnectionStatusCodeActive = "active"
89256
89257	// ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
89258	ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
89259
89260	// ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
89261	ClientVpnConnectionStatusCodeTerminating = "terminating"
89262
89263	// ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
89264	ClientVpnConnectionStatusCodeTerminated = "terminated"
89265)
89266
89267const (
89268	// ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
89269	ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
89270
89271	// ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
89272	ClientVpnEndpointStatusCodeAvailable = "available"
89273
89274	// ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
89275	ClientVpnEndpointStatusCodeDeleting = "deleting"
89276
89277	// ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
89278	ClientVpnEndpointStatusCodeDeleted = "deleted"
89279)
89280
89281const (
89282	// ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
89283	ClientVpnRouteStatusCodeCreating = "creating"
89284
89285	// ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
89286	ClientVpnRouteStatusCodeActive = "active"
89287
89288	// ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
89289	ClientVpnRouteStatusCodeFailed = "failed"
89290
89291	// ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
89292	ClientVpnRouteStatusCodeDeleting = "deleting"
89293)
89294
89295const (
89296	// ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
89297	ConnectionNotificationStateEnabled = "Enabled"
89298
89299	// ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
89300	ConnectionNotificationStateDisabled = "Disabled"
89301)
89302
89303const (
89304	// ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
89305	ConnectionNotificationTypeTopic = "Topic"
89306)
89307
89308const (
89309	// ContainerFormatOva is a ContainerFormat enum value
89310	ContainerFormatOva = "ova"
89311)
89312
89313const (
89314	// ConversionTaskStateActive is a ConversionTaskState enum value
89315	ConversionTaskStateActive = "active"
89316
89317	// ConversionTaskStateCancelling is a ConversionTaskState enum value
89318	ConversionTaskStateCancelling = "cancelling"
89319
89320	// ConversionTaskStateCancelled is a ConversionTaskState enum value
89321	ConversionTaskStateCancelled = "cancelled"
89322
89323	// ConversionTaskStateCompleted is a ConversionTaskState enum value
89324	ConversionTaskStateCompleted = "completed"
89325)
89326
89327const (
89328	// CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
89329	CurrencyCodeValuesUsd = "USD"
89330)
89331
89332const (
89333	// DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
89334	DatafeedSubscriptionStateActive = "Active"
89335
89336	// DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
89337	DatafeedSubscriptionStateInactive = "Inactive"
89338)
89339
89340const (
89341	// DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
89342	DefaultRouteTableAssociationValueEnable = "enable"
89343
89344	// DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
89345	DefaultRouteTableAssociationValueDisable = "disable"
89346)
89347
89348const (
89349	// DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
89350	DefaultRouteTablePropagationValueEnable = "enable"
89351
89352	// DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
89353	DefaultRouteTablePropagationValueDisable = "disable"
89354)
89355
89356const (
89357	// DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
89358	DefaultTargetCapacityTypeSpot = "spot"
89359
89360	// DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
89361	DefaultTargetCapacityTypeOnDemand = "on-demand"
89362)
89363
89364const (
89365	// DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
89366	DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
89367
89368	// DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
89369	DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
89370
89371	// DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
89372	DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
89373
89374	// DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
89375	DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
89376)
89377
89378const (
89379	// DeviceTypeEbs is a DeviceType enum value
89380	DeviceTypeEbs = "ebs"
89381
89382	// DeviceTypeInstanceStore is a DeviceType enum value
89383	DeviceTypeInstanceStore = "instance-store"
89384)
89385
89386const (
89387	// DiskImageFormatVmdk is a DiskImageFormat enum value
89388	DiskImageFormatVmdk = "VMDK"
89389
89390	// DiskImageFormatRaw is a DiskImageFormat enum value
89391	DiskImageFormatRaw = "RAW"
89392
89393	// DiskImageFormatVhd is a DiskImageFormat enum value
89394	DiskImageFormatVhd = "VHD"
89395)
89396
89397const (
89398	// DnsSupportValueEnable is a DnsSupportValue enum value
89399	DnsSupportValueEnable = "enable"
89400
89401	// DnsSupportValueDisable is a DnsSupportValue enum value
89402	DnsSupportValueDisable = "disable"
89403)
89404
89405const (
89406	// DomainTypeVpc is a DomainType enum value
89407	DomainTypeVpc = "vpc"
89408
89409	// DomainTypeStandard is a DomainType enum value
89410	DomainTypeStandard = "standard"
89411)
89412
89413const (
89414	// ElasticGpuStateAttached is a ElasticGpuState enum value
89415	ElasticGpuStateAttached = "ATTACHED"
89416)
89417
89418const (
89419	// ElasticGpuStatusOk is a ElasticGpuStatus enum value
89420	ElasticGpuStatusOk = "OK"
89421
89422	// ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
89423	ElasticGpuStatusImpaired = "IMPAIRED"
89424)
89425
89426const (
89427	// EndDateTypeUnlimited is a EndDateType enum value
89428	EndDateTypeUnlimited = "unlimited"
89429
89430	// EndDateTypeLimited is a EndDateType enum value
89431	EndDateTypeLimited = "limited"
89432)
89433
89434const (
89435	// EventCodeInstanceReboot is a EventCode enum value
89436	EventCodeInstanceReboot = "instance-reboot"
89437
89438	// EventCodeSystemReboot is a EventCode enum value
89439	EventCodeSystemReboot = "system-reboot"
89440
89441	// EventCodeSystemMaintenance is a EventCode enum value
89442	EventCodeSystemMaintenance = "system-maintenance"
89443
89444	// EventCodeInstanceRetirement is a EventCode enum value
89445	EventCodeInstanceRetirement = "instance-retirement"
89446
89447	// EventCodeInstanceStop is a EventCode enum value
89448	EventCodeInstanceStop = "instance-stop"
89449)
89450
89451const (
89452	// EventTypeInstanceChange is a EventType enum value
89453	EventTypeInstanceChange = "instanceChange"
89454
89455	// EventTypeFleetRequestChange is a EventType enum value
89456	EventTypeFleetRequestChange = "fleetRequestChange"
89457
89458	// EventTypeError is a EventType enum value
89459	EventTypeError = "error"
89460)
89461
89462const (
89463	// ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
89464	ExcessCapacityTerminationPolicyNoTermination = "noTermination"
89465
89466	// ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
89467	ExcessCapacityTerminationPolicyDefault = "default"
89468)
89469
89470const (
89471	// ExportEnvironmentCitrix is a ExportEnvironment enum value
89472	ExportEnvironmentCitrix = "citrix"
89473
89474	// ExportEnvironmentVmware is a ExportEnvironment enum value
89475	ExportEnvironmentVmware = "vmware"
89476
89477	// ExportEnvironmentMicrosoft is a ExportEnvironment enum value
89478	ExportEnvironmentMicrosoft = "microsoft"
89479)
89480
89481const (
89482	// ExportTaskStateActive is a ExportTaskState enum value
89483	ExportTaskStateActive = "active"
89484
89485	// ExportTaskStateCancelling is a ExportTaskState enum value
89486	ExportTaskStateCancelling = "cancelling"
89487
89488	// ExportTaskStateCancelled is a ExportTaskState enum value
89489	ExportTaskStateCancelled = "cancelled"
89490
89491	// ExportTaskStateCompleted is a ExportTaskState enum value
89492	ExportTaskStateCompleted = "completed"
89493)
89494
89495const (
89496	// FleetActivityStatusError is a FleetActivityStatus enum value
89497	FleetActivityStatusError = "error"
89498
89499	// FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
89500	FleetActivityStatusPendingFulfillment = "pending-fulfillment"
89501
89502	// FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
89503	FleetActivityStatusPendingTermination = "pending-termination"
89504
89505	// FleetActivityStatusFulfilled is a FleetActivityStatus enum value
89506	FleetActivityStatusFulfilled = "fulfilled"
89507)
89508
89509const (
89510	// FleetEventTypeInstanceChange is a FleetEventType enum value
89511	FleetEventTypeInstanceChange = "instance-change"
89512
89513	// FleetEventTypeFleetChange is a FleetEventType enum value
89514	FleetEventTypeFleetChange = "fleet-change"
89515
89516	// FleetEventTypeServiceError is a FleetEventType enum value
89517	FleetEventTypeServiceError = "service-error"
89518)
89519
89520const (
89521	// FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
89522	FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
89523
89524	// FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
89525	FleetExcessCapacityTerminationPolicyTermination = "termination"
89526)
89527
89528const (
89529	// FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
89530	FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
89531
89532	// FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
89533	FleetOnDemandAllocationStrategyPrioritized = "prioritized"
89534)
89535
89536const (
89537	// FleetStateCodeSubmitted is a FleetStateCode enum value
89538	FleetStateCodeSubmitted = "submitted"
89539
89540	// FleetStateCodeActive is a FleetStateCode enum value
89541	FleetStateCodeActive = "active"
89542
89543	// FleetStateCodeDeleted is a FleetStateCode enum value
89544	FleetStateCodeDeleted = "deleted"
89545
89546	// FleetStateCodeFailed is a FleetStateCode enum value
89547	FleetStateCodeFailed = "failed"
89548
89549	// FleetStateCodeDeletedRunning is a FleetStateCode enum value
89550	FleetStateCodeDeletedRunning = "deleted-running"
89551
89552	// FleetStateCodeDeletedTerminating is a FleetStateCode enum value
89553	FleetStateCodeDeletedTerminating = "deleted-terminating"
89554
89555	// FleetStateCodeModifying is a FleetStateCode enum value
89556	FleetStateCodeModifying = "modifying"
89557)
89558
89559const (
89560	// FleetTypeRequest is a FleetType enum value
89561	FleetTypeRequest = "request"
89562
89563	// FleetTypeMaintain is a FleetType enum value
89564	FleetTypeMaintain = "maintain"
89565
89566	// FleetTypeInstant is a FleetType enum value
89567	FleetTypeInstant = "instant"
89568)
89569
89570const (
89571	// FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
89572	FlowLogsResourceTypeVpc = "VPC"
89573
89574	// FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
89575	FlowLogsResourceTypeSubnet = "Subnet"
89576
89577	// FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
89578	FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
89579)
89580
89581const (
89582	// FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
89583	FpgaImageAttributeNameDescription = "description"
89584
89585	// FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
89586	FpgaImageAttributeNameName = "name"
89587
89588	// FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
89589	FpgaImageAttributeNameLoadPermission = "loadPermission"
89590
89591	// FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
89592	FpgaImageAttributeNameProductCodes = "productCodes"
89593)
89594
89595const (
89596	// FpgaImageStateCodePending is a FpgaImageStateCode enum value
89597	FpgaImageStateCodePending = "pending"
89598
89599	// FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
89600	FpgaImageStateCodeFailed = "failed"
89601
89602	// FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
89603	FpgaImageStateCodeAvailable = "available"
89604
89605	// FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
89606	FpgaImageStateCodeUnavailable = "unavailable"
89607)
89608
89609const (
89610	// GatewayTypeIpsec1 is a GatewayType enum value
89611	GatewayTypeIpsec1 = "ipsec.1"
89612)
89613
89614const (
89615	// HostTenancyDedicated is a HostTenancy enum value
89616	HostTenancyDedicated = "dedicated"
89617
89618	// HostTenancyHost is a HostTenancy enum value
89619	HostTenancyHost = "host"
89620)
89621
89622const (
89623	// HypervisorTypeOvm is a HypervisorType enum value
89624	HypervisorTypeOvm = "ovm"
89625
89626	// HypervisorTypeXen is a HypervisorType enum value
89627	HypervisorTypeXen = "xen"
89628)
89629
89630const (
89631	// IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
89632	IamInstanceProfileAssociationStateAssociating = "associating"
89633
89634	// IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
89635	IamInstanceProfileAssociationStateAssociated = "associated"
89636
89637	// IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
89638	IamInstanceProfileAssociationStateDisassociating = "disassociating"
89639
89640	// IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
89641	IamInstanceProfileAssociationStateDisassociated = "disassociated"
89642)
89643
89644const (
89645	// ImageAttributeNameDescription is a ImageAttributeName enum value
89646	ImageAttributeNameDescription = "description"
89647
89648	// ImageAttributeNameKernel is a ImageAttributeName enum value
89649	ImageAttributeNameKernel = "kernel"
89650
89651	// ImageAttributeNameRamdisk is a ImageAttributeName enum value
89652	ImageAttributeNameRamdisk = "ramdisk"
89653
89654	// ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
89655	ImageAttributeNameLaunchPermission = "launchPermission"
89656
89657	// ImageAttributeNameProductCodes is a ImageAttributeName enum value
89658	ImageAttributeNameProductCodes = "productCodes"
89659
89660	// ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
89661	ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
89662
89663	// ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
89664	ImageAttributeNameSriovNetSupport = "sriovNetSupport"
89665)
89666
89667const (
89668	// ImageStatePending is a ImageState enum value
89669	ImageStatePending = "pending"
89670
89671	// ImageStateAvailable is a ImageState enum value
89672	ImageStateAvailable = "available"
89673
89674	// ImageStateInvalid is a ImageState enum value
89675	ImageStateInvalid = "invalid"
89676
89677	// ImageStateDeregistered is a ImageState enum value
89678	ImageStateDeregistered = "deregistered"
89679
89680	// ImageStateTransient is a ImageState enum value
89681	ImageStateTransient = "transient"
89682
89683	// ImageStateFailed is a ImageState enum value
89684	ImageStateFailed = "failed"
89685
89686	// ImageStateError is a ImageState enum value
89687	ImageStateError = "error"
89688)
89689
89690const (
89691	// ImageTypeValuesMachine is a ImageTypeValues enum value
89692	ImageTypeValuesMachine = "machine"
89693
89694	// ImageTypeValuesKernel is a ImageTypeValues enum value
89695	ImageTypeValuesKernel = "kernel"
89696
89697	// ImageTypeValuesRamdisk is a ImageTypeValues enum value
89698	ImageTypeValuesRamdisk = "ramdisk"
89699)
89700
89701const (
89702	// InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
89703	InstanceAttributeNameInstanceType = "instanceType"
89704
89705	// InstanceAttributeNameKernel is a InstanceAttributeName enum value
89706	InstanceAttributeNameKernel = "kernel"
89707
89708	// InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
89709	InstanceAttributeNameRamdisk = "ramdisk"
89710
89711	// InstanceAttributeNameUserData is a InstanceAttributeName enum value
89712	InstanceAttributeNameUserData = "userData"
89713
89714	// InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
89715	InstanceAttributeNameDisableApiTermination = "disableApiTermination"
89716
89717	// InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
89718	InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
89719
89720	// InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
89721	InstanceAttributeNameRootDeviceName = "rootDeviceName"
89722
89723	// InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
89724	InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
89725
89726	// InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
89727	InstanceAttributeNameProductCodes = "productCodes"
89728
89729	// InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
89730	InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
89731
89732	// InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
89733	InstanceAttributeNameGroupSet = "groupSet"
89734
89735	// InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
89736	InstanceAttributeNameEbsOptimized = "ebsOptimized"
89737
89738	// InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
89739	InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
89740
89741	// InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
89742	InstanceAttributeNameEnaSupport = "enaSupport"
89743)
89744
89745const (
89746	// InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
89747	InstanceHealthStatusHealthy = "healthy"
89748
89749	// InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
89750	InstanceHealthStatusUnhealthy = "unhealthy"
89751)
89752
89753const (
89754	// InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
89755	InstanceInterruptionBehaviorHibernate = "hibernate"
89756
89757	// InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
89758	InstanceInterruptionBehaviorStop = "stop"
89759
89760	// InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
89761	InstanceInterruptionBehaviorTerminate = "terminate"
89762)
89763
89764const (
89765	// InstanceLifecycleSpot is a InstanceLifecycle enum value
89766	InstanceLifecycleSpot = "spot"
89767
89768	// InstanceLifecycleOnDemand is a InstanceLifecycle enum value
89769	InstanceLifecycleOnDemand = "on-demand"
89770)
89771
89772const (
89773	// InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
89774	InstanceLifecycleTypeSpot = "spot"
89775
89776	// InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
89777	InstanceLifecycleTypeScheduled = "scheduled"
89778)
89779
89780const (
89781	// InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
89782	InstanceMatchCriteriaOpen = "open"
89783
89784	// InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
89785	InstanceMatchCriteriaTargeted = "targeted"
89786)
89787
89788const (
89789	// InstanceStateNamePending is a InstanceStateName enum value
89790	InstanceStateNamePending = "pending"
89791
89792	// InstanceStateNameRunning is a InstanceStateName enum value
89793	InstanceStateNameRunning = "running"
89794
89795	// InstanceStateNameShuttingDown is a InstanceStateName enum value
89796	InstanceStateNameShuttingDown = "shutting-down"
89797
89798	// InstanceStateNameTerminated is a InstanceStateName enum value
89799	InstanceStateNameTerminated = "terminated"
89800
89801	// InstanceStateNameStopping is a InstanceStateName enum value
89802	InstanceStateNameStopping = "stopping"
89803
89804	// InstanceStateNameStopped is a InstanceStateName enum value
89805	InstanceStateNameStopped = "stopped"
89806)
89807
89808const (
89809	// InstanceTypeT1Micro is a InstanceType enum value
89810	InstanceTypeT1Micro = "t1.micro"
89811
89812	// InstanceTypeT2Nano is a InstanceType enum value
89813	InstanceTypeT2Nano = "t2.nano"
89814
89815	// InstanceTypeT2Micro is a InstanceType enum value
89816	InstanceTypeT2Micro = "t2.micro"
89817
89818	// InstanceTypeT2Small is a InstanceType enum value
89819	InstanceTypeT2Small = "t2.small"
89820
89821	// InstanceTypeT2Medium is a InstanceType enum value
89822	InstanceTypeT2Medium = "t2.medium"
89823
89824	// InstanceTypeT2Large is a InstanceType enum value
89825	InstanceTypeT2Large = "t2.large"
89826
89827	// InstanceTypeT2Xlarge is a InstanceType enum value
89828	InstanceTypeT2Xlarge = "t2.xlarge"
89829
89830	// InstanceTypeT22xlarge is a InstanceType enum value
89831	InstanceTypeT22xlarge = "t2.2xlarge"
89832
89833	// InstanceTypeT3Nano is a InstanceType enum value
89834	InstanceTypeT3Nano = "t3.nano"
89835
89836	// InstanceTypeT3Micro is a InstanceType enum value
89837	InstanceTypeT3Micro = "t3.micro"
89838
89839	// InstanceTypeT3Small is a InstanceType enum value
89840	InstanceTypeT3Small = "t3.small"
89841
89842	// InstanceTypeT3Medium is a InstanceType enum value
89843	InstanceTypeT3Medium = "t3.medium"
89844
89845	// InstanceTypeT3Large is a InstanceType enum value
89846	InstanceTypeT3Large = "t3.large"
89847
89848	// InstanceTypeT3Xlarge is a InstanceType enum value
89849	InstanceTypeT3Xlarge = "t3.xlarge"
89850
89851	// InstanceTypeT32xlarge is a InstanceType enum value
89852	InstanceTypeT32xlarge = "t3.2xlarge"
89853
89854	// InstanceTypeT3aNano is a InstanceType enum value
89855	InstanceTypeT3aNano = "t3a.nano"
89856
89857	// InstanceTypeT3aMicro is a InstanceType enum value
89858	InstanceTypeT3aMicro = "t3a.micro"
89859
89860	// InstanceTypeT3aSmall is a InstanceType enum value
89861	InstanceTypeT3aSmall = "t3a.small"
89862
89863	// InstanceTypeT3aMedium is a InstanceType enum value
89864	InstanceTypeT3aMedium = "t3a.medium"
89865
89866	// InstanceTypeT3aLarge is a InstanceType enum value
89867	InstanceTypeT3aLarge = "t3a.large"
89868
89869	// InstanceTypeT3aXlarge is a InstanceType enum value
89870	InstanceTypeT3aXlarge = "t3a.xlarge"
89871
89872	// InstanceTypeT3a2xlarge is a InstanceType enum value
89873	InstanceTypeT3a2xlarge = "t3a.2xlarge"
89874
89875	// InstanceTypeM1Small is a InstanceType enum value
89876	InstanceTypeM1Small = "m1.small"
89877
89878	// InstanceTypeM1Medium is a InstanceType enum value
89879	InstanceTypeM1Medium = "m1.medium"
89880
89881	// InstanceTypeM1Large is a InstanceType enum value
89882	InstanceTypeM1Large = "m1.large"
89883
89884	// InstanceTypeM1Xlarge is a InstanceType enum value
89885	InstanceTypeM1Xlarge = "m1.xlarge"
89886
89887	// InstanceTypeM3Medium is a InstanceType enum value
89888	InstanceTypeM3Medium = "m3.medium"
89889
89890	// InstanceTypeM3Large is a InstanceType enum value
89891	InstanceTypeM3Large = "m3.large"
89892
89893	// InstanceTypeM3Xlarge is a InstanceType enum value
89894	InstanceTypeM3Xlarge = "m3.xlarge"
89895
89896	// InstanceTypeM32xlarge is a InstanceType enum value
89897	InstanceTypeM32xlarge = "m3.2xlarge"
89898
89899	// InstanceTypeM4Large is a InstanceType enum value
89900	InstanceTypeM4Large = "m4.large"
89901
89902	// InstanceTypeM4Xlarge is a InstanceType enum value
89903	InstanceTypeM4Xlarge = "m4.xlarge"
89904
89905	// InstanceTypeM42xlarge is a InstanceType enum value
89906	InstanceTypeM42xlarge = "m4.2xlarge"
89907
89908	// InstanceTypeM44xlarge is a InstanceType enum value
89909	InstanceTypeM44xlarge = "m4.4xlarge"
89910
89911	// InstanceTypeM410xlarge is a InstanceType enum value
89912	InstanceTypeM410xlarge = "m4.10xlarge"
89913
89914	// InstanceTypeM416xlarge is a InstanceType enum value
89915	InstanceTypeM416xlarge = "m4.16xlarge"
89916
89917	// InstanceTypeM2Xlarge is a InstanceType enum value
89918	InstanceTypeM2Xlarge = "m2.xlarge"
89919
89920	// InstanceTypeM22xlarge is a InstanceType enum value
89921	InstanceTypeM22xlarge = "m2.2xlarge"
89922
89923	// InstanceTypeM24xlarge is a InstanceType enum value
89924	InstanceTypeM24xlarge = "m2.4xlarge"
89925
89926	// InstanceTypeCr18xlarge is a InstanceType enum value
89927	InstanceTypeCr18xlarge = "cr1.8xlarge"
89928
89929	// InstanceTypeR3Large is a InstanceType enum value
89930	InstanceTypeR3Large = "r3.large"
89931
89932	// InstanceTypeR3Xlarge is a InstanceType enum value
89933	InstanceTypeR3Xlarge = "r3.xlarge"
89934
89935	// InstanceTypeR32xlarge is a InstanceType enum value
89936	InstanceTypeR32xlarge = "r3.2xlarge"
89937
89938	// InstanceTypeR34xlarge is a InstanceType enum value
89939	InstanceTypeR34xlarge = "r3.4xlarge"
89940
89941	// InstanceTypeR38xlarge is a InstanceType enum value
89942	InstanceTypeR38xlarge = "r3.8xlarge"
89943
89944	// InstanceTypeR4Large is a InstanceType enum value
89945	InstanceTypeR4Large = "r4.large"
89946
89947	// InstanceTypeR4Xlarge is a InstanceType enum value
89948	InstanceTypeR4Xlarge = "r4.xlarge"
89949
89950	// InstanceTypeR42xlarge is a InstanceType enum value
89951	InstanceTypeR42xlarge = "r4.2xlarge"
89952
89953	// InstanceTypeR44xlarge is a InstanceType enum value
89954	InstanceTypeR44xlarge = "r4.4xlarge"
89955
89956	// InstanceTypeR48xlarge is a InstanceType enum value
89957	InstanceTypeR48xlarge = "r4.8xlarge"
89958
89959	// InstanceTypeR416xlarge is a InstanceType enum value
89960	InstanceTypeR416xlarge = "r4.16xlarge"
89961
89962	// InstanceTypeR5Large is a InstanceType enum value
89963	InstanceTypeR5Large = "r5.large"
89964
89965	// InstanceTypeR5Xlarge is a InstanceType enum value
89966	InstanceTypeR5Xlarge = "r5.xlarge"
89967
89968	// InstanceTypeR52xlarge is a InstanceType enum value
89969	InstanceTypeR52xlarge = "r5.2xlarge"
89970
89971	// InstanceTypeR54xlarge is a InstanceType enum value
89972	InstanceTypeR54xlarge = "r5.4xlarge"
89973
89974	// InstanceTypeR512xlarge is a InstanceType enum value
89975	InstanceTypeR512xlarge = "r5.12xlarge"
89976
89977	// InstanceTypeR524xlarge is a InstanceType enum value
89978	InstanceTypeR524xlarge = "r5.24xlarge"
89979
89980	// InstanceTypeR5Metal is a InstanceType enum value
89981	InstanceTypeR5Metal = "r5.metal"
89982
89983	// InstanceTypeR5aLarge is a InstanceType enum value
89984	InstanceTypeR5aLarge = "r5a.large"
89985
89986	// InstanceTypeR5aXlarge is a InstanceType enum value
89987	InstanceTypeR5aXlarge = "r5a.xlarge"
89988
89989	// InstanceTypeR5a2xlarge is a InstanceType enum value
89990	InstanceTypeR5a2xlarge = "r5a.2xlarge"
89991
89992	// InstanceTypeR5a4xlarge is a InstanceType enum value
89993	InstanceTypeR5a4xlarge = "r5a.4xlarge"
89994
89995	// InstanceTypeR5a12xlarge is a InstanceType enum value
89996	InstanceTypeR5a12xlarge = "r5a.12xlarge"
89997
89998	// InstanceTypeR5a24xlarge is a InstanceType enum value
89999	InstanceTypeR5a24xlarge = "r5a.24xlarge"
90000
90001	// InstanceTypeR5dLarge is a InstanceType enum value
90002	InstanceTypeR5dLarge = "r5d.large"
90003
90004	// InstanceTypeR5dXlarge is a InstanceType enum value
90005	InstanceTypeR5dXlarge = "r5d.xlarge"
90006
90007	// InstanceTypeR5d2xlarge is a InstanceType enum value
90008	InstanceTypeR5d2xlarge = "r5d.2xlarge"
90009
90010	// InstanceTypeR5d4xlarge is a InstanceType enum value
90011	InstanceTypeR5d4xlarge = "r5d.4xlarge"
90012
90013	// InstanceTypeR5d12xlarge is a InstanceType enum value
90014	InstanceTypeR5d12xlarge = "r5d.12xlarge"
90015
90016	// InstanceTypeR5d24xlarge is a InstanceType enum value
90017	InstanceTypeR5d24xlarge = "r5d.24xlarge"
90018
90019	// InstanceTypeR5dMetal is a InstanceType enum value
90020	InstanceTypeR5dMetal = "r5d.metal"
90021
90022	// InstanceTypeR5adLarge is a InstanceType enum value
90023	InstanceTypeR5adLarge = "r5ad.large"
90024
90025	// InstanceTypeR5adXlarge is a InstanceType enum value
90026	InstanceTypeR5adXlarge = "r5ad.xlarge"
90027
90028	// InstanceTypeR5ad2xlarge is a InstanceType enum value
90029	InstanceTypeR5ad2xlarge = "r5ad.2xlarge"
90030
90031	// InstanceTypeR5ad4xlarge is a InstanceType enum value
90032	InstanceTypeR5ad4xlarge = "r5ad.4xlarge"
90033
90034	// InstanceTypeR5ad8xlarge is a InstanceType enum value
90035	InstanceTypeR5ad8xlarge = "r5ad.8xlarge"
90036
90037	// InstanceTypeR5ad12xlarge is a InstanceType enum value
90038	InstanceTypeR5ad12xlarge = "r5ad.12xlarge"
90039
90040	// InstanceTypeR5ad16xlarge is a InstanceType enum value
90041	InstanceTypeR5ad16xlarge = "r5ad.16xlarge"
90042
90043	// InstanceTypeR5ad24xlarge is a InstanceType enum value
90044	InstanceTypeR5ad24xlarge = "r5ad.24xlarge"
90045
90046	// InstanceTypeX116xlarge is a InstanceType enum value
90047	InstanceTypeX116xlarge = "x1.16xlarge"
90048
90049	// InstanceTypeX132xlarge is a InstanceType enum value
90050	InstanceTypeX132xlarge = "x1.32xlarge"
90051
90052	// InstanceTypeX1eXlarge is a InstanceType enum value
90053	InstanceTypeX1eXlarge = "x1e.xlarge"
90054
90055	// InstanceTypeX1e2xlarge is a InstanceType enum value
90056	InstanceTypeX1e2xlarge = "x1e.2xlarge"
90057
90058	// InstanceTypeX1e4xlarge is a InstanceType enum value
90059	InstanceTypeX1e4xlarge = "x1e.4xlarge"
90060
90061	// InstanceTypeX1e8xlarge is a InstanceType enum value
90062	InstanceTypeX1e8xlarge = "x1e.8xlarge"
90063
90064	// InstanceTypeX1e16xlarge is a InstanceType enum value
90065	InstanceTypeX1e16xlarge = "x1e.16xlarge"
90066
90067	// InstanceTypeX1e32xlarge is a InstanceType enum value
90068	InstanceTypeX1e32xlarge = "x1e.32xlarge"
90069
90070	// InstanceTypeI2Xlarge is a InstanceType enum value
90071	InstanceTypeI2Xlarge = "i2.xlarge"
90072
90073	// InstanceTypeI22xlarge is a InstanceType enum value
90074	InstanceTypeI22xlarge = "i2.2xlarge"
90075
90076	// InstanceTypeI24xlarge is a InstanceType enum value
90077	InstanceTypeI24xlarge = "i2.4xlarge"
90078
90079	// InstanceTypeI28xlarge is a InstanceType enum value
90080	InstanceTypeI28xlarge = "i2.8xlarge"
90081
90082	// InstanceTypeI3Large is a InstanceType enum value
90083	InstanceTypeI3Large = "i3.large"
90084
90085	// InstanceTypeI3Xlarge is a InstanceType enum value
90086	InstanceTypeI3Xlarge = "i3.xlarge"
90087
90088	// InstanceTypeI32xlarge is a InstanceType enum value
90089	InstanceTypeI32xlarge = "i3.2xlarge"
90090
90091	// InstanceTypeI34xlarge is a InstanceType enum value
90092	InstanceTypeI34xlarge = "i3.4xlarge"
90093
90094	// InstanceTypeI38xlarge is a InstanceType enum value
90095	InstanceTypeI38xlarge = "i3.8xlarge"
90096
90097	// InstanceTypeI316xlarge is a InstanceType enum value
90098	InstanceTypeI316xlarge = "i3.16xlarge"
90099
90100	// InstanceTypeI3Metal is a InstanceType enum value
90101	InstanceTypeI3Metal = "i3.metal"
90102
90103	// InstanceTypeHi14xlarge is a InstanceType enum value
90104	InstanceTypeHi14xlarge = "hi1.4xlarge"
90105
90106	// InstanceTypeHs18xlarge is a InstanceType enum value
90107	InstanceTypeHs18xlarge = "hs1.8xlarge"
90108
90109	// InstanceTypeC1Medium is a InstanceType enum value
90110	InstanceTypeC1Medium = "c1.medium"
90111
90112	// InstanceTypeC1Xlarge is a InstanceType enum value
90113	InstanceTypeC1Xlarge = "c1.xlarge"
90114
90115	// InstanceTypeC3Large is a InstanceType enum value
90116	InstanceTypeC3Large = "c3.large"
90117
90118	// InstanceTypeC3Xlarge is a InstanceType enum value
90119	InstanceTypeC3Xlarge = "c3.xlarge"
90120
90121	// InstanceTypeC32xlarge is a InstanceType enum value
90122	InstanceTypeC32xlarge = "c3.2xlarge"
90123
90124	// InstanceTypeC34xlarge is a InstanceType enum value
90125	InstanceTypeC34xlarge = "c3.4xlarge"
90126
90127	// InstanceTypeC38xlarge is a InstanceType enum value
90128	InstanceTypeC38xlarge = "c3.8xlarge"
90129
90130	// InstanceTypeC4Large is a InstanceType enum value
90131	InstanceTypeC4Large = "c4.large"
90132
90133	// InstanceTypeC4Xlarge is a InstanceType enum value
90134	InstanceTypeC4Xlarge = "c4.xlarge"
90135
90136	// InstanceTypeC42xlarge is a InstanceType enum value
90137	InstanceTypeC42xlarge = "c4.2xlarge"
90138
90139	// InstanceTypeC44xlarge is a InstanceType enum value
90140	InstanceTypeC44xlarge = "c4.4xlarge"
90141
90142	// InstanceTypeC48xlarge is a InstanceType enum value
90143	InstanceTypeC48xlarge = "c4.8xlarge"
90144
90145	// InstanceTypeC5Large is a InstanceType enum value
90146	InstanceTypeC5Large = "c5.large"
90147
90148	// InstanceTypeC5Xlarge is a InstanceType enum value
90149	InstanceTypeC5Xlarge = "c5.xlarge"
90150
90151	// InstanceTypeC52xlarge is a InstanceType enum value
90152	InstanceTypeC52xlarge = "c5.2xlarge"
90153
90154	// InstanceTypeC54xlarge is a InstanceType enum value
90155	InstanceTypeC54xlarge = "c5.4xlarge"
90156
90157	// InstanceTypeC59xlarge is a InstanceType enum value
90158	InstanceTypeC59xlarge = "c5.9xlarge"
90159
90160	// InstanceTypeC518xlarge is a InstanceType enum value
90161	InstanceTypeC518xlarge = "c5.18xlarge"
90162
90163	// InstanceTypeC5dLarge is a InstanceType enum value
90164	InstanceTypeC5dLarge = "c5d.large"
90165
90166	// InstanceTypeC5dXlarge is a InstanceType enum value
90167	InstanceTypeC5dXlarge = "c5d.xlarge"
90168
90169	// InstanceTypeC5d2xlarge is a InstanceType enum value
90170	InstanceTypeC5d2xlarge = "c5d.2xlarge"
90171
90172	// InstanceTypeC5d4xlarge is a InstanceType enum value
90173	InstanceTypeC5d4xlarge = "c5d.4xlarge"
90174
90175	// InstanceTypeC5d9xlarge is a InstanceType enum value
90176	InstanceTypeC5d9xlarge = "c5d.9xlarge"
90177
90178	// InstanceTypeC5d18xlarge is a InstanceType enum value
90179	InstanceTypeC5d18xlarge = "c5d.18xlarge"
90180
90181	// InstanceTypeC5nLarge is a InstanceType enum value
90182	InstanceTypeC5nLarge = "c5n.large"
90183
90184	// InstanceTypeC5nXlarge is a InstanceType enum value
90185	InstanceTypeC5nXlarge = "c5n.xlarge"
90186
90187	// InstanceTypeC5n2xlarge is a InstanceType enum value
90188	InstanceTypeC5n2xlarge = "c5n.2xlarge"
90189
90190	// InstanceTypeC5n4xlarge is a InstanceType enum value
90191	InstanceTypeC5n4xlarge = "c5n.4xlarge"
90192
90193	// InstanceTypeC5n9xlarge is a InstanceType enum value
90194	InstanceTypeC5n9xlarge = "c5n.9xlarge"
90195
90196	// InstanceTypeC5n18xlarge is a InstanceType enum value
90197	InstanceTypeC5n18xlarge = "c5n.18xlarge"
90198
90199	// InstanceTypeCc14xlarge is a InstanceType enum value
90200	InstanceTypeCc14xlarge = "cc1.4xlarge"
90201
90202	// InstanceTypeCc28xlarge is a InstanceType enum value
90203	InstanceTypeCc28xlarge = "cc2.8xlarge"
90204
90205	// InstanceTypeG22xlarge is a InstanceType enum value
90206	InstanceTypeG22xlarge = "g2.2xlarge"
90207
90208	// InstanceTypeG28xlarge is a InstanceType enum value
90209	InstanceTypeG28xlarge = "g2.8xlarge"
90210
90211	// InstanceTypeG34xlarge is a InstanceType enum value
90212	InstanceTypeG34xlarge = "g3.4xlarge"
90213
90214	// InstanceTypeG38xlarge is a InstanceType enum value
90215	InstanceTypeG38xlarge = "g3.8xlarge"
90216
90217	// InstanceTypeG316xlarge is a InstanceType enum value
90218	InstanceTypeG316xlarge = "g3.16xlarge"
90219
90220	// InstanceTypeG3sXlarge is a InstanceType enum value
90221	InstanceTypeG3sXlarge = "g3s.xlarge"
90222
90223	// InstanceTypeCg14xlarge is a InstanceType enum value
90224	InstanceTypeCg14xlarge = "cg1.4xlarge"
90225
90226	// InstanceTypeP2Xlarge is a InstanceType enum value
90227	InstanceTypeP2Xlarge = "p2.xlarge"
90228
90229	// InstanceTypeP28xlarge is a InstanceType enum value
90230	InstanceTypeP28xlarge = "p2.8xlarge"
90231
90232	// InstanceTypeP216xlarge is a InstanceType enum value
90233	InstanceTypeP216xlarge = "p2.16xlarge"
90234
90235	// InstanceTypeP32xlarge is a InstanceType enum value
90236	InstanceTypeP32xlarge = "p3.2xlarge"
90237
90238	// InstanceTypeP38xlarge is a InstanceType enum value
90239	InstanceTypeP38xlarge = "p3.8xlarge"
90240
90241	// InstanceTypeP316xlarge is a InstanceType enum value
90242	InstanceTypeP316xlarge = "p3.16xlarge"
90243
90244	// InstanceTypeP3dn24xlarge is a InstanceType enum value
90245	InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
90246
90247	// InstanceTypeD2Xlarge is a InstanceType enum value
90248	InstanceTypeD2Xlarge = "d2.xlarge"
90249
90250	// InstanceTypeD22xlarge is a InstanceType enum value
90251	InstanceTypeD22xlarge = "d2.2xlarge"
90252
90253	// InstanceTypeD24xlarge is a InstanceType enum value
90254	InstanceTypeD24xlarge = "d2.4xlarge"
90255
90256	// InstanceTypeD28xlarge is a InstanceType enum value
90257	InstanceTypeD28xlarge = "d2.8xlarge"
90258
90259	// InstanceTypeF12xlarge is a InstanceType enum value
90260	InstanceTypeF12xlarge = "f1.2xlarge"
90261
90262	// InstanceTypeF14xlarge is a InstanceType enum value
90263	InstanceTypeF14xlarge = "f1.4xlarge"
90264
90265	// InstanceTypeF116xlarge is a InstanceType enum value
90266	InstanceTypeF116xlarge = "f1.16xlarge"
90267
90268	// InstanceTypeM5Large is a InstanceType enum value
90269	InstanceTypeM5Large = "m5.large"
90270
90271	// InstanceTypeM5Xlarge is a InstanceType enum value
90272	InstanceTypeM5Xlarge = "m5.xlarge"
90273
90274	// InstanceTypeM52xlarge is a InstanceType enum value
90275	InstanceTypeM52xlarge = "m5.2xlarge"
90276
90277	// InstanceTypeM54xlarge is a InstanceType enum value
90278	InstanceTypeM54xlarge = "m5.4xlarge"
90279
90280	// InstanceTypeM512xlarge is a InstanceType enum value
90281	InstanceTypeM512xlarge = "m5.12xlarge"
90282
90283	// InstanceTypeM524xlarge is a InstanceType enum value
90284	InstanceTypeM524xlarge = "m5.24xlarge"
90285
90286	// InstanceTypeM5Metal is a InstanceType enum value
90287	InstanceTypeM5Metal = "m5.metal"
90288
90289	// InstanceTypeM5aLarge is a InstanceType enum value
90290	InstanceTypeM5aLarge = "m5a.large"
90291
90292	// InstanceTypeM5aXlarge is a InstanceType enum value
90293	InstanceTypeM5aXlarge = "m5a.xlarge"
90294
90295	// InstanceTypeM5a2xlarge is a InstanceType enum value
90296	InstanceTypeM5a2xlarge = "m5a.2xlarge"
90297
90298	// InstanceTypeM5a4xlarge is a InstanceType enum value
90299	InstanceTypeM5a4xlarge = "m5a.4xlarge"
90300
90301	// InstanceTypeM5a12xlarge is a InstanceType enum value
90302	InstanceTypeM5a12xlarge = "m5a.12xlarge"
90303
90304	// InstanceTypeM5a24xlarge is a InstanceType enum value
90305	InstanceTypeM5a24xlarge = "m5a.24xlarge"
90306
90307	// InstanceTypeM5dLarge is a InstanceType enum value
90308	InstanceTypeM5dLarge = "m5d.large"
90309
90310	// InstanceTypeM5dXlarge is a InstanceType enum value
90311	InstanceTypeM5dXlarge = "m5d.xlarge"
90312
90313	// InstanceTypeM5d2xlarge is a InstanceType enum value
90314	InstanceTypeM5d2xlarge = "m5d.2xlarge"
90315
90316	// InstanceTypeM5d4xlarge is a InstanceType enum value
90317	InstanceTypeM5d4xlarge = "m5d.4xlarge"
90318
90319	// InstanceTypeM5d12xlarge is a InstanceType enum value
90320	InstanceTypeM5d12xlarge = "m5d.12xlarge"
90321
90322	// InstanceTypeM5d24xlarge is a InstanceType enum value
90323	InstanceTypeM5d24xlarge = "m5d.24xlarge"
90324
90325	// InstanceTypeM5dMetal is a InstanceType enum value
90326	InstanceTypeM5dMetal = "m5d.metal"
90327
90328	// InstanceTypeM5adLarge is a InstanceType enum value
90329	InstanceTypeM5adLarge = "m5ad.large"
90330
90331	// InstanceTypeM5adXlarge is a InstanceType enum value
90332	InstanceTypeM5adXlarge = "m5ad.xlarge"
90333
90334	// InstanceTypeM5ad2xlarge is a InstanceType enum value
90335	InstanceTypeM5ad2xlarge = "m5ad.2xlarge"
90336
90337	// InstanceTypeM5ad4xlarge is a InstanceType enum value
90338	InstanceTypeM5ad4xlarge = "m5ad.4xlarge"
90339
90340	// InstanceTypeM5ad8xlarge is a InstanceType enum value
90341	InstanceTypeM5ad8xlarge = "m5ad.8xlarge"
90342
90343	// InstanceTypeM5ad12xlarge is a InstanceType enum value
90344	InstanceTypeM5ad12xlarge = "m5ad.12xlarge"
90345
90346	// InstanceTypeM5ad16xlarge is a InstanceType enum value
90347	InstanceTypeM5ad16xlarge = "m5ad.16xlarge"
90348
90349	// InstanceTypeM5ad24xlarge is a InstanceType enum value
90350	InstanceTypeM5ad24xlarge = "m5ad.24xlarge"
90351
90352	// InstanceTypeH12xlarge is a InstanceType enum value
90353	InstanceTypeH12xlarge = "h1.2xlarge"
90354
90355	// InstanceTypeH14xlarge is a InstanceType enum value
90356	InstanceTypeH14xlarge = "h1.4xlarge"
90357
90358	// InstanceTypeH18xlarge is a InstanceType enum value
90359	InstanceTypeH18xlarge = "h1.8xlarge"
90360
90361	// InstanceTypeH116xlarge is a InstanceType enum value
90362	InstanceTypeH116xlarge = "h1.16xlarge"
90363
90364	// InstanceTypeZ1dLarge is a InstanceType enum value
90365	InstanceTypeZ1dLarge = "z1d.large"
90366
90367	// InstanceTypeZ1dXlarge is a InstanceType enum value
90368	InstanceTypeZ1dXlarge = "z1d.xlarge"
90369
90370	// InstanceTypeZ1d2xlarge is a InstanceType enum value
90371	InstanceTypeZ1d2xlarge = "z1d.2xlarge"
90372
90373	// InstanceTypeZ1d3xlarge is a InstanceType enum value
90374	InstanceTypeZ1d3xlarge = "z1d.3xlarge"
90375
90376	// InstanceTypeZ1d6xlarge is a InstanceType enum value
90377	InstanceTypeZ1d6xlarge = "z1d.6xlarge"
90378
90379	// InstanceTypeZ1d12xlarge is a InstanceType enum value
90380	InstanceTypeZ1d12xlarge = "z1d.12xlarge"
90381
90382	// InstanceTypeZ1dMetal is a InstanceType enum value
90383	InstanceTypeZ1dMetal = "z1d.metal"
90384
90385	// InstanceTypeU6tb1Metal is a InstanceType enum value
90386	InstanceTypeU6tb1Metal = "u-6tb1.metal"
90387
90388	// InstanceTypeU9tb1Metal is a InstanceType enum value
90389	InstanceTypeU9tb1Metal = "u-9tb1.metal"
90390
90391	// InstanceTypeU12tb1Metal is a InstanceType enum value
90392	InstanceTypeU12tb1Metal = "u-12tb1.metal"
90393
90394	// InstanceTypeA1Medium is a InstanceType enum value
90395	InstanceTypeA1Medium = "a1.medium"
90396
90397	// InstanceTypeA1Large is a InstanceType enum value
90398	InstanceTypeA1Large = "a1.large"
90399
90400	// InstanceTypeA1Xlarge is a InstanceType enum value
90401	InstanceTypeA1Xlarge = "a1.xlarge"
90402
90403	// InstanceTypeA12xlarge is a InstanceType enum value
90404	InstanceTypeA12xlarge = "a1.2xlarge"
90405
90406	// InstanceTypeA14xlarge is a InstanceType enum value
90407	InstanceTypeA14xlarge = "a1.4xlarge"
90408)
90409
90410const (
90411	// InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
90412	InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
90413
90414	// InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
90415	InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
90416)
90417
90418const (
90419	// Ipv6SupportValueEnable is a Ipv6SupportValue enum value
90420	Ipv6SupportValueEnable = "enable"
90421
90422	// Ipv6SupportValueDisable is a Ipv6SupportValue enum value
90423	Ipv6SupportValueDisable = "disable"
90424)
90425
90426const (
90427	// LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
90428	LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
90429
90430	// LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
90431	LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
90432
90433	// LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
90434	LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
90435
90436	// LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
90437	LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
90438
90439	// LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
90440	LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
90441
90442	// LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
90443	LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
90444)
90445
90446const (
90447	// ListingStateAvailable is a ListingState enum value
90448	ListingStateAvailable = "available"
90449
90450	// ListingStateSold is a ListingState enum value
90451	ListingStateSold = "sold"
90452
90453	// ListingStateCancelled is a ListingState enum value
90454	ListingStateCancelled = "cancelled"
90455
90456	// ListingStatePending is a ListingState enum value
90457	ListingStatePending = "pending"
90458)
90459
90460const (
90461	// ListingStatusActive is a ListingStatus enum value
90462	ListingStatusActive = "active"
90463
90464	// ListingStatusPending is a ListingStatus enum value
90465	ListingStatusPending = "pending"
90466
90467	// ListingStatusCancelled is a ListingStatus enum value
90468	ListingStatusCancelled = "cancelled"
90469
90470	// ListingStatusClosed is a ListingStatus enum value
90471	ListingStatusClosed = "closed"
90472)
90473
90474const (
90475	// LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
90476	LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
90477
90478	// LogDestinationTypeS3 is a LogDestinationType enum value
90479	LogDestinationTypeS3 = "s3"
90480)
90481
90482const (
90483	// MarketTypeSpot is a MarketType enum value
90484	MarketTypeSpot = "spot"
90485)
90486
90487const (
90488	// MonitoringStateDisabled is a MonitoringState enum value
90489	MonitoringStateDisabled = "disabled"
90490
90491	// MonitoringStateDisabling is a MonitoringState enum value
90492	MonitoringStateDisabling = "disabling"
90493
90494	// MonitoringStateEnabled is a MonitoringState enum value
90495	MonitoringStateEnabled = "enabled"
90496
90497	// MonitoringStatePending is a MonitoringState enum value
90498	MonitoringStatePending = "pending"
90499)
90500
90501const (
90502	// MoveStatusMovingToVpc is a MoveStatus enum value
90503	MoveStatusMovingToVpc = "movingToVpc"
90504
90505	// MoveStatusRestoringToClassic is a MoveStatus enum value
90506	MoveStatusRestoringToClassic = "restoringToClassic"
90507)
90508
90509const (
90510	// NatGatewayStatePending is a NatGatewayState enum value
90511	NatGatewayStatePending = "pending"
90512
90513	// NatGatewayStateFailed is a NatGatewayState enum value
90514	NatGatewayStateFailed = "failed"
90515
90516	// NatGatewayStateAvailable is a NatGatewayState enum value
90517	NatGatewayStateAvailable = "available"
90518
90519	// NatGatewayStateDeleting is a NatGatewayState enum value
90520	NatGatewayStateDeleting = "deleting"
90521
90522	// NatGatewayStateDeleted is a NatGatewayState enum value
90523	NatGatewayStateDeleted = "deleted"
90524)
90525
90526const (
90527	// NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
90528	NetworkInterfaceAttributeDescription = "description"
90529
90530	// NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
90531	NetworkInterfaceAttributeGroupSet = "groupSet"
90532
90533	// NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
90534	NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
90535
90536	// NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
90537	NetworkInterfaceAttributeAttachment = "attachment"
90538)
90539
90540const (
90541	// NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value
90542	NetworkInterfaceCreationTypeEfa = "efa"
90543)
90544
90545const (
90546	// NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
90547	NetworkInterfacePermissionStateCodePending = "pending"
90548
90549	// NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
90550	NetworkInterfacePermissionStateCodeGranted = "granted"
90551
90552	// NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
90553	NetworkInterfacePermissionStateCodeRevoking = "revoking"
90554
90555	// NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
90556	NetworkInterfacePermissionStateCodeRevoked = "revoked"
90557)
90558
90559const (
90560	// NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
90561	NetworkInterfaceStatusAvailable = "available"
90562
90563	// NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
90564	NetworkInterfaceStatusAssociated = "associated"
90565
90566	// NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
90567	NetworkInterfaceStatusAttaching = "attaching"
90568
90569	// NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
90570	NetworkInterfaceStatusInUse = "in-use"
90571
90572	// NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
90573	NetworkInterfaceStatusDetaching = "detaching"
90574)
90575
90576const (
90577	// NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
90578	NetworkInterfaceTypeInterface = "interface"
90579
90580	// NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
90581	NetworkInterfaceTypeNatGateway = "natGateway"
90582
90583	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
90584	NetworkInterfaceTypeEfa = "efa"
90585)
90586
90587const (
90588	// OfferingClassTypeStandard is a OfferingClassType enum value
90589	OfferingClassTypeStandard = "standard"
90590
90591	// OfferingClassTypeConvertible is a OfferingClassType enum value
90592	OfferingClassTypeConvertible = "convertible"
90593)
90594
90595const (
90596	// OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
90597	OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
90598
90599	// OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
90600	OfferingTypeValuesMediumUtilization = "Medium Utilization"
90601
90602	// OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
90603	OfferingTypeValuesLightUtilization = "Light Utilization"
90604
90605	// OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
90606	OfferingTypeValuesNoUpfront = "No Upfront"
90607
90608	// OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
90609	OfferingTypeValuesPartialUpfront = "Partial Upfront"
90610
90611	// OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
90612	OfferingTypeValuesAllUpfront = "All Upfront"
90613)
90614
90615const (
90616	// OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
90617	OnDemandAllocationStrategyLowestPrice = "lowestPrice"
90618
90619	// OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
90620	OnDemandAllocationStrategyPrioritized = "prioritized"
90621)
90622
90623const (
90624	// OperationTypeAdd is a OperationType enum value
90625	OperationTypeAdd = "add"
90626
90627	// OperationTypeRemove is a OperationType enum value
90628	OperationTypeRemove = "remove"
90629)
90630
90631const (
90632	// PaymentOptionAllUpfront is a PaymentOption enum value
90633	PaymentOptionAllUpfront = "AllUpfront"
90634
90635	// PaymentOptionPartialUpfront is a PaymentOption enum value
90636	PaymentOptionPartialUpfront = "PartialUpfront"
90637
90638	// PaymentOptionNoUpfront is a PaymentOption enum value
90639	PaymentOptionNoUpfront = "NoUpfront"
90640)
90641
90642const (
90643	// PermissionGroupAll is a PermissionGroup enum value
90644	PermissionGroupAll = "all"
90645)
90646
90647const (
90648	// PlacementGroupStatePending is a PlacementGroupState enum value
90649	PlacementGroupStatePending = "pending"
90650
90651	// PlacementGroupStateAvailable is a PlacementGroupState enum value
90652	PlacementGroupStateAvailable = "available"
90653
90654	// PlacementGroupStateDeleting is a PlacementGroupState enum value
90655	PlacementGroupStateDeleting = "deleting"
90656
90657	// PlacementGroupStateDeleted is a PlacementGroupState enum value
90658	PlacementGroupStateDeleted = "deleted"
90659)
90660
90661const (
90662	// PlacementStrategyCluster is a PlacementStrategy enum value
90663	PlacementStrategyCluster = "cluster"
90664
90665	// PlacementStrategySpread is a PlacementStrategy enum value
90666	PlacementStrategySpread = "spread"
90667
90668	// PlacementStrategyPartition is a PlacementStrategy enum value
90669	PlacementStrategyPartition = "partition"
90670)
90671
90672const (
90673	// PlatformValuesWindows is a PlatformValues enum value
90674	PlatformValuesWindows = "Windows"
90675)
90676
90677const (
90678	// PrincipalTypeAll is a PrincipalType enum value
90679	PrincipalTypeAll = "All"
90680
90681	// PrincipalTypeService is a PrincipalType enum value
90682	PrincipalTypeService = "Service"
90683
90684	// PrincipalTypeOrganizationUnit is a PrincipalType enum value
90685	PrincipalTypeOrganizationUnit = "OrganizationUnit"
90686
90687	// PrincipalTypeAccount is a PrincipalType enum value
90688	PrincipalTypeAccount = "Account"
90689
90690	// PrincipalTypeUser is a PrincipalType enum value
90691	PrincipalTypeUser = "User"
90692
90693	// PrincipalTypeRole is a PrincipalType enum value
90694	PrincipalTypeRole = "Role"
90695)
90696
90697const (
90698	// ProductCodeValuesDevpay is a ProductCodeValues enum value
90699	ProductCodeValuesDevpay = "devpay"
90700
90701	// ProductCodeValuesMarketplace is a ProductCodeValues enum value
90702	ProductCodeValuesMarketplace = "marketplace"
90703)
90704
90705const (
90706	// RIProductDescriptionLinuxUnix is a RIProductDescription enum value
90707	RIProductDescriptionLinuxUnix = "Linux/UNIX"
90708
90709	// RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
90710	RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
90711
90712	// RIProductDescriptionWindows is a RIProductDescription enum value
90713	RIProductDescriptionWindows = "Windows"
90714
90715	// RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
90716	RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
90717)
90718
90719const (
90720	// RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
90721	RecurringChargeFrequencyHourly = "Hourly"
90722)
90723
90724const (
90725	// ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
90726	ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
90727
90728	// ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
90729	ReportInstanceReasonCodesUnresponsive = "unresponsive"
90730
90731	// ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
90732	ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
90733
90734	// ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
90735	ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
90736
90737	// ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
90738	ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
90739
90740	// ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
90741	ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
90742
90743	// ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
90744	ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
90745
90746	// ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
90747	ReportInstanceReasonCodesPerformanceOther = "performance-other"
90748
90749	// ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
90750	ReportInstanceReasonCodesOther = "other"
90751)
90752
90753const (
90754	// ReportStatusTypeOk is a ReportStatusType enum value
90755	ReportStatusTypeOk = "ok"
90756
90757	// ReportStatusTypeImpaired is a ReportStatusType enum value
90758	ReportStatusTypeImpaired = "impaired"
90759)
90760
90761const (
90762	// ReservationStatePaymentPending is a ReservationState enum value
90763	ReservationStatePaymentPending = "payment-pending"
90764
90765	// ReservationStatePaymentFailed is a ReservationState enum value
90766	ReservationStatePaymentFailed = "payment-failed"
90767
90768	// ReservationStateActive is a ReservationState enum value
90769	ReservationStateActive = "active"
90770
90771	// ReservationStateRetired is a ReservationState enum value
90772	ReservationStateRetired = "retired"
90773)
90774
90775const (
90776	// ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
90777	ReservedInstanceStatePaymentPending = "payment-pending"
90778
90779	// ReservedInstanceStateActive is a ReservedInstanceState enum value
90780	ReservedInstanceStateActive = "active"
90781
90782	// ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
90783	ReservedInstanceStatePaymentFailed = "payment-failed"
90784
90785	// ReservedInstanceStateRetired is a ReservedInstanceState enum value
90786	ReservedInstanceStateRetired = "retired"
90787)
90788
90789const (
90790	// ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
90791	ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
90792)
90793
90794const (
90795	// ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
90796	ResetImageAttributeNameLaunchPermission = "launchPermission"
90797)
90798
90799const (
90800	// ResourceTypeClientVpnEndpoint is a ResourceType enum value
90801	ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
90802
90803	// ResourceTypeCustomerGateway is a ResourceType enum value
90804	ResourceTypeCustomerGateway = "customer-gateway"
90805
90806	// ResourceTypeDedicatedHost is a ResourceType enum value
90807	ResourceTypeDedicatedHost = "dedicated-host"
90808
90809	// ResourceTypeDhcpOptions is a ResourceType enum value
90810	ResourceTypeDhcpOptions = "dhcp-options"
90811
90812	// ResourceTypeElasticIp is a ResourceType enum value
90813	ResourceTypeElasticIp = "elastic-ip"
90814
90815	// ResourceTypeFleet is a ResourceType enum value
90816	ResourceTypeFleet = "fleet"
90817
90818	// ResourceTypeFpgaImage is a ResourceType enum value
90819	ResourceTypeFpgaImage = "fpga-image"
90820
90821	// ResourceTypeHostReservation is a ResourceType enum value
90822	ResourceTypeHostReservation = "host-reservation"
90823
90824	// ResourceTypeImage is a ResourceType enum value
90825	ResourceTypeImage = "image"
90826
90827	// ResourceTypeInstance is a ResourceType enum value
90828	ResourceTypeInstance = "instance"
90829
90830	// ResourceTypeInternetGateway is a ResourceType enum value
90831	ResourceTypeInternetGateway = "internet-gateway"
90832
90833	// ResourceTypeLaunchTemplate is a ResourceType enum value
90834	ResourceTypeLaunchTemplate = "launch-template"
90835
90836	// ResourceTypeNatgateway is a ResourceType enum value
90837	ResourceTypeNatgateway = "natgateway"
90838
90839	// ResourceTypeNetworkAcl is a ResourceType enum value
90840	ResourceTypeNetworkAcl = "network-acl"
90841
90842	// ResourceTypeNetworkInterface is a ResourceType enum value
90843	ResourceTypeNetworkInterface = "network-interface"
90844
90845	// ResourceTypeReservedInstances is a ResourceType enum value
90846	ResourceTypeReservedInstances = "reserved-instances"
90847
90848	// ResourceTypeRouteTable is a ResourceType enum value
90849	ResourceTypeRouteTable = "route-table"
90850
90851	// ResourceTypeSecurityGroup is a ResourceType enum value
90852	ResourceTypeSecurityGroup = "security-group"
90853
90854	// ResourceTypeSnapshot is a ResourceType enum value
90855	ResourceTypeSnapshot = "snapshot"
90856
90857	// ResourceTypeSpotInstancesRequest is a ResourceType enum value
90858	ResourceTypeSpotInstancesRequest = "spot-instances-request"
90859
90860	// ResourceTypeSubnet is a ResourceType enum value
90861	ResourceTypeSubnet = "subnet"
90862
90863	// ResourceTypeTransitGateway is a ResourceType enum value
90864	ResourceTypeTransitGateway = "transit-gateway"
90865
90866	// ResourceTypeTransitGatewayAttachment is a ResourceType enum value
90867	ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
90868
90869	// ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
90870	ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
90871
90872	// ResourceTypeVolume is a ResourceType enum value
90873	ResourceTypeVolume = "volume"
90874
90875	// ResourceTypeVpc is a ResourceType enum value
90876	ResourceTypeVpc = "vpc"
90877
90878	// ResourceTypeVpcPeeringConnection is a ResourceType enum value
90879	ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
90880
90881	// ResourceTypeVpnConnection is a ResourceType enum value
90882	ResourceTypeVpnConnection = "vpn-connection"
90883
90884	// ResourceTypeVpnGateway is a ResourceType enum value
90885	ResourceTypeVpnGateway = "vpn-gateway"
90886)
90887
90888const (
90889	// RouteOriginCreateRouteTable is a RouteOrigin enum value
90890	RouteOriginCreateRouteTable = "CreateRouteTable"
90891
90892	// RouteOriginCreateRoute is a RouteOrigin enum value
90893	RouteOriginCreateRoute = "CreateRoute"
90894
90895	// RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
90896	RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
90897)
90898
90899const (
90900	// RouteStateActive is a RouteState enum value
90901	RouteStateActive = "active"
90902
90903	// RouteStateBlackhole is a RouteState enum value
90904	RouteStateBlackhole = "blackhole"
90905)
90906
90907const (
90908	// RuleActionAllow is a RuleAction enum value
90909	RuleActionAllow = "allow"
90910
90911	// RuleActionDeny is a RuleAction enum value
90912	RuleActionDeny = "deny"
90913)
90914
90915const (
90916	// ServiceStatePending is a ServiceState enum value
90917	ServiceStatePending = "Pending"
90918
90919	// ServiceStateAvailable is a ServiceState enum value
90920	ServiceStateAvailable = "Available"
90921
90922	// ServiceStateDeleting is a ServiceState enum value
90923	ServiceStateDeleting = "Deleting"
90924
90925	// ServiceStateDeleted is a ServiceState enum value
90926	ServiceStateDeleted = "Deleted"
90927
90928	// ServiceStateFailed is a ServiceState enum value
90929	ServiceStateFailed = "Failed"
90930)
90931
90932const (
90933	// ServiceTypeInterface is a ServiceType enum value
90934	ServiceTypeInterface = "Interface"
90935
90936	// ServiceTypeGateway is a ServiceType enum value
90937	ServiceTypeGateway = "Gateway"
90938)
90939
90940const (
90941	// ShutdownBehaviorStop is a ShutdownBehavior enum value
90942	ShutdownBehaviorStop = "stop"
90943
90944	// ShutdownBehaviorTerminate is a ShutdownBehavior enum value
90945	ShutdownBehaviorTerminate = "terminate"
90946)
90947
90948const (
90949	// SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
90950	SnapshotAttributeNameProductCodes = "productCodes"
90951
90952	// SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
90953	SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
90954)
90955
90956const (
90957	// SnapshotStatePending is a SnapshotState enum value
90958	SnapshotStatePending = "pending"
90959
90960	// SnapshotStateCompleted is a SnapshotState enum value
90961	SnapshotStateCompleted = "completed"
90962
90963	// SnapshotStateError is a SnapshotState enum value
90964	SnapshotStateError = "error"
90965)
90966
90967const (
90968	// SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
90969	SpotAllocationStrategyLowestPrice = "lowest-price"
90970
90971	// SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
90972	SpotAllocationStrategyDiversified = "diversified"
90973)
90974
90975const (
90976	// SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
90977	SpotInstanceInterruptionBehaviorHibernate = "hibernate"
90978
90979	// SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
90980	SpotInstanceInterruptionBehaviorStop = "stop"
90981
90982	// SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
90983	SpotInstanceInterruptionBehaviorTerminate = "terminate"
90984)
90985
90986const (
90987	// SpotInstanceStateOpen is a SpotInstanceState enum value
90988	SpotInstanceStateOpen = "open"
90989
90990	// SpotInstanceStateActive is a SpotInstanceState enum value
90991	SpotInstanceStateActive = "active"
90992
90993	// SpotInstanceStateClosed is a SpotInstanceState enum value
90994	SpotInstanceStateClosed = "closed"
90995
90996	// SpotInstanceStateCancelled is a SpotInstanceState enum value
90997	SpotInstanceStateCancelled = "cancelled"
90998
90999	// SpotInstanceStateFailed is a SpotInstanceState enum value
91000	SpotInstanceStateFailed = "failed"
91001)
91002
91003const (
91004	// SpotInstanceTypeOneTime is a SpotInstanceType enum value
91005	SpotInstanceTypeOneTime = "one-time"
91006
91007	// SpotInstanceTypePersistent is a SpotInstanceType enum value
91008	SpotInstanceTypePersistent = "persistent"
91009)
91010
91011const (
91012	// StatePendingAcceptance is a State enum value
91013	StatePendingAcceptance = "PendingAcceptance"
91014
91015	// StatePending is a State enum value
91016	StatePending = "Pending"
91017
91018	// StateAvailable is a State enum value
91019	StateAvailable = "Available"
91020
91021	// StateDeleting is a State enum value
91022	StateDeleting = "Deleting"
91023
91024	// StateDeleted is a State enum value
91025	StateDeleted = "Deleted"
91026
91027	// StateRejected is a State enum value
91028	StateRejected = "Rejected"
91029
91030	// StateFailed is a State enum value
91031	StateFailed = "Failed"
91032
91033	// StateExpired is a State enum value
91034	StateExpired = "Expired"
91035)
91036
91037const (
91038	// StatusMoveInProgress is a Status enum value
91039	StatusMoveInProgress = "MoveInProgress"
91040
91041	// StatusInVpc is a Status enum value
91042	StatusInVpc = "InVpc"
91043
91044	// StatusInClassic is a Status enum value
91045	StatusInClassic = "InClassic"
91046)
91047
91048const (
91049	// StatusNameReachability is a StatusName enum value
91050	StatusNameReachability = "reachability"
91051)
91052
91053const (
91054	// StatusTypePassed is a StatusType enum value
91055	StatusTypePassed = "passed"
91056
91057	// StatusTypeFailed is a StatusType enum value
91058	StatusTypeFailed = "failed"
91059
91060	// StatusTypeInsufficientData is a StatusType enum value
91061	StatusTypeInsufficientData = "insufficient-data"
91062
91063	// StatusTypeInitializing is a StatusType enum value
91064	StatusTypeInitializing = "initializing"
91065)
91066
91067const (
91068	// SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
91069	SubnetCidrBlockStateCodeAssociating = "associating"
91070
91071	// SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
91072	SubnetCidrBlockStateCodeAssociated = "associated"
91073
91074	// SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
91075	SubnetCidrBlockStateCodeDisassociating = "disassociating"
91076
91077	// SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
91078	SubnetCidrBlockStateCodeDisassociated = "disassociated"
91079
91080	// SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
91081	SubnetCidrBlockStateCodeFailing = "failing"
91082
91083	// SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
91084	SubnetCidrBlockStateCodeFailed = "failed"
91085)
91086
91087const (
91088	// SubnetStatePending is a SubnetState enum value
91089	SubnetStatePending = "pending"
91090
91091	// SubnetStateAvailable is a SubnetState enum value
91092	SubnetStateAvailable = "available"
91093)
91094
91095const (
91096	// SummaryStatusOk is a SummaryStatus enum value
91097	SummaryStatusOk = "ok"
91098
91099	// SummaryStatusImpaired is a SummaryStatus enum value
91100	SummaryStatusImpaired = "impaired"
91101
91102	// SummaryStatusInsufficientData is a SummaryStatus enum value
91103	SummaryStatusInsufficientData = "insufficient-data"
91104
91105	// SummaryStatusNotApplicable is a SummaryStatus enum value
91106	SummaryStatusNotApplicable = "not-applicable"
91107
91108	// SummaryStatusInitializing is a SummaryStatus enum value
91109	SummaryStatusInitializing = "initializing"
91110)
91111
91112const (
91113	// TelemetryStatusUp is a TelemetryStatus enum value
91114	TelemetryStatusUp = "UP"
91115
91116	// TelemetryStatusDown is a TelemetryStatus enum value
91117	TelemetryStatusDown = "DOWN"
91118)
91119
91120const (
91121	// TenancyDefault is a Tenancy enum value
91122	TenancyDefault = "default"
91123
91124	// TenancyDedicated is a Tenancy enum value
91125	TenancyDedicated = "dedicated"
91126
91127	// TenancyHost is a Tenancy enum value
91128	TenancyHost = "host"
91129)
91130
91131const (
91132	// TrafficTypeAccept is a TrafficType enum value
91133	TrafficTypeAccept = "ACCEPT"
91134
91135	// TrafficTypeReject is a TrafficType enum value
91136	TrafficTypeReject = "REJECT"
91137
91138	// TrafficTypeAll is a TrafficType enum value
91139	TrafficTypeAll = "ALL"
91140)
91141
91142const (
91143	// TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
91144	TransitGatewayAssociationStateAssociating = "associating"
91145
91146	// TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
91147	TransitGatewayAssociationStateAssociated = "associated"
91148
91149	// TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
91150	TransitGatewayAssociationStateDisassociating = "disassociating"
91151
91152	// TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
91153	TransitGatewayAssociationStateDisassociated = "disassociated"
91154)
91155
91156const (
91157	// TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
91158	TransitGatewayAttachmentResourceTypeVpc = "vpc"
91159
91160	// TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
91161	TransitGatewayAttachmentResourceTypeVpn = "vpn"
91162)
91163
91164const (
91165	// TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
91166	TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
91167
91168	// TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
91169	TransitGatewayAttachmentStateRollingBack = "rollingBack"
91170
91171	// TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
91172	TransitGatewayAttachmentStatePending = "pending"
91173
91174	// TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
91175	TransitGatewayAttachmentStateAvailable = "available"
91176
91177	// TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
91178	TransitGatewayAttachmentStateModifying = "modifying"
91179
91180	// TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
91181	TransitGatewayAttachmentStateDeleting = "deleting"
91182
91183	// TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
91184	TransitGatewayAttachmentStateDeleted = "deleted"
91185
91186	// TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
91187	TransitGatewayAttachmentStateFailed = "failed"
91188
91189	// TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
91190	TransitGatewayAttachmentStateRejected = "rejected"
91191
91192	// TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
91193	TransitGatewayAttachmentStateRejecting = "rejecting"
91194
91195	// TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
91196	TransitGatewayAttachmentStateFailing = "failing"
91197)
91198
91199const (
91200	// TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
91201	TransitGatewayPropagationStateEnabling = "enabling"
91202
91203	// TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
91204	TransitGatewayPropagationStateEnabled = "enabled"
91205
91206	// TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
91207	TransitGatewayPropagationStateDisabling = "disabling"
91208
91209	// TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
91210	TransitGatewayPropagationStateDisabled = "disabled"
91211)
91212
91213const (
91214	// TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
91215	TransitGatewayRouteStatePending = "pending"
91216
91217	// TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
91218	TransitGatewayRouteStateActive = "active"
91219
91220	// TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
91221	TransitGatewayRouteStateBlackhole = "blackhole"
91222
91223	// TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
91224	TransitGatewayRouteStateDeleting = "deleting"
91225
91226	// TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
91227	TransitGatewayRouteStateDeleted = "deleted"
91228)
91229
91230const (
91231	// TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
91232	TransitGatewayRouteTableStatePending = "pending"
91233
91234	// TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
91235	TransitGatewayRouteTableStateAvailable = "available"
91236
91237	// TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
91238	TransitGatewayRouteTableStateDeleting = "deleting"
91239
91240	// TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
91241	TransitGatewayRouteTableStateDeleted = "deleted"
91242)
91243
91244const (
91245	// TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
91246	TransitGatewayRouteTypeStatic = "static"
91247
91248	// TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
91249	TransitGatewayRouteTypePropagated = "propagated"
91250)
91251
91252const (
91253	// TransitGatewayStatePending is a TransitGatewayState enum value
91254	TransitGatewayStatePending = "pending"
91255
91256	// TransitGatewayStateAvailable is a TransitGatewayState enum value
91257	TransitGatewayStateAvailable = "available"
91258
91259	// TransitGatewayStateModifying is a TransitGatewayState enum value
91260	TransitGatewayStateModifying = "modifying"
91261
91262	// TransitGatewayStateDeleting is a TransitGatewayState enum value
91263	TransitGatewayStateDeleting = "deleting"
91264
91265	// TransitGatewayStateDeleted is a TransitGatewayState enum value
91266	TransitGatewayStateDeleted = "deleted"
91267)
91268
91269const (
91270	// TransportProtocolTcp is a TransportProtocol enum value
91271	TransportProtocolTcp = "tcp"
91272
91273	// TransportProtocolUdp is a TransportProtocol enum value
91274	TransportProtocolUdp = "udp"
91275)
91276
91277const (
91278	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
91279	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
91280
91281	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
91282	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
91283
91284	// UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
91285	UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
91286
91287	// UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
91288	UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
91289)
91290
91291const (
91292	// VirtualizationTypeHvm is a VirtualizationType enum value
91293	VirtualizationTypeHvm = "hvm"
91294
91295	// VirtualizationTypeParavirtual is a VirtualizationType enum value
91296	VirtualizationTypeParavirtual = "paravirtual"
91297)
91298
91299const (
91300	// VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
91301	VolumeAttachmentStateAttaching = "attaching"
91302
91303	// VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
91304	VolumeAttachmentStateAttached = "attached"
91305
91306	// VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
91307	VolumeAttachmentStateDetaching = "detaching"
91308
91309	// VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
91310	VolumeAttachmentStateDetached = "detached"
91311
91312	// VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
91313	VolumeAttachmentStateBusy = "busy"
91314)
91315
91316const (
91317	// VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
91318	VolumeAttributeNameAutoEnableIo = "autoEnableIO"
91319
91320	// VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
91321	VolumeAttributeNameProductCodes = "productCodes"
91322)
91323
91324const (
91325	// VolumeModificationStateModifying is a VolumeModificationState enum value
91326	VolumeModificationStateModifying = "modifying"
91327
91328	// VolumeModificationStateOptimizing is a VolumeModificationState enum value
91329	VolumeModificationStateOptimizing = "optimizing"
91330
91331	// VolumeModificationStateCompleted is a VolumeModificationState enum value
91332	VolumeModificationStateCompleted = "completed"
91333
91334	// VolumeModificationStateFailed is a VolumeModificationState enum value
91335	VolumeModificationStateFailed = "failed"
91336)
91337
91338const (
91339	// VolumeStateCreating is a VolumeState enum value
91340	VolumeStateCreating = "creating"
91341
91342	// VolumeStateAvailable is a VolumeState enum value
91343	VolumeStateAvailable = "available"
91344
91345	// VolumeStateInUse is a VolumeState enum value
91346	VolumeStateInUse = "in-use"
91347
91348	// VolumeStateDeleting is a VolumeState enum value
91349	VolumeStateDeleting = "deleting"
91350
91351	// VolumeStateDeleted is a VolumeState enum value
91352	VolumeStateDeleted = "deleted"
91353
91354	// VolumeStateError is a VolumeState enum value
91355	VolumeStateError = "error"
91356)
91357
91358const (
91359	// VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
91360	VolumeStatusInfoStatusOk = "ok"
91361
91362	// VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
91363	VolumeStatusInfoStatusImpaired = "impaired"
91364
91365	// VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
91366	VolumeStatusInfoStatusInsufficientData = "insufficient-data"
91367)
91368
91369const (
91370	// VolumeStatusNameIoEnabled is a VolumeStatusName enum value
91371	VolumeStatusNameIoEnabled = "io-enabled"
91372
91373	// VolumeStatusNameIoPerformance is a VolumeStatusName enum value
91374	VolumeStatusNameIoPerformance = "io-performance"
91375)
91376
91377const (
91378	// VolumeTypeStandard is a VolumeType enum value
91379	VolumeTypeStandard = "standard"
91380
91381	// VolumeTypeIo1 is a VolumeType enum value
91382	VolumeTypeIo1 = "io1"
91383
91384	// VolumeTypeGp2 is a VolumeType enum value
91385	VolumeTypeGp2 = "gp2"
91386
91387	// VolumeTypeSc1 is a VolumeType enum value
91388	VolumeTypeSc1 = "sc1"
91389
91390	// VolumeTypeSt1 is a VolumeType enum value
91391	VolumeTypeSt1 = "st1"
91392)
91393
91394const (
91395	// VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
91396	VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
91397
91398	// VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
91399	VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
91400)
91401
91402const (
91403	// VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
91404	VpcCidrBlockStateCodeAssociating = "associating"
91405
91406	// VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
91407	VpcCidrBlockStateCodeAssociated = "associated"
91408
91409	// VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
91410	VpcCidrBlockStateCodeDisassociating = "disassociating"
91411
91412	// VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
91413	VpcCidrBlockStateCodeDisassociated = "disassociated"
91414
91415	// VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
91416	VpcCidrBlockStateCodeFailing = "failing"
91417
91418	// VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
91419	VpcCidrBlockStateCodeFailed = "failed"
91420)
91421
91422const (
91423	// VpcEndpointTypeInterface is a VpcEndpointType enum value
91424	VpcEndpointTypeInterface = "Interface"
91425
91426	// VpcEndpointTypeGateway is a VpcEndpointType enum value
91427	VpcEndpointTypeGateway = "Gateway"
91428)
91429
91430const (
91431	// VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
91432	VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
91433
91434	// VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
91435	VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
91436
91437	// VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
91438	VpcPeeringConnectionStateReasonCodeActive = "active"
91439
91440	// VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
91441	VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
91442
91443	// VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
91444	VpcPeeringConnectionStateReasonCodeRejected = "rejected"
91445
91446	// VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
91447	VpcPeeringConnectionStateReasonCodeFailed = "failed"
91448
91449	// VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
91450	VpcPeeringConnectionStateReasonCodeExpired = "expired"
91451
91452	// VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
91453	VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
91454
91455	// VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
91456	VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
91457)
91458
91459const (
91460	// VpcStatePending is a VpcState enum value
91461	VpcStatePending = "pending"
91462
91463	// VpcStateAvailable is a VpcState enum value
91464	VpcStateAvailable = "available"
91465)
91466
91467const (
91468	// VpcTenancyDefault is a VpcTenancy enum value
91469	VpcTenancyDefault = "default"
91470)
91471
91472const (
91473	// VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
91474	VpnEcmpSupportValueEnable = "enable"
91475
91476	// VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
91477	VpnEcmpSupportValueDisable = "disable"
91478)
91479
91480const (
91481	// VpnProtocolOpenvpn is a VpnProtocol enum value
91482	VpnProtocolOpenvpn = "openvpn"
91483)
91484
91485const (
91486	// VpnStatePending is a VpnState enum value
91487	VpnStatePending = "pending"
91488
91489	// VpnStateAvailable is a VpnState enum value
91490	VpnStateAvailable = "available"
91491
91492	// VpnStateDeleting is a VpnState enum value
91493	VpnStateDeleting = "deleting"
91494
91495	// VpnStateDeleted is a VpnState enum value
91496	VpnStateDeleted = "deleted"
91497)
91498
91499const (
91500	// VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
91501	VpnStaticRouteSourceStatic = "Static"
91502)
91503
91504const (
91505	// ScopeAvailabilityZone is a scope enum value
91506	ScopeAvailabilityZone = "Availability Zone"
91507
91508	// ScopeRegion is a scope enum value
91509	ScopeRegion = "Region"
91510)
91511